[Ajuda] Comando SetarVeiculo ao servidor...
#1

Boa tarde.
Hoje de tarde eu estava a tentar por meu comando de "SetarVeiculo" de strcmd para ZCMD, porйm nгo obtive sucesso. Dava erros em tmp, cmd, idx, etc...

Alguйm poderia me ajudar? Eu utilizei o conversor feito por rjjj que й funcional somente em alguns comandos ( pelo que eu acho ).

Espero respostas.

Cуdigo;

pawn Код:
if(strcmp(cmd, "/setarveiculo", true) == 0)
    {
        if(IsPlayerAdmin(playerid))
        {
            new veiculo, Float:angle, donoveiculo[256], cor1, cor2;
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, 0xC4C4FFAA, "Uso: /setarveiculo [veнculo/id] [dono do veнculo] [cor1] [cor2]");
                return 1;
            }
            veiculo = strval(tmp);
            if(veiculo == 501 || veiculo == 465 || veiculo == 464 || veiculo == 441 || veiculo == 594 || veiculo == 564 || veiculo == 432 || veiculo == 427 || veiculo == 520 || veiculo == 447 || veiculo == 425)
            {
                SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Veнculo Proibido!");
                return 1;
            }
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, 0xC4C4FFAA, "Uso: /setarveiculo [veнculo/id] [dono] [cor1] [cor2]");
                return 1;
            }
            set(donoveiculo, tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, 0xC4C4FFAA, "Uso: /setarveiculo [veнculo/id] [dono] [cor1] [cor2]");
                return 1;
            }
            cor1 = strval(tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, 0xC4C4FFAA, "Uso: /setarveiculo [veнculo/id] [dono] [cor1] [cor2]");
                return 1;
            }
            cor2 = strval(tmp);
            if(veiculo > 400 && veiculo <= 611)
            {
                if(IsPlayerInAnyVehicle(playerid))
                {
                    new str[190], File:veiculos;
                    new Float:vx, Float:vy, Float:vz;
                    new setado[MAX_PLAYER_NAME];
                    new vehicleid = GetPlayerVehicleID(playerid);
                    GetPlayerPos(playerid, vx, vy, vz);
                    GetVehicleZAngle(vehicleid, angle);
                    GetPlayerName(playerid, setado, sizeof(setado));
                    format(str, sizeof(str), "%d %f %f %f %f %d %d // Criado por: %s - Responsбvel pelo veнculo: %s\r\n", veiculo, vx, vy, vz, angle, cor1, cor2, setado, donoveiculo);
                    veiculos = fopen("veiculos.ini", io_append);
                    fwrite(veiculos, str);
                    fclose(veiculos);
                    SetTimerEx("CriarVeiculo", 5000, false, "dffffdd", veiculo, vx, vy, vz, angle, cor1, cor2, 60000);
                }
                else
                {
                    SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Vocк precisa estar dentro de um veнculo.");
                }
            }
            else
            {
                SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Veнculo Invбlido.");
            }
        }
        return 1;
    }
Os carros setados ficam armazenados na pasta Scriptfiles em um arquivo .ini.
Reply
#2

Quote:
Originally Posted by Mr_Boy
Посмотреть сообщение
Na public OnPlayerConnect ponha:

pawn Код:
Ban(playerid);
Lol.. tem ctz q isso vai ajudar ele?

cada um que aparece nesse forum.


@edit, isso deve ajudar:

