SA-MP Forums Archive
[erro] comando sem efeito! - 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: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [erro] comando sem efeito! (/showthread.php?tid=207788)



[erro] comando sem efeito! - syslogg - 07.01.2011

e ae galera. tava testando, modifiquei um bagulho no teleporte, ae o comando ta sem efeito!!
codigo:
pawn Код:
if(!strcmp("/ddc1", cmdtext, true) == 0)
        {
        if(IsPlayerInAnyVehicle(playerid))
        {
            new ddc1tele;
            ddc1tele = GetPlayerVehicleID(playerid);
            SetVehiclePos(ddc1tele, -294.2373,1536.7737,75.5625);
            new teleddc1[MAX_PLAYER_NAME], string[150];
            GetPlayerName(playerid, teleddc1, sizeof(teleddc1));
            format(string, sizeof(string), "[INFO] O Player %s foi para DDC-1 (/ddc1)",teleddc1);
            SendClientMessageToAll(Verde, string);
        }
        else
        {
            SetPlayerPos(playerid, -294.2373,1536.7737,75.5625);
            new teleddc2[MAX_PLAYER_NAME], string[150];
            GetPlayerName(playerid, teleddc2, sizeof(teleddc2));
            format(string, sizeof(string), "[INFO] O Player %s foi para DDC-1 (/ddc1)",teleddc2);
            SendClientMessageToAll(Verde, string);
        }
        return 1;
        }
        //ddc2
        if(!strcmp("/ddc2", cmdtext, true) == 0)
        {
        if(IsPlayerInAnyVehicle(playerid))
        {
        if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 562)
        {
        new ddc2tele;
        ddc2tele = GetPlayerVehicleID(playerid);
        SetVehiclePos(ddc2tele, 2291.7197,1392.2921,42.8203);
        new teleddc2[MAX_PLAYER_NAME], string[150];
        GetPlayerName(playerid, teleddc2, sizeof(teleddc2));
        format(string, sizeof(string), "[INFO] O Player %s foi para DDC-2 (/ddc2)",teleddc2);
        SendClientMessageToAll(Verde, string);
        }
        else
        {
        SetPlayerPos(playerid, 2291.7197,1392.2921,42.8203);
        new teleddc2[MAX_PLAYER_NAME], string[150];
        GetPlayerName(playerid, teleddc2, sizeof(teleddc2));
        format(string, sizeof(string), "[INFO] O Player %s foi para DDC-2 (/ddc2)",teleddc2);
        SendClientMessageToAll(Verde, string);
        }
        }
        else
        {
        SetPlayerPos(playerid, 2291.7197,1392.2921,42.8203);
        new teleddc2[MAX_PLAYER_NAME], string[150];
        GetPlayerName(playerid, teleddc2, sizeof(teleddc2));
        format(string, sizeof(string), "[INFO] O Player %s foi para DDC-2 (/ddc2)",teleddc2);
        SendClientMessageToAll(Verde, string);
        }
        return 1;
        }
nao ta funfando!!!, obrigado!!

aaa so uma pergunta, eu queria saber a diferenзa, q nos comandos reparei q se usa varios diferentes

como
if(!strcmp("/ddc2", cmdtext, true)) e if(!strcmp("/ddc2", cmdtext, true) == 0)
if(strcmp("/ddc2", cmdtext, true)) e if(strcmp("/ddc2", cmdtext, true) == 0)

intao qual a diferenзa entre cada um? '-'


Re: [erro] comando sem efeito! - Gustavob - 07.01.2011

pawn Код:
if(!strcmp("/ddc1", cmdtext, true))
        {
        if(IsPlayerInAnyVehicle(playerid))
        {
            new ddc1tele;
            ddc1tele = GetPlayerVehicleID(playerid);
            SetVehiclePos(ddc1tele, -294.2373,1536.7737,75.5625);
            new teleddc1[MAX_PLAYER_NAME], string[150];
            GetPlayerName(playerid, teleddc1, sizeof(teleddc1));
            format(string, sizeof(string), "[INFO] O Player %s foi para DDC-1 (/ddc1)",teleddc1);
            SendClientMessageToAll(Verde, string);
        }
        else
        {
            SetPlayerPos(playerid, -294.2373,1536.7737,75.5625);
            new teleddc2[MAX_PLAYER_NAME], string[150];
            GetPlayerName(playerid, teleddc2, sizeof(teleddc2));
            format(string, sizeof(string), "[INFO] O Player %s foi para DDC-1 (/ddc1)",teleddc2);
            SendClientMessageToAll(Verde, string);
        }
        return 1;
        }
        //ddc2
        if(!strcmp("/ddc2", cmdtext, true))
        {
        if(IsPlayerInAnyVehicle(playerid))
        {
        if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 562)
        {
        new ddc2tele;
        ddc2tele = GetPlayerVehicleID(playerid);
        SetVehiclePos(ddc2tele, 2291.7197,1392.2921,42.8203);
        new teleddc2[MAX_PLAYER_NAME], string[150];
        GetPlayerName(playerid, teleddc2, sizeof(teleddc2));
        format(string, sizeof(string), "[INFO] O Player %s foi para DDC-2 (/ddc2)",teleddc2);
        SendClientMessageToAll(Verde, string);
        }
        else
        {
        SetPlayerPos(playerid, 2291.7197,1392.2921,42.8203);
        new teleddc2[MAX_PLAYER_NAME], string[150];
        GetPlayerName(playerid, teleddc2, sizeof(teleddc2));
        format(string, sizeof(string), "[INFO] O Player %s foi para DDC-2 (/ddc2)",teleddc2);
        SendClientMessageToAll(Verde, string);
        }
        }
        else
        {
        SetPlayerPos(playerid, 2291.7197,1392.2921,42.8203);
        new teleddc2[MAX_PLAYER_NAME], string[150];
        GetPlayerName(playerid, teleddc2, sizeof(teleddc2));
        format(string, sizeof(string), "[INFO] O Player %s foi para DDC-2 (/ddc2)",teleddc2);
        SendClientMessageToAll(Verde, string);
        }
        return 1;
        }
