44 posts in this topic

не работает оффбан и бан. Хотя бан по ип работает и iban - бан навсегда тоже.

Спойлер

CMD:ban(playerid,params[])
{
    AdminCommand(3);
    new nsa[120];
    if(sscanf(params,"ids[60]",params[0], params[1], params[2])) return SCM(playerid, COLOR_GREY, "Используйте: /ban [id] [дни] [причина]");
    if(params[1] < 1 || params[1] > 30) return SCM(playerid, COLOR_GREY, "Нельзя меньше 1 и больше 30!");
    GetPlayerName(params[0], gp, sizeof(gp));
    new ip[16];
    GetPlayerIp(params[0], ip, sizeof(ip));
    GetPlayerName(playerid, sn, sizeof(sn));
    com
    format(nsa,128,"Администратор %s[%d] заблокировал аккаунт %s на %d дней. Причина: %s",sn, playerid, gp, params[1],params[2]);
    SCMToAll(COLOR_LIGHTRED,nsa);
    new Hour, Minute, Second,Year, Month, Day;
    getdate(Year, Month, Day), gettime(Hour, Minute, Second);
    new slip[16];
    GetPlayerIp(params[0], slip, sizeof(slip));
    format(nsa, sizeof(nsa), "[A] [IP: %s] REG-IP: [%s]",slip, info[params[0]][pRegIP]);
    SCM(playerid, COLOR_LIGHTRED,nsa);
    new unbandate = gettime() + params[2]*86400;
    new data[16];
    format(data, 16, "%02d.%02d.%02d",Day,Month,Year);
    format(query, sizeof(query), "INSERT INTO `banlist` (`Name`, `Date`, `Unbandata`, `Reason`) VALUE ('%s', '%s', '%i', '%s')",gp,data,unbandate,params[2]);
    mysql_query(query);
    Kicked(params[0]);
    ainfo[playerid][aBan] ++;
    return 1;
}
CMD:offban(playerid, params[])
{
    AdminCommand(4);
    new nick,result[128],ip[16],data[16];
    if(sscanf(params, "s[32]s[60]", nick,result)) return SCM(playerid, COLOR_GREY, "Èñïîëüçóéòå: /offban [nick_name] [ïðè÷èíà]");
    format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%s'", nick);
    mysql_query(query);
    mysql_store_result();
    if(!mysql_fetch_row_format(query)) return SCM(playerid, -1, "Äàííûé àêêàóíò íå íàéäåí â áàçå äàííûõ!");
    format(query, sizeof(query), "SELECT * FROM `banlist` WHERE `Name` = '%s'", nick);
    mysql_query(query);
    mysql_store_result();
    if(mysql_fetch_row_format(query) == 1) return SCM(playerid, -1, "Äàííûé àêêàóíò óæå íàõîäèòñÿ â áàíëèñòå!");
    GetPlayerName(nick, gp, sizeof(gp));
    GetPlayerIp(nick, ip, sizeof(ip));
    GetPlayerName(playerid, sn, sizeof(sn));
     new nsa[128];
    format(nsa,128,"Àäìèíèñòðàòîð %s[%d] çàáëîêèðîâàë àêêàóíò %s . Ïðè÷èíà: %s",sn, playerid, gp,result);
    SCMToAll(COLOR_LIGHTRED,nsa);
    new Hour, Minute, Second,Year, Month, Day;
    getdate(Year, Month, Day), gettime(Hour, Minute, Second);
    new slip[16];
    GetPlayerIp(playerid, slip, sizeof(slip));
    format(nsa, sizeof(nsa), "[IP: %s]",slip);
    SCM(playerid, COLOR_LIGHTRED,nsa);
    new unbandate = gettime() + 31*86400;
    format(data, 16, "%02d.%02d.%02d",Day,Month,Year);
    format(query, sizeof(query), "INSERT INTO `banlist` (`Name`, `Date`, `Unbandata`, `Reason`) VALUE ('%s', '%s', '%i', '%s')",gp,data,unbandate,result);
    mysql_query(query);
    mysql_free_result();
    return 1;
}

 

 