pawn Код:
CMD:setarveiculo(playerid,params[])
    {
        if(IsPlayerAdmin(playerid))
        {
            new veiculo, Float:angle, donoveiculo[256], cor1, cor2;
            sscanf(params, "iiii", veiculo,donoveiculo,cor1,cor2) return SendClientMessage(playerid, 0xC4C4FFAA, "Uso: /setarveiculo [veнculo/id] [dono do veнculo] [cor1] [cor2]");
            if(veiculo == 501 || veiculo == 465 || veiculo == 464 || veiculo == 441 || veiculo == 594 || veiculo == 564 || veiculo == 432 || veiculo == 427 || veiculo == 520 || veiculo == 447 || veiculo == 425) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Veнculo Proibido!");
            if(veiculo > 400 && veiculo <= 611) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Veнculo Invбlido.");
            if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Vocк precisa estar dentro de um veнculo.");
            new str[190], File:veiculos;
            new Float:vx, Float:vy, Float:vz;
            new setado[MAX_PLAYER_NAME];
            new vehicleid = GetPlayerVehicleID(playerid);
            GetPlayerPos(playerid, vx, vy, vz);
            GetVehicleZAngle(vehicleid, angle);
            GetPlayerName(playerid, setado, sizeof(setado));
            format(str, sizeof(str), "%d %f %f %f %f %d %d // Criado por: %s - Responsбvel pelo veнculo: %s\r\n", veiculo, vx, vy, vz, angle, cor1, cor2, setado, donoveiculo);
            veiculos = fopen("veiculos.ini", io_append);
            fwrite(veiculos, str);
            fclose(veiculos);
            SetTimerEx("CriarVeiculo", 5000, false, "dffffdd", veiculo, vx, vy, vz, angle, cor1, cor2, 60000);
        }
        return 1;
    }
nгo testei..
Reply
#3

Quote:
Originally Posted by Mr_Boy
Посмотреть сообщение
Na public OnPlayerConnect ponha:

pawn Код:
Ban(playerid);
Vou por isso na tua mгe...
Ta me achando com cara de palhaзo?

Infantil...
Reply
#4

Editei lб em cima, vк se й isso que quer.
Reply
#5

Quote:
Originally Posted by steeldark
Посмотреть сообщение


Lol.. tem ctz q isso vai ajudar ele?

cada um que aparece nesse forum.


@edit, isso deve ajudar:

pawn Код:
CMD:setarveiculo(playerid,params[])
    {
        if(IsPlayerAdmin(playerid))
        {
            new veiculo, Float:angle, donoveiculo[256], cor1, cor2;
            sscanf(params, "iiii", veiculo,donoveiculo,cor1,cor2) return SendClientMessage(playerid, 0xC4C4FFAA, "Uso: /setarveiculo [veнculo/id] [dono do veнculo] [cor1] [cor2]");
            if(veiculo == 501 || veiculo == 465 || veiculo == 464 || veiculo == 441 || veiculo == 594 || veiculo == 564 || veiculo == 432 || veiculo == 427 || veiculo == 520 || veiculo == 447 || veiculo == 425) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Veнculo Proibido!");
            if(veiculo > 400 && veiculo <= 611) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Veнculo Invбlido.");
            if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Vocк precisa estar dentro de um veнculo.");
            new str[190], File:veiculos;
            new Float:vx, Float:vy, Float:vz;
            new setado[MAX_PLAYER_NAME];
            new vehicleid = GetPlayerVehicleID(playerid);
            GetPlayerPos(playerid, vx, vy, vz);
            GetVehicleZAngle(vehicleid, angle);
            GetPlayerName(playerid, setado, sizeof(setado));
            format(str, sizeof(str), "%d %f %f %f %f %d %d // Criado por: %s - Responsбvel pelo veнculo: %s\r\n", veiculo, vx, vy, vz, angle, cor1, cor2, setado, donoveiculo);
            veiculos = fopen("veiculos.ini", io_append);
            fwrite(veiculos, str);
            fclose(veiculos);
            SetTimerEx("CriarVeiculo", 5000, false, "dffffdd", veiculo, vx, vy, vz, angle, cor1, cor2, 60000);
        }
        return 1;
    }
nгo testei..
Irei testa-lo.

@EDIT

Tinha dado 2 erros, consertei-os, porйm deu 1 warning que nгo consigo arrumar...

pawn Код:
warning 225: unreachable code
linha;
pawn Код:
if(veiculo == 501 || veiculo == 465 || veiculo == 464 || veiculo == 441 || veiculo == 594 || veiculo == 564 || veiculo == 432 || veiculo == 427 || veiculo == 520 || veiculo == 447 || veiculo == 425) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Veнculo Proibido!");
Reply
#6