o problema era que vocк estava fazendo if(!strcmp(blablabla) == 0)), ou vocк usa if(!strcmp(blablabla)) ou if(strcmp(blablabla) == 0).

Quote:
Originally Posted by syslogg
Посмотреть сообщение
if(!strcmp("/ddc2", cmdtext, true)) e if(!strcmp("/ddc2", cmdtext, true) == 0)
if(strcmp("/ddc2", cmdtext, true)) e if(strcmp("/ddc2", cmdtext, true) == 0)

qual a diferenзa entre cada um? '-'
Nгo diferenзa entre

pawn Код:
if(!strcmp(blablabla))
e
if(strcmp(blablabla) == 0);
Eles significam a mesma coisa, acontece que strcmp retorna a quantidade de caracteres diferentes entre as strings, e como colocar um ! й a mesma coisa que checar se a funзгo retorna 0, nгo tem diferenзa.

pawn Код:
if(strcmp(blablabla))
isso^ checa se a quantidade de caracteres diferentes entre as strings й 1 (creio eu), portanto isso dб na mesma que

pawn Код:
if(!strcmp(blablabla) == 0)



Re: [erro] comando sem efeito! - syslogg - 07.01.2011

Quote:
Originally Posted by Gustavob
Посмотреть сообщение
pawn Код:
if(!strcmp("/ddc1", cmdtext, true))
        {
        if(IsPlayerInAnyVehicle(playerid))
        {
            new ddc1tele;
            ddc1tele = GetPlayerVehicleID(playerid);
            SetVehiclePos(ddc1tele, -294.2373,1536.7737,75.5625);
            new teleddc1[MAX_PLAYER_NAME], string[150];
            GetPlayerName(playerid, teleddc1, sizeof(teleddc1));
            format(string, sizeof(string), "[INFO] O Player %s foi para DDC-1 (/ddc1)",teleddc1);
            SendClientMessageToAll(Verde, string);
        }
        else
        {
            SetPlayerPos(playerid, -294.2373,1536.7737,75.5625);
            new teleddc2[MAX_PLAYER_NAME], string[150];
            GetPlayerName(playerid, teleddc2, sizeof(teleddc2));
            format(string, sizeof(string), "[INFO] O Player %s foi para DDC-1 (/ddc1)",teleddc2);
            SendClientMessageToAll(Verde, string);
        }
        return 1;
        }
        //ddc2
        if(!strcmp("/ddc2", cmdtext, true))
        {
        if(IsPlayerInAnyVehicle(playerid))
        {
        if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 562)
        {
        new ddc2tele;
        ddc2tele = GetPlayerVehicleID(playerid);
        SetVehiclePos(ddc2tele, 2291.7197,1392.2921,42.8203);
        new teleddc2[MAX_PLAYER_NAME], string[150];
        GetPlayerName(playerid, teleddc2, sizeof(teleddc2));
        format(string, sizeof(string), "[INFO] O Player %s foi para DDC-2 (/ddc2)",teleddc2);
        SendClientMessageToAll(Verde, string);
        }
        else
        {
        SetPlayerPos(playerid, 2291.7197,1392.2921,42.8203);
        new teleddc2[MAX_PLAYER_NAME], string[150];
        GetPlayerName(playerid, teleddc2, sizeof(teleddc2));
        format(string, sizeof(string), "[INFO] O Player %s foi para DDC-2 (/ddc2)",teleddc2);
        SendClientMessageToAll(Verde, string);
        }
        }
        else
        {
        SetPlayerPos(playerid, 2291.7197,1392.2921,42.8203);
        new teleddc2[MAX_PLAYER_NAME], string[150];
        GetPlayerName(playerid, teleddc2, sizeof(teleddc2));
        format(string, sizeof(string), "[INFO] O Player %s foi para DDC-2 (/ddc2)",teleddc2);
        SendClientMessageToAll(Verde, string);
        }
        return 1;
        }
o problema era que vocк estava fazendo if(!strcmp(blablabla) == 0)), ou vocк usa if(!strcmp(blablabla)) ou if(strcmp(blablabla) == 0).



Nгo diferenзa entre

pawn Код:
if(!strcmp(blablabla))
e
if(strcmp(blablabla) == 0);
Eles significam a mesma coisa, acontece que strcmp retorna a quantidade de caracteres diferentes entre as strings, e como colocar um ! й a mesma coisa que checar se a funзгo retorna 0, nгo tem diferenзa.

pawn Код:
if(strcmp(blablabla))
isso^ checa se a quantidade de caracteres diferentes entre as strings й 1 (creio eu), portanto isso dб na mesma que

pawn Код:
if(!strcmp(blablabla) == 0)
intao eu tenho q usar somente um para todos os comandos? reparei tbm q no meu gm os comando tao em conflito, eu nao estou usanndo nem um fs!


Re: [erro] comando sem efeito! - Gustavob - 07.01.2011

para os comandos use

pawn Код:
if(!strcmp(cmdtext, "/comando", true))
{
    bla bla bla
}

OU

if(strcmp(cmdtext, "/comando", true) == 0)
{
    bla bla bla
}

//sim vocк pode usar o primeiro para alguns comandos e o segundo para outros mas nгo misture os dois em um comando sу :S