Question

Столкнулся с проблемой при создании команды setcmd.

Работает только на себя, когда ввожу другие айди показывает на меня.

Мод взял Аризона РП

Спойлер

SetCmdSettings(playerid)

{

new ban1[40],kick[40],banoff[40],makeadmin[40],setadmin[40],makeleader[40],setstat[40],setadminoff[40],addbiz[40],changebiz[40],givemoney[40],warn[40],warnoff[40],cfgstring[1400];
    
    if(PlayerInfo[playerid][pBan1] < 1) ban1 = "{9ACD32}[Не выдано]";
    else ban1 = "{FF6347}[Выдано]";
    
    if(PlayerInfo[playerid][pKick] < 1) kick = "{9ACD32}[Не выдано]";
    else kick = "{FF6347}[Выдано]";
    
    if(PlayerInfo[playerid][pBanoff] < 1) banoff = "{9ACD32}[Не выдано]";
    else banoff = "{FF6347}[Выдано]";
    
    if(PlayerInfo[playerid][pMakeadmin] < 1) makeadmin = "{9ACD32}[Не выдано]";
    else makeadmin = "{FF6347}[Выдано]";
    
    if(PlayerInfo[playerid][pSetadmin] < 1) setadmin = "{9ACD32}[Не выдано]";
    else setadmin = "{FF6347}[Выдано]";
    
    if(PlayerInfo[playerid][pMakeleader] < 1) makeleader = "{9ACD32}[Не выдано]";
    else makeleader = "{FF6347}[Выдано]";
    
    if(PlayerInfo[playerid][pSetstat] < 1) setstat = "{9ACD32}[Не выдано]";
    else setstat = "{FF6347}[Выдано]";
    
    if(PlayerInfo[playerid][pSetadminoff] < 1) setadminoff = "{9ACD32}[Не выдано]";
    else setadminoff = "{FF6347}[Выдано]";
    
    if(PlayerInfo[playerid][pAddbiz] < 1) addbiz = "{9ACD32}[Не выдано]";
    else addbiz = "{FF6347}[Выдано]";
    
    if(PlayerInfo[playerid][pChangebiz] < 1) changebiz = "{9ACD32}[Не выдано]";
    else changebiz = "{FF6347}[Выдано]";
    
    if(PlayerInfo[playerid][pGivemoney] < 1) givemoney = "{9ACD32}[Не выдано]";
    else givemoney = "{FF6347}[Выдано]";
    
    if(PlayerInfo[playerid][pWarn] < 1) warn = "{9ACD32}[Не выдано]";
    else warn = "{FF6347}[Выдано]";
    
    if(PlayerInfo[playerid][pWarnoff] < 1) warnoff = "{9ACD32}[Не выдано]";
    else warnoff = "{FF6347}[Выдано]";

    format(cfgstring,sizeof(cfgstring),"\
    {AFAFAF}/ban:\t%s\n\
    {AFAFAF}/kick:\t%s\n\
    {AFAFAF}/banoff:\t%s\n\
    {AFAFAF}/makeadmin:\t%s\n\
    {AFAFAF}/setadmin:\t%s\n\
    {AFAFAF}/makeleader:\t%s\n\
    {AFAFAF}/setstat:\t%s\n\
    {AFAFAF}/setadminoff:\t%s\n\
    {AFAFAF}/addbiz:\t\t\t%s\n\
    {AFAFAF}/changebiz:\t\t%s\n\
    {AFAFAF}/givemoney:\t\t%s\n\
    {AFAFAF}/warn:\t\t\t%s\n\
    {AFAFAF}/warnoff:\t\t%s",ban1,kick,banoff,makeadmin,setadmin,makeleader,setstat,setadminoff,addbiz,changebiz,givemoney,warn,warnoff);
    return ShowPlayerDialogEx(playerid,15444,2,"Выберите пункт ",cfgstring,"Выбор","Отмена");
}

 

Спойлер

