Вопрос по /offmembers
#1

Здраствуйте я задался вопросом как мне можно сделать offmembers по клику сама команда у меня есть.
Вот что я бы хотел сделать когда я нажимаю на ник игрока мне выскакует сообщение повысить понизить уволить
Вот команда:
PHP код:
CMD:offmembers(playeridparams[])
{
    if(
PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid, -1"Ошибка вы не лидер фракции");
    
format(CMDstrsizeof(CMDstr), "SELECT * FROM `accounts` WHERE `Member` = '%d'",PlayerInfo[playerid][pMember], "d",playerid);
    
mysql_query(CMDstr);
    
mysql_store_result();
    if(
mysql_fetch_row_format(CMDstr))
    {
        new 
Names[MAX_PLAYER_NAME];
        new 
vresult[64];
        new 
sctring[5000];
        new 
ttextt[32];
        new 
rankk[40];
        new 
rank;
        while(
mysql_next_row())
        {
               
BaseGet("Name"Names);
               
BaseGet("Rank",vresult); rank strval(vresult);
               switch(
rank)
              {
                case 
1:rankk "[1]";
                case 
2:rankk "[2]";
                case 
3:rankk "[3]";
                case 
4:rankk "[4]";
                case 
5:rankk "[5]";
                case 
6:rankk "[6]";
                case 
7:rankk "[7]";
                case 
8:rankk "[8]";
                case 
9:rankk "[9]";
                case 
10:rankk "[10]";
                case 
11:rankk "[11]";
                case 
12:rankk "[12]";
                case 
13:rankk "[13]";
                case 
14:rankk "[14]";
                case 
15:rankk "[15]";
                case 
16:rankk "[16]";
            }
            if(
IsPlayerConnected(GetPlayerID(Names))) { ttextt "{2CE40C}Онлайн{FFFFFF}"; }
            else if(!
IsPlayerConnected(GetPlayerID(Names))) { ttextt "{E40C0C}Оффлайн{FFFFFF}"; }
            
format(CMDstr,sizeof(CMDstr),"{FFFFFF}%s %s - ранг (%s)\n",Names,rankk,ttextt); strcat(sctring,CMDstr);
        }
        
ShowPlayerDialogFix(playerid,585,DIALOG_STYLE_LIST,"Члены организации:\t",sctring,"Уволить","Отмена");
    }
    else 
SendClientMessage(playerid0xFF0000AA"Данные не найдены.");
       
mysql_free_result();
    return 
true;

Очень прошу помочь
Reply
#2

Quote:
Originally Posted by vitalik6243
Посмотреть сообщение
Вот что я бы хотел сделать когда я нажимаю на ник игрока мне выскакует сообщение повысить понизить уволить
PHP код:
public OnPlayerClickPlayer(playeridclickedplayeridsource)
{
    
SendClientMessage(playerid, -1"повысить понизить уволить");
    return 
1;

Reply
#3

Quote:
Originally Posted by XemyL
Посмотреть сообщение
PHP код:
public OnPlayerClickPlayer(playeridclickedplayeridsource)
{
    
SendClientMessage(playerid, -1"повысить понизить уволить");
    return 
1;

Не то -((( у меня команда /offmembers я нажмиаю на ник игрока который в offline и там чтоб можно было увал и так далее такую функцию я видел на SVL не реклама
Reply
#4

Quote:
Originally Posted by vitalik6243
Посмотреть сообщение
ShowPlayerDialogFix(playerid,585,DIALOG_STYLE_LIST ,"Члены организации:\t",sctring,"Уволить","Отмена");[/PHP]
Ну ладно, если по серьёзному, то в диалоге 585 при нажатии левой кнопки, сделай так чтобы игрока не увольняло, а выходил LIST диалог "Повысить\nПонизить\nУволить" и в том диалоге уже в зависимости от того что выбрали выполнять какое-либо действие.
Готовый код тебе писать не буду, я не заинтересован в разработке твоего мода.
Reply
#5

Quote:
Originally Posted by XemyL
Посмотреть сообщение
Ну ладно, если по серьёзному, то в диалоге 585 при нажатии левой кнопки, сделай так чтобы игрока не увольняло, а выходил LIST диалог "Повысить\nПонизить\nУволить" и в том диалоге уже в зависимости от того что выбрали выполнять какое-либо действие.
Готовый код тебе писать не буду, я не заинтересован в разработке твоего мода.
Многое пробовал даже пробовал чтобы при нажатии на игрока просто можно было уволить но получается такая вот проблема ник игрока не из чего взять например на mysql r6
Я брал в кейс
PHP код:
format(CMDstrsizeof(CMDstr), "UPDATE accounts SET Member = '0',Rank = '0',OnlFrak = '0' WHERE name = '%s'",Что писать тут?);
    
mysql_query(CMDstr); 
Как сделать проверку на ник name на который я нажал
Reply
#6

Quote:
Originally Posted by vitalik6243
Посмотреть сообщение
Как сделать проверку на ник name на который я нажал
inputtext несёт в себе текст строки на которую ты нажал. До первого пробела - ник игрока. Но такой способ не всегда безопасный. Для безопасности можно контролировать каждую строку массивами и по listitem определять, но это в разы больше кода.
Reply
#7

PHP код:
CMD:offmembers(playeridparams[])
{
    if(
PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid, -1"Ошибка вы не лидер фракции");
    
format(CMDstrsizeof(CMDstr), "SELECT * FROM `accounts` WHERE `Member` = '%d'",PlayerInfo[playerid][pMember], "d",playerid);
    
mysql_query(CMDstr);
    
mysql_store_result();
    if(
mysql_fetch_row_format(CMDstr))
    {
        new 
Names[MAX_PLAYER_NAME],vresult[64],sctring[5000],ttextt[32],rankk[40],rank;
        while(
mysql_next_row())
        {
               
BaseGet("Rank",vresult); rank strval(vresult);
               
BaseGet("Name"Names);
               switch(
rank)
              {
                case 
1:rankk "[1]";
                case 
2:rankk "[2]";
                case 
3:rankk "[3]";
                case 
4:rankk "[4]";
                case 
5:rankk "[5]";
                case 
6:rankk "[6]";
                case 
7:rankk "[7]";
                case 
8:rankk "[8]";
                case 
9:rankk "[9]";
                case 
10:rankk "[10]";
                case 
11:rankk "[11]";
                case 
12:rankk "[12]";
                case 
13:rankk "[13]";
                case 
14:rankk "[14]";
                case 
15:rankk "[15]";
                case 
16:rankk "[16]";
            }
            if(
IsPlayerConnected(GetPlayerID(Names))) { ttextt "{2CE40C}Онлайн{FFFFFF}"; }
            else if(!
IsPlayerConnected(GetPlayerID(Names))) { ttextt "{E40C0C}Оффлайн{FFFFFF}"; }
            
format(CMDstr,sizeof(CMDstr),"{FFFFFF}%s %s - ранг (%s)\n",Names,rankk,ttextt); strcat(sctring,CMDstr);
        }
        
ShowPlayerDialogFix(playerid,585,DIALOG_STYLE_LIST,"Члены организации:\t",sctring,"Уволить","Отмена");
    }
    else 
SendClientMessage(playerid0xFF0000AA"Данные не найдены.");
       
mysql_free_result();
    return 
true;

PHP код:
case 585:
        {
            if(
response)
            {
                   
format(stringsizeof(string), "UPDATE accounts SET Member = '0',Rank = '0',OnlFrak = '0' WHERE name = '%s'",inputtext);
                
mysql_query(string);
                
format(stringsizeof(string), "Вы уволили игрока %s из своей организации"inputtext);
                   
SendClientMessage(playeridCOLOR_WHITEstring);
            }
            else return 
1;
        } 
Вот так не чего не вышло =(
Reply
#8

запрос неправильный
Reply
#9

Quote:
Originally Posted by Jon_De
Посмотреть сообщение
запрос неправильный
Я то это понимаю поэтому и обратился сюда чтобы помогли
Reply
#10

UPDATE `accounts` SET `Member` = 0, `Rank` = 0, `OnlFrak` = 0 WHERE `name` = '%s' LIMIT 1
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)