[Ajuda] Comando
#1

Vim aqui pedir pra me ajudar como criar um comando exemplo /V [ ID ] [ COR 1 ] [COR 2 ] ai o carro aparece na frente do player . o comando й em strcmp
Reply
#2

Simples
Recomendo que use SSCANF + ZCMD. Й melhor e mais fбcil.

Entгo basta vocк criar trкs varнaveis para "fatiar" o parameter e pegar a cor 1, cor 2 e ID do carro.

pode ser assim:

pawn Код:
CMD:v(playerid,params[])
{
    new id,c1,c2;
    if(sscanf(params,"ddd",id,c1,c2))
    {
        SendClientMessage(playerid,-1,"Uso: /v [ID][COR1][COR2]");
    }
    else
    {
        if(id < 400 || id > 611) return 1;
        if(c1 > 128 || c2 > 128) return 1;
        if(IsPlayerInAnyVehicle(playerid)) DestroyVehicle(GetPlayerVehicleID(playerid));
        new Float:x, Float:a, Float:z, Float:y;
        GetPlayerPos(playerid,x,y,z);
        GetPlayerFacingAngle(playerid,a);
        CreateVehicle(id,x,y,z,a,c1,c2);
    }
    return 1;
}
Nгo testei, mas creio que deva funcionar... Abraзos.
Reply
#3

pawn Код:
CMD:v(playerid,params[])
{
    new id,c1,c2,veh, Float:x, Float:y, Float:z, Float:a;
    if(sscanf(params,"ddd",id,c1,c2)) returnSendClientMessage(playerid,-1,"Uso: /v [ID][COR1][COR2]");
   
    if(id < 400 || id > 611) return SendClientMessage(playerid, -1, "A ID do veiculo deve ser entre 400 e 611.");
    if(c1 > 128 || c2 > 128) return SendClientMessage(playerid, -1, "A ID das cores devem ser atй 128.");
    if(IsPlayerInAnyVehicle(playerid)) DestroyVehicle(GetPlayerVehicleID(playerid));

    GetPlayerPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid,a);
    veh = CreateVehicle(id,x,y,z,a,c1,c2,-1); // Nгo respawna ao explodir.
    PutPlayerInVehicle(playerid, veh, 0); // Coloca o player como motorista (fica mais fбcil do que criar na frente)
    return 1;
}
Para parar o comando por ali tem que retornar false.
Reply
#4

Obrigado
Reply
#5

CreateObject + Variaveis + MoveObject + SetTimer da pra fazer um basico.

Tenta aн. Vou ter prazer em tirar as suas dъvidas, se vocк tentar.
Reply
#6

Quote:
Originally Posted by Linow
Посмотреть сообщение
pawn Код:
CMD:v(playerid,params[])
{
    new id,c1,c2,veh, Float:x, Float:y, Float:z, Float:a;
    if(sscanf(params,"ddd",id,c1,c2)) returnSendClientMessage(playerid,-1,"Uso: /v [ID][COR1][COR2]");
   
    if(id < 400 || id > 611) return SendClientMessage(playerid, -1, "A ID do veiculo deve ser entre 400 e 611.");
    if(c1 > 128 || c2 > 128) return SendClientMessage(playerid, -1, "A ID das cores devem ser atй 128.");
    if(IsPlayerInAnyVehicle(playerid)) DestroyVehicle(GetPlayerVehicleID(playerid));

    GetPlayerPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid,a);
    veh = CreateVehicle(id,x,y,z,a,c1,c2,-1); // Nгo respawna ao explodir.
    PutPlayerInVehicle(playerid, veh, 0); // Coloca o player como motorista (fica mais fбcil do que criar na frente)
    return 1;
}
Para parar o comando por ali tem que retornar false.
Deu erro
Quote:

F:\Yago\GM DM YAGO\Untitled.pwn(99) : error 017: undefined symbol "sscanf"
F:\Yago\GM DM YAGO\Untitled.pwn(99) : error 017: undefined symbol "returnSendClientMessage"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


2 Errors.

LINHAS

Quote:

if(sscanf(params,"ddd",id,c1,c2)) returnSendClientMessage(playerid,-1,"Uso: /v [ID][COR1][COR2]");

eu mudei o comando pra esse .
Quote:

if (strcmp("/v", cmdtext, true, 10) == 0)
{
new id,c1,c2,veh, Float, Float:y, Float:z, Float:a;
if(sscanf(params,"ddd",id,c1,c2)) returnSendClientMessage(playerid,-1,"Uso: /v [ID][COR1][COR2]");

if(id < 400 || id > 611) return SendClientMessage(playerid, -1, "A ID do veiculo deve ser entre 400 e 611.");
if(c1 > 128 || c2 > 12 return SendClientMessage(playerid, -1, "A ID das cores devem ser atй 128.");
if(IsPlayerInAnyVehicle(playerid)) DestroyVehicle(GetPlayerVehicleID(playerid));

GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,a);
veh = CreateVehicle(id,x,y,z,a,c1,c2,-1); // Nгo respawna ao explodir.
PutPlayerInVehicle(playerid, veh, 0); // Coloca o player como motorista (fica mais fбcil do que criar na frente)
return 1;
}

Reply
#7

Olha nao sei se e exatamente o que vc quer mais eu sei que funciona pois eu uso:

pawn Код:
CMD:criarcarro(playerid, params[])
{
    new
        Carro,
        Cor1,
        Cor2;
    if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Vocк precisa ser admin nivel 2 para usar este comando!");
    if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Vocк precisa trabalhar para usar o comando. Use /servico.");
    if(sscanf(params, "iii", Carro, Cor1, Cor2)) return SendClientMessage(playerid, CINZA, "[Servidor] Use /criarcarro [ID] [cor1] [cor2]"), SendClientMessage(playerid, CINZA, "Use o comando para criar um veiculo, para fazer um respawn use /respawn");
    new Float:X,
        Float:Y,
        Float:X1,
        Float:Y1,
        Float:Z,
        Float:A;
    PosicaoFrentePlayer(playerid, X, Y, 3);
    GetPlayerPos(playerid, X1, Y1, Z);
    GetPlayerFacingAngle(playerid, A);
    new idcarro;
    idcarro = CreateVehicle(Carro, X, Y, Z, A+90, Cor1, Cor2, 15);
    CarrosCriados[TodosCarros] = idcarro;
    TodosCarros ++;
    return 1;
}
E se puder me ajudar nesse topico: https://sampforum.blast.hk/showthread.php?tid=408517
Reply
#8

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


LINHAS


eu mudei o comando pra esse .
pawn Код:
#include <sscanf2>
pawn Код:
return SendClientMessage
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)