case 15444:
        {
            if(response)
            {
                switch(listitem)
                {
                case 0:
                    {
                        if(PlayerInfo[playerid][pBan1]>0)
                        {
                            PlayerInfo[playerid][pBan1]=0;
                            UpdatePlayerData(playerid, "Ban1", PlayerInfo[playerid][pBan1]);
                        }
                        else
                        {
                            PlayerInfo[playerid][pBan1]=1;
                            UpdatePlayerData(playerid, "Ban1", PlayerInfo[playerid][pBan1]);
                        }
                        SetCmdSettings(playerid);
                    }
                case 1:
                    {
                        if(PlayerInfo[playerid][pKick]>0)
                        {
                            PlayerInfo[playerid][pKick]=0;
                            UpdatePlayerData(playerid, "Kick", PlayerInfo[playerid][pKick]);
                        }
                        else
                        {
                            PlayerInfo[playerid][pKick]=1;
                            UpdatePlayerData(playerid, "Kick", PlayerInfo[playerid][pKick]);
                        }
                        SetCmdSettings(playerid);
                    }
                case 2:
                    {
                        if(PlayerInfo[playerid][pBanoff]>0)
                        {
                            PlayerInfo[playerid][pBanoff]=0;
                            UpdatePlayerData(playerid, "Banoff", PlayerInfo[playerid][pBanoff]);
                        }
                        else
                        {
                            PlayerInfo[playerid][pBanoff]=1;
                            UpdatePlayerData(playerid, "Banoff", PlayerInfo[playerid][pBanoff]);
                        }
                        SetCmdSettings(playerid);
                    }
                 case 3:
                    {
                        if(PlayerInfo[playerid][pMakeadmin]>0)
                        {
                            PlayerInfo[playerid][pMakeadmin]=0;
                            UpdatePlayerData(playerid, "Makeadmin", PlayerInfo[playerid][pMakeadmin]);
                        }
                        else
                        {
                            PlayerInfo[playerid][pMakeadmin]=1;
                            UpdatePlayerData(playerid, "Makeadmin", PlayerInfo[playerid][pMakeadmin]);
                        }
                        SetCmdSettings(playerid);
                    }
                case 4:
                    {
                        if(PlayerInfo[playerid][pSetadmin]>0)
                        {
                            PlayerInfo[playerid][pSetadmin]=0;
                            UpdatePlayerData(playerid, "Setadmin", PlayerInfo[playerid][pSetadmin]);
                        }
                        else
                        {
                            PlayerInfo[playerid][pSetadmin]=1;
                            UpdatePlayerData(playerid, "Setadmin", PlayerInfo[playerid][pSetadmin]);
                        }
                        SetCmdSettings(playerid);
                    }
                 case 5:
                    {
                        if(PlayerInfo[playerid][pMakeleader]>0)
                        {
                            PlayerInfo[playerid][pMakeleader]=0;
                            UpdatePlayerData(playerid, "Makeleader", PlayerInfo[playerid][pMakeleader]);
                        }
                        else
                        {
                            PlayerInfo[playerid][pMakeleader]=1;
                            UpdatePlayerData(playerid, "Makeleader", PlayerInfo[playerid][pMakeleader]);
                        }
                        SetCmdSettings(playerid);
                    }
                 case 6:
                    {
                        if(PlayerInfo[playerid][pSetstat]>0)
                        {
                            PlayerInfo[playerid][pSetstat]=0;
                            UpdatePlayerData(playerid, "Setstat", PlayerInfo[playerid][pSetstat]);
                        }
                        else
                        {
                            PlayerInfo[playerid][pSetstat]=1;
                            UpdatePlayerData(playerid, "Setstat", PlayerInfo[playerid][pSetstat]);
                        }
                        SetCmdSettings(playerid);
                    }
                case 7:
                    {
                        if(PlayerInfo[playerid][pSetadminoff]>0)
                        {
                            PlayerInfo[playerid][pSetadminoff]=0;
                            UpdatePlayerData(playerid, "Setadminoff", PlayerInfo[playerid][pSetadminoff]);
                        }
                        else
                        {
                            PlayerInfo[playerid][pSetadminoff]=1;
                            UpdatePlayerData(playerid, "Setadminoff", PlayerInfo[playerid][pSetadminoff]);
                        }
                        SetCmdSettings(playerid);
                    }
                 case 8:
                    {
                        if(PlayerInfo[playerid][pAddbiz]>0)
                        {
                            PlayerInfo[playerid][pAddbiz]=0;
                            UpdatePlayerData(playerid, "Addbiz", PlayerInfo[playerid][pAddbiz]);
                        }
                        else
                        {
                            PlayerInfo[playerid][pAddbiz]=1;
                            UpdatePlayerData(playerid, "Addbiz", PlayerInfo[playerid][pAddbiz]);
                        }
                        SetCmdSettings(playerid);
                    }
                 case 9:
                    {
                        if(PlayerInfo[playerid][pChangebiz]>0)
                        {
                            PlayerInfo[playerid][pChangebiz]=0;
                            UpdatePlayerData(playerid, "Changebiz", PlayerInfo[playerid][pChangebiz]);
                        }
                        else
                        {
                            PlayerInfo[playerid][pChangebiz]=1;
                            UpdatePlayerData(playerid, "Changebiz", PlayerInfo[playerid][pChangebiz]);
                        }
                        SetCmdSettings(playerid);
                    }
                 case 10:
                    {
                        if(PlayerInfo[playerid][pGivemoney]>0)
                        {
                            PlayerInfo[playerid][pGivemoney]=0;
                            UpdatePlayerData(playerid, "Givemoney", PlayerInfo[playerid][pGivemoney]);
                        }
                        else
                        {
                            PlayerInfo[playerid][pGivemoney]=1;
                            UpdatePlayerData(playerid, "Givemoney", PlayerInfo[playerid][pGivemoney]);
                        }
                        SetCmdSettings(playerid);
                    }
                 case 11:
                    {
                        if(PlayerInfo[playerid][pWarn]>0)
                        {
                            PlayerInfo[playerid][pWarn]=0;
                            UpdatePlayerData(playerid, "Warn", PlayerInfo[playerid][pWarn]);
                        }
                        else
                        {
                            PlayerInfo[playerid][pWarn]=1;
                            UpdatePlayerData(playerid, "Warn", PlayerInfo[playerid][pWarn]);
                        }
                        SetCmdSettings(playerid);
                    }
                 case 12:
                    {
                        if(PlayerInfo[playerid][pWarnoff]>0)
                        {
                            PlayerInfo[playerid][pWarnoff]=0;
                            UpdatePlayerData(playerid, "Warnoff", PlayerInfo[playerid][pWarnoff]);
                        }
                        else
                        {
                            PlayerInfo[playerid][pWarnoff]=1;
                            UpdatePlayerData(playerid, "Warnoff", PlayerInfo[playerid][pWarnoff]);
                        }
                        SetCmdSettings(playerid);
                    }
                }
            }
        }

 

