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

    • Antoxa39
      By Antoxa39
      Дратути) Я хочу поделится с новичками одной штучкой,с помощью которой можно сделать спидометр.
       
      Объявляем глобальные переменные.
      new Text:speedtest; В public OnPlayerConnect добавляем следующее.
      speedtest = TextDrawCreate(506.599884, 394.742156, "500 KM/H");// создаем текстдрав при подключении игрока (он не будет отображатся) В конце мода создаем новую функцию.
      forward getsp(playerid); public getsp(playerid) {     new Float:cord[3];     GetVehicleVelocity(GetPlayerVehicleID(playerid),cord[0], cord[1], cord[2]);     new Float:veloc = floatsqroot(floatpower(floatabs(cord[0]), 2.0) + floatpower(floatabs(cord[1]), 2.0) + floatpower(floatabs(cord[2]), 2.0)) * 181.3;     new str[25];     format(str,sizeof(str),"KM/H %d",floatround(veloc));     TextDrawSetString(speedtest,str);     return 1; } Переходим в OnPlayerStateChange и добавляем следующее.
      if(newstate == PLAYER_STATE_DRIVER) {     TextDrawShowForPlayer(playerid,speedtest);     SetTimerEx("getsp", 1, true, "%f", playerid); } if(newstate == PLAYER_STATE_ONFOOT) {     TextDrawHideForPlayer(playerid,speedtest); } ВСЁ!) Мы создали спидометр. Удачи вам в скриптинге!)
    • R0m4ik
      By R0m4ik
      Всем привет, возникла маленькая проблема я хочу сделать команду /fakecmd(написать команду от другого игрока)
      У меня уже есть исходник данный команды осталось знать.
      На что надо заменить это?
      zcmd_OnPlayerCommandText(targetid, params);