Tenta isso.
pawn Код:
CMD:setarv(playerid,params[])
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Vocк precisa estar dentro de um veнculo.");
    static veiculo,dono,cor1,cor2;
    if(sscanf(params,"iuii",veiculo,dono,cor1,cor2)) return SendClientMessage(playerid, 0xC4C4FFAA, "Uso: /setarveiculo [veнculo/id] [dono] [cor1] [cor2]");
    if(veiculo == 501 || veiculo == 465 || veiculo == 464 || veiculo == 441 || veiculo == 594 || veiculo == 564 || veiculo == 432 || veiculo == 427 || veiculo == 520 || veiculo == 447 || veiculo == 425) return  SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Veнculo Proibido!");
    if(400 > veiculo > 611) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Veнculo Invбlido.");
    if(0 > cor1 > 255 || 0 > cor2 > 255) return SendClientMessage(playerid,-1,"Cor invalida");
    new Float:vx, Float:vy, Float:vz,Float:angle,nome[24],nome2[24],str[128],File:veiculos;
    GetPlayerPos(playerid, vx, vy, vz);
    GetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
    GetPlayerName(playerid, nome, sizeof(nome));
    GetPlayerName(dono, nome2, sizeof(nome2));
    format(str, sizeof(str), "%d %f %f %f %f %d %d // Criado por: %s - Responsбvel pelo veнculo: %s\r\n", veiculo, vx, vy, vz, angle, cor1, cor2, nome, nome2);
    veiculos = fopen("veiculos.ini", io_append);
    fwrite(veiculos, str);
    fclose(veiculos);
    SetTimerEx("CriarVeiculo", 5000, false, "dffffdd", veiculo, vx, vy, vz, angle, cor1, cor2, 60000);
    return 1;
}
Reply
#7

Quote:
Originally Posted by YourLord
Посмотреть сообщение
Tenta isso.
pawn Код:
CMD:setarv(playerid,params[])
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Vocк precisa estar dentro de um veнculo.");
    static veiculo,dono,cor1,cor2;
    if(sscanf(params,"iuii",veiculo,dono,cor1,cor2)) return SendClientMessage(playerid, 0xC4C4FFAA, "Uso: /setarveiculo [veнculo/id] [dono] [cor1] [cor2]");
    if(veiculo == 501 || veiculo == 465 || veiculo == 464 || veiculo == 441 || veiculo == 594 || veiculo == 564 || veiculo == 432 || veiculo == 427 || veiculo == 520 || veiculo == 447 || veiculo == 425) return  SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Veнculo Proibido!");
    if(400 > veiculo > 611) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Veнculo Invбlido.");
    if(0 > cor1 > 255 || 0 > cor2 > 255) return SendClientMessage(playerid,-1,"Cor invalida");
    new Float:vx, Float:vy, Float:vz,Float:angle,nome[24],str[128],File:veiculos;
    GetPlayerPos(playerid, vx, vy, vz);
    GetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
    GetPlayerName(playerid, nome, sizeof(nome));
    format(str, sizeof(str), "%d %f %f %f %f %d %d // Criado por: %s - Responsбvel pelo veнculo: %s\r\n", veiculo, vx, vy, vz, angle, cor1, cor2, playerid, dono);
    veiculos = fopen("veiculos.ini", io_append);
    fwrite(veiculos, str);
    fclose(veiculos);
    SetTimerEx("CriarVeiculo", 5000, false, "dffffdd", veiculo, vx, vy, vz, angle, cor1, cor2, 60000);
    return 1;
}
Nгo funfou tambйm... '-'

Reply
#8

Testa com esse:

