[erro] comando sem efeito!
#1

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? '-'
Reply
#2

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)
Reply
#3

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!
Reply
#4

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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)