Share this post


Link to post
Share on other sites

Что означает не отображается? При бане игроку не отображается причина, не кикает и т.д, или все это выполняется, или при перезаходе пускает на сервер?

Share this post


Link to post
Share on other sites

при перезаходе пускает на сервер

Share this post


Link to post
Share on other sites
8 минут назад, Pirat сказал:

при перезаходе пускает на сервер

Посмотри mysql_log, может не заносится запись в бд, и скинь проверку на бан.

Share this post


Link to post
Share on other sites

а где проверка на бан?

 

 

mysql log пуст

При оффбане стопается сервер тестил на 2 хостах результат тот же 

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

Объединил сообщения.

Share this post


Link to post
Share on other sites
58 минут назад, Pirat сказал:

mysql log пуст

При оффбане стопается сервер тестил на 2 хостах результат тот же 

Проверка на бан должна быть при коннекте игрока, то есть начинай с OnPlayerConnect и иди дальше по функциям, которые в нем вызывается. Чаще всего называется она "OnCheckPlayerBan" и т.д, что-то таком духе. Скинь код оффбана.

Share this post


Link to post
Share on other sites

@Pirat Посмотри в таблице база данных типо такого -  "bans", есть ли там ник игрока которого вы забанили.

Share this post


Link to post
Share on other sites

паблик онплаерконнект
 

Спойлер