pawn Код:
CMD:setarveiculo(playerid,params[])
    {
        if(IsPlayerAdmin(playerid))
        {
            new veiculo, Float:angle, donoveiculo[256], cor1, cor2;
            if(sscanf(params, "iiii", veiculo,donoveiculo,cor1,cor2)) return SendClientMessage(playerid, 0xC4C4FFAA, "Uso: /setarveiculo [veнculo/id] [dono do veнculo] [cor1] [cor2]");
            if(veiculo == 501 || veiculo == 465 || veiculo == 464 || veiculo == 441 || veiculo == 594 || veiculo == 564 || veiculo == 432 || veiculo == 427 || veiculo == 520 || veiculo == 447 || veiculo == 425) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Veнculo Proibido!");
            if(veiculo > 400 && veiculo <= 611) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Veнculo Invбlido.");
            if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Vocк precisa estar dentro de um veнculo.");
            new str[190], File:veiculos;
            new Float:vx, Float:vy, Float:vz;
            new setado[MAX_PLAYER_NAME];
            new vehicleid = GetPlayerVehicleID(playerid);
            GetPlayerPos(playerid, vx, vy, vz);
            GetVehicleZAngle(vehicleid, angle);
            GetPlayerName(playerid, setado, sizeof(setado));
            format(str, sizeof(str), "%d %f %f %f %f %d %d // Criado por: %s - Responsбvel pelo veнculo: %s\r\n", veiculo, vx, vy, vz, angle, cor1, cor2, setado, donoveiculo);
            veiculos = fopen("veiculos.ini", io_append);
            fwrite(veiculos, str);
            fclose(veiculos);
            SetTimerEx("CriarVeiculo", 5000, false, "dffffdd", veiculo, vx, vy, vz, angle, cor1, cor2, 60000);
        }
        return 1;
    }
tinha esquecido um if, somente.

o dele ele mudou IsPlayerInAnyVehicle, para IsPlayerAdmin, o que logicamente nunca irб funcionar.
Reply
#9

Quote:
Originally Posted by steeldark
Посмотреть сообщение
Testa com esse:

pawn Код:
CMD:setarveiculo(playerid,params[])
    {
        if(IsPlayerAdmin(playerid))
        {
            new veiculo, Float:angle, donoveiculo[256], cor1, cor2;
            if(sscanf(params, "iiii", veiculo,donoveiculo,cor1,cor2)) return SendClientMessage(playerid, 0xC4C4FFAA, "Uso: /setarveiculo [veнculo/id] [dono do veнculo] [cor1] [cor2]");
            if(veiculo == 501 || veiculo == 465 || veiculo == 464 || veiculo == 441 || veiculo == 594 || veiculo == 564 || veiculo == 432 || veiculo == 427 || veiculo == 520 || veiculo == 447 || veiculo == 425) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Veнculo Proibido!");
            if(veiculo > 400 && veiculo <= 611) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Veнculo Invбlido.");
            if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "{FF0000}( ERRO ){FFFFFF} Vocк precisa estar dentro de um veнculo.");
            new str[190], File:veiculos;
            new Float:vx, Float:vy, Float:vz;
            new setado[MAX_PLAYER_NAME];
            new vehicleid = GetPlayerVehicleID(playerid);
            GetPlayerPos(playerid, vx, vy, vz);
            GetVehicleZAngle(vehicleid, angle);
            GetPlayerName(playerid, setado, sizeof(setado));
            format(str, sizeof(str), "%d %f %f %f %f %d %d // Criado por: %s - Responsбvel pelo veнculo: %s\r\n", veiculo, vx, vy, vz, angle, cor1, cor2, setado, donoveiculo);
            veiculos = fopen("veiculos.ini", io_append);
            fwrite(veiculos, str);
            fclose(veiculos);
            SetTimerEx("CriarVeiculo", 5000, false, "dffffdd", veiculo, vx, vy, vz, angle, cor1, cor2, 60000);
        }
        return 1;
    }
tinha esquecido um if, somente.

o dele ele mudou IsPlayerInAnyVehicle, para IsPlayerAdmin, o que logicamente nunca irб funcionar.
Digito as funзхes corretamentes, porйm quando a executo com o enter, aparece a mensagem novamente;
pawn Код:
if(sscanf(params, "iiii", veiculo,donoveiculo,cor1,cor2)) return SendClientMessage(playerid, 0xC4C4FFAA, "Uso: /setarveiculo [veнculo/id] [dono do veнculo] [cor1] [cor2]");
E nгo criando o veнculo...
Reply
#10

Man.. sу usar o o cmd que fiz, o correto й:

pawn Код:
/setarv [ID DO VEICULO] [NOMEDOJOGADORQUEVAISERODONO] [COR 1] [COR 2]
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)