SA-MP Forums Archive
Помогите с /ban по дням - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Помогите с /ban по дням (/showthread.php?tid=355002)



Помогите с /ban по дням - Kirill_Walker - 28.06.2012

Вот у меня есть команда бан по дням как сделать чтобы можно было писать причину и она выводилась в чат, а то как-то без причины не очень(нуб в павно)
PHP код:
 if(strcmp(cmd"/ban"true) == 0)    
    {    
           
tmp strtok(cmdtextidx);    
           if(!
strlen(tmp))    
           {    
            
SendClientMessage(playeridCOLOR_GRAD2"Используйте: /ban [ID] [Количество дней]");    
            return 
1;    
           }    
           new 
giveplayerid strval(tmp);    
           
tmp strtok(cmdtextidx);    
           if(!
strlen(tmp))    
           {    
            
SendClientMessage(playeridCOLOR_GRAD2"Используйте: /ban [ID] [Количество дней]");    
            return 
1;    
           }    
           new 
days strval(tmp);    
           if (
PlayerInfo[playerid][pAdmin] >= 1)    
           {    
               if(
IsPlayerConnected(giveplayerid))    
               {    
                          new 
curdate getdate();    
                   
GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));    
            
GetPlayerName(playeridsendernamesizeof(sendername));    
            
format(stringsizeof(string), "Администратор %s забанил %s на %d дней."sendernamegiveplayer,days);    
            
SendClientMessageToAll(COLOR_LIGHTREDstring);    
            
PlayerInfo[giveplayerid][pBan] = 1;    
            
PlayerInfo[giveplayerid][pBanTime] = curdate+days;    
            
PlayerInfo[giveplayerid][pBanData] = curdate;    
                          
Kick(giveplayerid);    
               }    
           }    
           return 
1;    
    } 



Re: Помогите с /ban по дням - Stepashka - 28.06.2012

А эту команду ты как написал?


Re: Помогите с /ban по дням - Kirill_Walker - 28.06.2012

Я ее нашел, а вот в pawno еще нуб.


Re: Помогите с /ban по дням - Stepashka - 28.06.2012

Quote:
Originally Posted by Kirill_Walker
Посмотреть сообщение
Я ее нашел, а вот в pawno еще нуб.
Ну тогда вперед грызть гранить науки!
https://sampwiki.blast.hk/wiki/Category:..._Documentation


Re: Помогите с /ban по дням - OKStyle - 24.07.2012

pawn Код:
if(strcmp(cmd, "/ban", true) == 0)    
{
    if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GRAD2, "Для использования этой команды Вы должны иметь уровень администрирования.");
    tmp = strtok(cmdtext, idx);    
    if(strlen(tmp) < 1) return SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /ban [ID] [Количество дней] {причина}");
    new giveplayerid = strval(tmp);
    if(IsPlayerConnected(giveplayerid) || giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GRAD2, "Вы указали неверный ID игрока.");
    tmp = strtok(cmdtext, idx);
    if(strlen(tmp) < 1) return SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /ban [ID] [Количество дней] {причина}");
    new days = strval(tmp);
    tmp = strtok(cmdtext, idx);
    new reason[64];
    reason = tmp;
    new curdate = getdate();
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(strlen(reason) < 1) format(string, sizeof(string), "Администратор %s забанил %s на %d дней.", sendername, giveplayer, days);
    else format(string, sizeof(string), "Администратор %s забанил %s на %d дней. Причина: %s", sendername, giveplayer, days, reason);
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    PlayerInfo[giveplayerid][pBan] = 1;
    PlayerInfo[giveplayerid][pBanTime] = curdate+days;
    PlayerInfo[giveplayerid][pBanData] = curdate;
    Kick(giveplayerid);
    return 1;
}
Рекомендую перепродумать систему, в уроке, из которого Вы это взяли - много лишнего.