public OnPlayerConnect(playerid)
{
    SetPlayerColor(playerid, 0xFFFFFF22);
    if(rej[playerid] > gettime())
    {
        SCM(playerid, -1, "(Слово удалено системой)! "c_red"Неизвестная ошибка");
        Kicked(playerid);
        return 0;
    }
    GetPlayerName(playerid, info[playerid][pName], MAX_PLAYER_NAME);
    Clear(playerid);
    LoadBanList(playerid);
    LoadBanIpList(playerid);
    rej[playerid] = gettime()+2;
    SetPlayerMapIcon(playerid, 12, 2495.3909,-1691.1396,14.7656, 62, 0, MAPICON_LOCAL); //Иконка Grove
    SetPlayerMapIcon(playerid, 13, 2000.0322, -1114.0546, 16.7380, 59, 0, MAPICON_LOCAL); //Иконка Ballas
    SetPlayerMapIcon(playerid, 14, 2801.9202,-1936.3910,13.5469, 61, 0, MAPICON_LOCAL); //Иконка Rifa
    SetPlayerMapIcon(playerid, 15, 2756.3247, -1182.8079, 16.7380, 60, 0, MAPICON_LOCAL); //Иконка Vagos
    SetPlayerMapIcon(playerid, 16, 2185.8733,-1815.2267,13.5469, 58, 0, MAPICON_LOCAL); //Иконка Aztecas
    //-TextDraw-----------------------------------------------------------------
    capt0[playerid] = TextDrawCreate(129.000000, 218.862899, "usebox");
    TextDrawLetterSize(capt0[playerid], 0.000000, 5.925307);
    TextDrawTextSize(capt0[playerid], 13.666652, 0.000000);
    TextDrawAlignment(capt0[playerid], 1);
    TextDrawColor(capt0[playerid], 0);
    TextDrawUseBox(capt0[playerid], true);
    TextDrawBoxColor(capt0[playerid], 102);
    TextDrawSetShadow(capt0[playerid], 0);
    TextDrawSetOutline(capt0[playerid], 0);
    TextDrawFont(capt0[playerid], 0);

    capt1[playerid] = TextDrawCreate(128.666687, 218.863052, "usebox");
    TextDrawLetterSize(capt1[playerid], 0.000000, 1.083744);
    TextDrawTextSize(capt1[playerid], 13.666645, 0.000000);
    TextDrawAlignment(capt1[playerid], 1);
    TextDrawColor(capt1[playerid], 0);
    TextDrawUseBox(capt1[playerid], true);
    TextDrawBoxColor(capt1[playerid], 102);
    TextDrawSetShadow(capt1[playerid], 0);
    TextDrawSetOutline(capt1[playerid], 0);
    TextDrawFont(capt1[playerid], 0);

    capt2[playerid] = TextDrawCreate(16.333328, 230.477691, "usebox");
    TextDrawLetterSize(capt2[playerid], 0.000000, -0.198973);
    TextDrawTextSize(capt2[playerid], 126.333358, 0.000000);
    TextDrawAlignment(capt2[playerid], 1);
    TextDrawColor(capt2[playerid], 0);
    TextDrawUseBox(capt2[playerid], true);
    TextDrawBoxColor(capt2[playerid], -2139094785);
    TextDrawSetShadow(capt2[playerid], 0);
    TextDrawSetOutline(capt2[playerid], 0);
    TextDrawFont(capt2[playerid], 0);

    capt3[playerid] = TextDrawCreate(38.999950, 216.533325, "CAPTURE");
    TextDrawLetterSize(capt3[playerid], 0.350999, 1.301333);
    TextDrawAlignment(capt3[playerid], 1);
    TextDrawColor(capt3[playerid], 512819199);
    TextDrawUseBox(capt3[playerid], true);
    TextDrawBoxColor(capt3[playerid], 0);
    TextDrawSetShadow(capt3[playerid], 0);
    TextDrawSetOutline(capt3[playerid], 1);
    TextDrawBackgroundColor(capt3[playerid], 51);
    TextDrawFont(capt3[playerid], 2);
    TextDrawSetProportional(capt3[playerid], 1);

    capt4[playerid] = TextDrawCreate(16.999986, 229.807449, "CMDONES");
    TextDrawLetterSize(capt4[playerid], 0.300667, 1.301333);
    TextDrawAlignment(capt4[playerid], 1);
    TextDrawColor(capt4[playerid], -2139062017);
    TextDrawSetShadow(capt4[playerid], 0);
    TextDrawSetOutline(capt4[playerid], 1);
    TextDrawBackgroundColor(capt4[playerid], 255);
    TextDrawFont(capt4[playerid], 2);
    TextDrawSetProportional(capt4[playerid], 1);

    capt5[playerid] = TextDrawCreate(31.666654, 239.933410, "VS");
    TextDrawLetterSize(capt5[playerid], 0.300667, 1.301333);
    TextDrawAlignment(capt5[playerid], 1);
    TextDrawColor(capt5[playerid], -12254977);
    TextDrawSetShadow(capt5[playerid], 0);
    TextDrawSetOutline(capt5[playerid], 1);
    TextDrawBackgroundColor(capt5[playerid], 255);
    TextDrawFont(capt5[playerid], 2);
    TextDrawSetProportional(capt5[playerid], 1);

    capt6[playerid] = TextDrawCreate(16.999984, 249.888885, "CMDONES");
    TextDrawLetterSize(capt6[playerid], 0.300667, 1.301333);
    TextDrawAlignment(capt6[playerid], 1);
    TextDrawColor(capt6[playerid], -2139062017);
    TextDrawSetShadow(capt6[playerid], 0);
    TextDrawSetOutline(capt6[playerid], 1);
    TextDrawBackgroundColor(capt6[playerid], 255);
    TextDrawFont(capt6[playerid], 2);
    TextDrawSetProportional(capt6[playerid], 1);

    capt7[playerid] = TextDrawCreate(16.999982, 261.259338, "TIME:");
    TextDrawLetterSize(capt7[playerid], 0.300667, 1.301333);
    TextDrawAlignment(capt7[playerid], 1);
    TextDrawColor(capt7[playerid], -1378294017);
    TextDrawSetShadow(capt7[playerid], 0);
    TextDrawSetOutline(capt7[playerid], 1);
    TextDrawBackgroundColor(capt7[playerid], 255);
    TextDrawFont(capt7[playerid], 2);
    TextDrawSetProportional(capt7[playerid], 1);

    capt8[playerid] = TextDrawCreate(103.333290, 229.488952, "0");
    TextDrawLetterSize(capt8[playerid], 0.300667, 1.301333);
    TextDrawAlignment(capt8[playerid], 1);
    TextDrawColor(capt8[playerid], -2139062017);
    TextDrawSetShadow(capt8[playerid], 0);
    TextDrawSetOutline(capt8[playerid], 1);
    TextDrawBackgroundColor(capt8[playerid], 255);
    TextDrawFont(capt8[playerid], 2);
    TextDrawSetProportional(capt8[playerid], 1);

    capt9[playerid] = TextDrawCreate(103.333282, 249.155563, "1");
    TextDrawLetterSize(capt9[playerid], 0.300667, 1.301333);
    TextDrawAlignment(capt9[playerid], 1);
    TextDrawColor(capt9[playerid], -2139062017);
    TextDrawSetShadow(capt9[playerid], 0);
    TextDrawSetOutline(capt9[playerid], 1);
    TextDrawBackgroundColor(capt9[playerid], 255);
    TextDrawFont(capt9[playerid], 2);
    TextDrawSetProportional(capt9[playerid], 1);

    capt10 = TextDrawCreate(93.999938, 261.355651, "10:00");
    TextDrawLetterSize(capt10, 0.300667, 1.301333);
    TextDrawAlignment(capt10, 1);
    TextDrawColor(capt10, -1378294017);
    TextDrawSetShadow(capt10, 0);
    TextDrawSetOutline(capt10, 1);
    TextDrawBackgroundColor(capt10, 255);
    TextDrawFont(capt10, 2);
    TextDrawSetProportional(capt10, 1);
    for(new i = 0; i < 100; i++)
    {
        GangZoneShowForPlayer(playerid, GZInfo[gID], GetGangZoneColor(i));
        if(BattleZone == true)
        {
            GangZoneFlashForPlayer(playerid,GZInfo[gID], GetGangZoneColor(GZInfo[gFrak]));
        }
    }
    return 1;
}