Спойлер

CMD:setcmd(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] < 9) return false;
    if(sscanf(params,"u", params[0])) return SendClientMessage(playerid, COLOR_RED, !"[Îøèáêà]{FFFFFF} /setcmd [id]");
    if(!IsPlayerLogged[params[0]])return false;
    SetPVarInt(playerid,"CmdsID",params[0]);
    SetCmdSettings(playerid);
    return true;
}

 

 

Edited by odosenok

Заметка от Cawfee , создано

Пожалуйста, ознакомьтесь с информацией о том, как правильно публиковать код на форуме.

Share this post


Link to post

5 answers to this question

  • 0

@loakiaww как раз таки там, где вы заменили и не нужно было, а вот в остальных местах - да. 

5 часов назад, loakiaww сказал:

PlayerInfo[playerid][pBan1]

 

5 часов назад, loakiaww сказал:

PlayerInfo[playerid][pKick]

и т.д. 

И внутри диалога это я имел ввиду второй код, который вы скинули 

В 08.04.2020 в 11:03, loakiaww сказал:

case 15444:         {             if(response)             {                 switch(listitem)

 

Share this post


Link to post
  • 0

@loakiaww в SetCmdSettings и диалоге везде замените playerid на GetPVarInt(playerid, "CmdsID")

Share this post


Link to post
  • 0
Спойлер

SetCmdSettings(playerid)
{
	new ban1[40],kick[40],banoff[40],makeadmin[40],setadmin[40],makeleader[40],setstat[40],setadminoff[40],addbiz[40],changebiz[40],givemoney[40],warn[40],warnoff[40],cfgstring[1400];
	
	if(PlayerInfo[playerid][pBan1] < 1) ban1 = "{9ACD32}[Íå âûäàíî]";
	else ban1 = "{FF6347}[Âûäàíî]";
	
	if(PlayerInfo[playerid][pKick] < 1) kick = "{9ACD32}[Íå âûäàíî]";
	else kick = "{FF6347}[Âûäàíî]";
	
	if(PlayerInfo[playerid][pBanoff] < 1) banoff = "{9ACD32}[Íå âûäàíî]";
    else banoff = "{FF6347}[Âûäàíî]";
    
	if(PlayerInfo[playerid][pMakeadmin] < 1) makeadmin = "{9ACD32}[Íå âûäàíî]";
    else makeadmin = "{FF6347}[Âûäàíî]";
    
	if(PlayerInfo[playerid][pSetadmin] < 1) setadmin = "{9ACD32}[Íå âûäàíî]";
	else setadmin = "{FF6347}[Âûäàíî]";
	
	if(PlayerInfo[playerid][pMakeleader] < 1) makeleader = "{9ACD32}[Íå âûäàíî]";
    else makeleader = "{FF6347}[Âûäàíî]";
    
    if(PlayerInfo[playerid][pSetstat] < 1) setstat = "{9ACD32}[Íå âûäàíî]";
    else setstat = "{FF6347}[Âûäàíî]";
    
    if(PlayerInfo[playerid][pSetadminoff] < 1) setadminoff = "{9ACD32}[Íå âûäàíî]";
    else setadminoff = "{FF6347}[Âûäàíî]";
    
    if(PlayerInfo[playerid][pAddbiz] < 1) addbiz = "{9ACD32}[Íå âûäàíî]";
    else addbiz = "{FF6347}[Âûäàíî]";
    
    if(PlayerInfo[playerid][pChangebiz] < 1) changebiz = "{9ACD32}[Íå âûäàíî]";
    else changebiz = "{FF6347}[Âûäàíî]";
    
    if(PlayerInfo[playerid][pGivemoney] < 1) givemoney = "{9ACD32}[Íå âûäàíî]";
    else givemoney = "{FF6347}[Âûäàíî]";
    
    if(PlayerInfo[playerid][pWarn] < 1) warn = "{9ACD32}[Íå âûäàíî]";
    else warn = "{FF6347}[Âûäàíî]";
    
    if(PlayerInfo[playerid][pWarnoff] < 1) warnoff = "{9ACD32}[Íå âûäàíî]";
    else warnoff = "{FF6347}[Âûäàíî]";

	format(cfgstring,sizeof(cfgstring),"\
	{AFAFAF}/ban:\t%s\n\
	{AFAFAF}/kick:\t%s\n\
	{AFAFAF}/banoff:\t%s\n\
	{AFAFAF}/makeadmin:\t%s\n\
	{AFAFAF}/setadmin:\t%s\n\
	{AFAFAF}/makeleader:\t%s\n\
	{AFAFAF}/setstat:\t%s\n\
	{AFAFAF}/setadminoff:\t%s\n\
	{AFAFAF}/addbiz:\t\t\t%s\n\
	{AFAFAF}/changebiz:\t\t%s\n\
	{AFAFAF}/givemoney:\t\t%s\n\
	{AFAFAF}/warn:\t\t\t%s\n\
	{AFAFAF}/warnoff:\t\t%s",ban1,kick,banoff,makeadmin,setadmin,makeleader,setstat,setadminoff,addbiz,changebiz,givemoney,warn,warnoff);
	return ShowPlayerDialogEx(GetPVarInt(playerid, "CmdsID"),15444,2,"Âûáåðèòå ïóíêò",cfgstring,"Âûáîð","Îòìåíà");
}

Все равно также, изменил вроде правильно.

 

 

Edited by loakiaww

Share this post


Link to post
  • 0
3 часа назад, DEST сказал:

@loakiaww как раз таки там, где вы заменили и не нужно было, а вот в остальных местах - да. 

 

и т.д. 

И внутри диалога это я имел ввиду второй код, который вы скинули 

 

Все равно очень туплю. Недавно в павно, до сих пор не понял, что куда :(

Share this post


Link to post
  • 0

Сделал, спасибо. Закрыто

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Ruman
      By Ruman
      Приветствую! У меня вопрос, связанный с загрузкой игрового аккаунта, просто я делаю регистрацию свою по уроку но в этом уроке функции MySQL из версии R39. Естественно при нажатии F5 выдаёт это:
      D:\Users\Ruman\Desktop\Time RP\gamemodes\project.pwn(1373) : error 017: undefined symbol "cache_get_field_content_int" D:\Users\Ruman\Desktop\Time RP\gamemodes\project.pwn(1374) : error 017: undefined symbol "cache_get_field_content_int" Код:
      forward LoadAcc(playerid); public LoadAcc(playerid) {     player_info[playerid][ID] = cache_get_field_content_int(0, "id", dbHandle);     player_info[playerid][LEVEL] = cache_get_field_content_int(0, "level", dbHandle); } Просто мне нужна другая версия данной функции под R40.
       
      Спасибо тем, что всегда рад помочь! 
       
      P.S Просто с MySQL я вообще в целом не знаком, поэтому так много вопросов.