SA-MP Forums Archive
Авторизация - 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: Авторизация (/showthread.php?tid=313456)



Авторизация - Gettopro - 26.01.2012

Извиняюсь.
Хочу создать команду, при вводе которой игрок перемещался в виртуальный мир.
Например, ввел "/dt 12", он ушел в 12-й виртуальный мир.
Пытался сделать, реагирует просто на /dt, но если указать dt, то не знает такой команды
PHP код:
if (strcmp(cmdtext"/dt"true) == 0)
    {
        
tmp strtok(cmdtextidx);
        if(!
strlen(tmp)) return SendClientMessage(playeridCOLOR_WHITE"/dt [id_dt]");
        new 
dt strval(tmp);
        
SetPlayerVirtualWorld(playeriddt);
        if(
dt 100 || dt 0) return SendClientMessage(playerid,COLOR_WHITE,"Нельзя больше 100 и меньше 0!");
        
format(stringsizeof(string), "Ваш виртульный мир изменен на %d."dt);
        
SendClientMessage(playerid,COLOR_GREENstring);
    return 
1;
    } 
Плиз) Помогите начинающему скриптеру


Re: Авторизация - js - 26.01.2012

Quote:

SetPlayerVirtualWorld(playerid, dt);

поставь ниже проверки if(dt > 100...)


Re: Авторизация - Ru-user - 26.01.2012

strcmp(cmdtext, "/dt", true) - тут вместо cmdtext нужно cmd


pawn Код:
if (strcmp(cmd, "/dt", true) == 0)
{
    tmp = strtok(cmdtext, idx);

    if (!strlen(tmp))
        return SendClientMessage(playerid, COLOR_WHITE, "/dt [id_dt]");

    new dt = strval(tmp);

    if (dt > 100 || dt < 0)
        return SendClientMessage(playerid,COLOR_WHITE,"Нельзя больше 100 и меньше 0!");

    SetPlayerVirtualWorld(playerid, dt);
    format(string, sizeof(string), "Ваш виртульный мир изменен на %d.", dt);
    SendClientMessage(playerid,COLOR_GREEN, string);

    return 1;
}



Re: Авторизация - xJester - 26.01.2012

Тогда и:
PHP код:
if ( dt 100 



Re: Авторизация - _TeraN_ - 27.01.2012

Код:
SetPlayerVirtualWorld(playerid, dt); 
if(dt > 100 || dt < 0) return SendClientMessage(playerid,COLOR_WHITE,"Нельзя больше 100 и меньше 0!");
Почему условие выполняется после действия?


Re: Авторизация - _TeraN_ - 27.01.2012

Извини. Не заметил, что уже написали по-этому поводу.


Re: Авторизация - Mr.Brooks - 28.01.2012

Quote:
Originally Posted by Ru-user
Посмотреть сообщение
strcmp(cmdtext, "/dt", true) - тут вместо cmdtext нужно cmd


pawn Код:
if (strcmp(cmd, "/dt", true) == 0)
{
    tmp = strtok(cmdtext, idx);

    if (!strlen(tmp))
        return SendClientMessage(playerid, COLOR_WHITE, "/dt [id_dt]");

    new dt = strval(tmp);

    if (dt > 100 || dt < 0)
        return SendClientMessage(playerid,COLOR_WHITE,"Нельзя больше 100 и меньше 0!");

    SetPlayerVirtualWorld(playerid, dt);
    format(string, sizeof(string), "Ваш виртульный мир изменен на %d.", dt);
    SendClientMessage(playerid,COLOR_GREEN, string);

    return 1;
}
лол что? не неси чушь , один хер


Re: Авторизация - DiSE - 28.01.2012

CMD:dt(playerid,params[]){
new id,string[50];
if(sscanf(params,"i",dt)) return SendClientMessage(playerid,-1,"/dt [id]");
if(dt > 100 || dt < 0) return SendClientMessage(playerid,-1,"Нельзя больше 100 и меньше 0!");
SetPlayerVirtualWorld(playerid, dt);
format(string, sizeof(string), "Ваш виртульный мир изменен на %d.", dt);
SendClientMessage(playerid,COLOR_GREEN, string);
return 1;
}