offban
CMD:offban(playerid, params[])
{
    AdminCommand(4);
    new nick,result[128],ip[16],data[16];
    if(sscanf(params, "s[32]s[60]", nick,result)) return SCM(playerid, COLOR_GREY, "Èñïîëüçóéòå: /offban [nick_name] [ïðè÷èíà]");
    format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%s'", nick);
    mysql_query(query);
    mysql_store_result();
    if(!mysql_fetch_row_format(query)) return SCM(playerid, -1, "Äàííûé àêêàóíò íå íàéäåí â áàçå äàííûõ!");
    format(query, sizeof(query), "SELECT * FROM `banlist` WHERE `Name` = '%s'", nick);
    mysql_query(query);
    mysql_store_result();
    if(mysql_fetch_row_format(query) == 1) return SCM(playerid, -1, "Äàííûé àêêàóíò óæå íàõîäèòñÿ â áàíëèñòå!");
    GetPlayerName(nick, gp, sizeof(gp));
    GetPlayerIp(nick, ip, sizeof(ip));
    GetPlayerName(playerid, sn, sizeof(sn));
     new nsa[128];
    format(nsa,128,"Àäìèíèñòðàòîð %s[%d] çàáëîêèðîâàë àêêàóíò %s . Ïðè÷èíà: %s",sn, playerid, gp,result);
    SCMToAll(COLOR_LIGHTRED,nsa);
    new Hour, Minute, Second,Year, Month, Day;
    getdate(Year, Month, Day), gettime(Hour, Minute, Second);
    new slip[16];
    GetPlayerIp(playerid, slip, sizeof(slip));
    format(nsa, sizeof(nsa), "[IP: %s]",slip);
    SCM(playerid, COLOR_LIGHTRED,nsa);
    new unbandate = gettime() + 31*86400;
    format(data, 16, "%02d.%02d.%02d",Day,Month,Year);
    format(query, sizeof(query), "INSERT INTO `banlist` (`Name`, `Date`, `Unbandata`, `Reason`) VALUE ('%s', '%s', '%i', '%s')",gp,data,unbandate,result);
    mysql_query(query);
    mysql_free_result();
    return 1;
}

 

 

нету в таблице mysql того кого я забанил

 

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

3.2. Код больше 10 строк брать еще и под спойлер. Как это сделать рассказано в разделе "FAQ"

Устное предупреждение.

Share this post


Link to post
Share on other sites

LoadBanList(playerid)     

LoadBanIpList(playerid)

 

В студию

при выполнении команд "mysql_log" нет? таблица "banlist" есть в базе?

Share this post


Link to post
Share on other sites

@SCRIPTMAN,

LoadBanList(playerid)     

LoadBanIpList(playerid)

 

В студию

Вот это не понял.

Таблица есть

Share this post


Link to post
Share on other sites

@Pirat, вспомните телеперадачу "Поле чудес" с Леонидом Якубовичем. Как он говорил постоянно "В студию", чтобы какой-либо предмет (например, подарок для победителя) вынесли в зал съемок на публику, тем самым продемонстрировали предмет всем. Вот и на форумах так. Частенько можно услышать "в студию", что предполагает необходимость отправить что-либо (в данном случае код функций LoadBanList и LoadBanIpList).

 

Спойлер

Безымянный.png

 

Share this post


Link to post
Share on other sites
Спойлер

stock LoadBanIpList(playerid)
{
    new ip[16], endpos = 0;
    GetPlayerIp(playerid, ip, sizeof(ip));
    format(query, sizeof(query), "SELECT * FROM `baniplist` WHERE `IP` = '%s'", ip);
    mysql_query(query);
    mysql_store_result();
    if(mysql_fetch_row_format(query))
    {
        SCM(playerid, COLOR_LIGHTRED,"Âàø IP çàáëîêèðîâàí!");
        Kicked(playerid);
        return 1;
    }
    mysql_free_result();
    //
    for(new i = 0; i < 2; i++)
    {
        endpos = strfind(ip, ".", true,endpos+1);
    }
    if(endpos != -1) strdel(ip, endpos, sizeof(ip));
    format(query, sizeof(query), "SELECT * FROM `baniplist` WHERE `IP` = '%s'", ip);
    mysql_query(query);
    mysql_store_result();
    if(mysql_fetch_row_format(query))
    {
        SCM(playerid, COLOR_LIGHTRED, "Âàø IP àäðåñ çàáëîêèðîâàí!");
        Kicked(playerid);
        return 1;
    }
    mysql_free_result();
    return 1;
}

 

Спойлер

stock LoadBanList(playerid)
{
    new name[MAX_PLAYER_NAME], unbandate, dates[16],reason[128];
    new str[150],totalstr[600];
    GetPlayerName(playerid, sn, sizeof(sn));
    format(query, sizeof(query), "SELECT * FROM `banlist` WHERE `Name` = '%s'", sn);
    mysql_query(query);
    mysql_store_result();
    if(mysql_fetch_row(query) == 1)
    {
        mysql_fetch_row_format(query, "|");
        sscanf(query, "p<|>s[32]s[16]s[32]s[128]",name,dates,unbandate,reason);
        mysql_free_result();
        if(unbandate > gettime())
        {
            format(str, sizeof(str),"{FF6347}NICK:\t\t\t%s\n",name);
            strcat(totalstr, str);
            format(str, sizeof(str),"Äàòà áàíà:\t\t%s\n",dates);
            strcat(totalstr, str);
            format(str, sizeof(str),"Ïðè÷èíà:\t\t%s",reason);
            strcat(totalstr, str);
            SPD(playerid,0,DIALOG_STYLE_MSGBOX,"Áëîêèðîâêà",totalstr,"Çàêðûòü","");
            Kicked(playerid);
        }
        else
        {
            format(query, sizeof(query), "DELETE FROM `banlist` WHERE `Name` = '%s'",sn);
            mysql_query(query);
            SCM(playerid, COLOR_YELLOW, "Âàø àêêàóíò óñïåøíî {00FF00}ðàçáëîêèðîâàí!{33FFFF} Âû ìîæåòå ïðîäîëæèòü èãðó!");
        }
        mysql_free_result();
    }
    return 1;
}

 

 

Share this post


Link to post
Share on other sites

@Pirat Попробуйте заменить в команде /ban, вот эту строчку на мою. И зайдите в FileZilla, и скиньте нам строки из файла - mysql_log.txt

format(query, sizeof(query), "INSERT INTO `banlist` (`Name`, `Date`, `Unbandata`, `Reason`) VALUES ('%s', '%s', '%i', '%s')",gp,data,unbandate,params[2]);

Edited by Nekit_Krut18
Причина: Подправил.

Share this post


Link to post
Share on other sites

@Nekit_Krut18 А для чего тебе конфигурационный файл сервера понадобился, позволь поинтересоваться? :D

Share this post


Link to post
Share on other sites

@20th century Какой конфигурационные? Логи мускулы.?

Share this post


Link to post
Share on other sites

При вводе команды, говоришь, сервер останавливается? Подключи crashdetect, заново введи команду и покажи логи из файла server_log.txt.

В команде /offban по сути должна быть проверка на нахождение игрока онлайн, и вообще существование вводимого никнейма. У тебя же эта команда идентична с первой, непорядок.

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

Покажи команду /iban если уверен, что она точно работает в отличии от твоих.

Share this post


Link to post
Share on other sites

@Nekit_Krut18, На что заменить? mysql после банов пуст

@20th century, У меня нету крашдетекта. КМД iban идет заспись в табл с аками в раздел iban. Кмд проверил работает отлично. А ban offban нет может и unban тоже

 

Спойлер

CMD:iban(playerid, params[])
{
    AdminCommand(5);
    if(sscanf(params,"is[60]",params[0], params[1]))return SCM(playerid, COLOR_GREY, "Используйте: /iban [id] [причина]");
    GPN
    GGGPN
    new nsa[120];
    format(nsa, sizeof(nsa), "Администратор %s[%d] навсегда заблокировал доступ игроку %s на сервер. Причина: %s", sn, playerid, gp, params[1]);
    SCMToAll(COLOR_LIGHTRED, nsa);
    info[params[0]][pIBAN] = 1;
    new ip[20];
    new n[65];
    GetPlayerIp(params[0], ip, sizeof(ip));
    format(n, sizeof(n), "[A] IP: [%s] REG-IP: [%s]", ip, info[params[0]][pRegIP]);
    SCMA(COLOR_LIGHTRED, n);
    Kicked(params[0]);
    return 1;
}

 

 

Share this post


Link to post
Share on other sites

Так..

В OnGameModeInit:

mysql_log(ALL);

 

Заходишь на сервер, и используешь команду /ban, после выходишь, mysql_log скидываешь нам сюда. И ещё, в таблице вообще появляется аккаунт игрока в списке забаненных или нет?

Share this post


Link to post
Share on other sites

@SCRIPTMAN, я проверял после бана пуст, нету в табл

Share this post


Link to post
Share on other sites

@Pirat включи логирование и сделай что я тебе сказал

Share this post


Link to post
Share on other sites
5 часов назад, SCRIPTMAN сказал:

@Pirat включи логирование и сделай что я тебе сказал

как включить логирование?

Share this post


Link to post
Share on other sites

@Pirat я писал выше. Посмотри.

Share this post


Link to post
Share on other sites

@SCRIPTMAN,

C:\Users\User\Desktop\gamemodes\dm.pwn(386) : error 017: undefined symbol "mysql_log"
Pawn compiler 3.2.3664              Copyright (c) 1997-2016, ITB CompuPhase


1 Error.
Ошибка

 

Share this post


Link to post
Share on other sites

@Pirat Попробуйте - 

mysql_log(LOG_ALL);

 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • 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);