[Ajuda] criar carro samp
#1

como fazer comando /cv [id]
para fazer um veiculo
.....
pf me ajudem
Reply
#2

acho que vc vai usar isso...

#include <Zcmd>
#include <sscanf2>

pra poder fazer esse comando..... tb to aguardando a resposta...

o grande problema nem e fazer.. e depois ele ficar nascendo denovo no msm lugar que tu fez.. ele primeiro.. depois que explode... isso ai e complicado pacas.... + vamos esperar... ve se alguem te ajuda e ao msm tempo ajuda eu hehe

By ApolloRJ
Reply
#3

pawn Код:
if(strcmp("/cv", cmdtext, true) == 0)
{
 new shick[128];
 new VeiculosCriados[101];
 new VeiculoCriado = 0;
 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Cor, "Vocк nгo й Administrador RCON!");
 tmp = strtok(cmdtext, idx);
 if(!strlen(tmp)) return SendClientMessage(playerid, Cor, "[-]: /veh [ID] [Cor 1] [Cor 2]");
 new veiculo;
 veiculo = strval(tmp);
 if(veiculo < 400 || veiculo > 600) return SendClientMessage(playerid, Cor, "[ERRO] O modelo do veнculo tem de estar entre 411 e 611!");
 tmp = strtok(cmdtext, idx);
 if(!strlen(tmp)) return SendClientMessage(playerid, Cor, "[-]: /veh [ID] [Cor 1] [Cor 2]");
 new Cor1;
 Cor1 = strval(tmp);
 if(Cor1 < 1 || Cor1 > 300) return SendClientMessage(playerid, Cor, "[ERRO] A Cor tem de estar entre 1 e 300!");
 tmp = strtok(cmdtext, idx);
 if(!strlen(tmp)) return SendClientMessage(playerid, Cor, "[-]: /veh [ID] [Cor 1] [Cor 2]");
 new Cor2;
 Cor2 = strval(tmp);
 if(Cor2 < 1 || Cor2 > 300) return SendClientMessage(playerid, Cor, "[ERRO] A Cor tem de estar entre 1 e 300!");
 new Float:X,Float:Y,Float:Z;
 GetPlayerPos(playerid, X,Y,Z);
 new veiculo1 = CreateVehicle(car, X,Y,Z, 0.0, Cor1, Cor2, 120000);
 VeiculosCriados[VeiculoCriado] = veiculo1;
 VeiculoCriado++;
 format(shick, sizeof(shick), "[ATENЗГO] Veнculo ID: %d Adicionado", veiculo1);
 SendClientMessage(playerid, Cor, shick);
 return 1;
}
pawn Код:
strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
        index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}
Reply
#4

ApolloRJ
Este aqui excluнra o veiculo quando o player sair do mesmo...

pawn Код:
new carrocriado[MAX_PLAYERS]; //inicio do GM
pawn Код:
//*************** OnPlayerCommandText *****************
    if(strcmp(cmd, "/CriarVeiculo", true, 10) == 0 || strcmp(cmd, "/CV", true) == 0)
    {
        new tmp[128], carro, cor1 = -1, cor2 = -1, string[95];
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)){ SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /CriarVeiculo [Modelo] [Cor1] [Cor2]"); return 1; }
        carro = strval(tmp);
        tmp = strtok(cmdtext, idx);
        if(carro < 400 || carro > 611) return SendClientMessage(playerid, Branco, "O modelo nгo pode ser maior que {1E90FF}611{FFFFFF} ou menor que {1E90FF}400");
        if(!strlen(tmp)){ SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /CriarVeiculo [Modelo] [Cor1] [Cor2]"); return 1; }
        cor1 = strval(tmp);
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)){ SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /CriarVeiculo [Modelo] [Cor1] [Cor2]"); return 1; }
        cor2 = strval(tmp);
        DestroyVehicle(carrocriado[playerid];
        format(string, sizeof(string), "Vocк criou um carro modelo {1E90FF}[%d] {FFFFFF}cor {1E90FF}[%d] {FFFFFF}e {1E90FF}[%d]", carro, cor1, cor2);
        SendClientMessage(playerid, Branco, string);
        new Float:X, Float:Y, Float:Z;
        GetPlayerPos(playerid, X, Y, Z);
        carrocriado[playerid] = CreateVehicle(carro, X, Y, Z-1, 0.0, cor1, cor2, 25000);
        PutPlayerInVehicle(playerid, carrocriado[playerid], 0);
        return 1;
    }
pawn Код:
public OnPlayerExitVehicle(playerid, vehicleid)
{
    DestroyVehicle(carrocriado[playerid]);
    return 1;
}
Vocк pode colocar pra destruir quando o player sair do servidor.
Reply
#5

Quote:
Originally Posted by Josma_cmd
Посмотреть сообщение
ApolloRJ
Este aqui excluнra o veiculo quando o player sair do mesmo...

pawn Код:
new carrocriado[MAX_PLAYERS]; //inicio do GM
pawn Код:
//*************** OnPlayerCommandText *****************
    if(strcmp(cmd, "/CriarVeiculo", true, 10) == 0 || strcmp(cmd, "/CV", true) == 0)
    {
        new tmp[128], carro, cor1 = -1, cor2 = -1, string[95];
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)){ SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /CriarVeiculo [Modelo] [Cor1] [Cor2]"); return 1; }
        carro = strval(tmp);
        tmp = strtok(cmdtext, idx);
        if(carro < 400 || carro > 611) return SendClientMessage(playerid, Branco, "O modelo nгo pode ser maior que {1E90FF}611{FFFFFF} ou menor que {1E90FF}400");
        if(!strlen(tmp)){ SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /CriarVeiculo [Modelo] [Cor1] [Cor2]"); return 1; }
        cor1 = strval(tmp);
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)){ SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /CriarVeiculo [Modelo] [Cor1] [Cor2]"); return 1; }
        cor2 = strval(tmp);
        DestroyVehicle(carrocriado[playerid];
        format(string, sizeof(string), "Vocк criou um carro modelo {1E90FF}[%d] {FFFFFF}cor {1E90FF}[%d] {FFFFFF}e {1E90FF}[%d]", carro, cor1, cor2);
        SendClientMessage(playerid, Branco, string);
        new Float:X, Float:Y, Float:Z;
        GetPlayerPos(playerid, X, Y, Z);
        carrocriado[playerid] = CreateVehicle(carro, X, Y, Z-1, 0.0, cor1, cor2, 25000);
        PutPlayerInVehicle(playerid, carrocriado[playerid], 0);
        return 1;
    }
pawn Код:
public OnPlayerExitVehicle(playerid, vehicleid)
{
    DestroyVehicle(carrocriado[playerid]);
    return 1;
}
Vocк pode colocar pra destruir quando o player sair do servidor.

Meu problema e que pus Zcmd nos comandos do serve tive que tirar...OnPlayerCommandText pois n funciona com o mesmo.. se tu sober um esquema desse em scan me ajudaria bastante.... + tipo... /carro id sem a bendita cor.... pois ja tenho um menu que fais essa funзгo de cores... se der blz.. se nгo der tudo e festa... + desde jб agradeзo..


By ApolloRJ
Reply
#6

E como faz para excluir todos os veiculos criados por um comando, por exemplo ?

Sendo que a variavel dos veiculos criados й "carrocriado".
Reply
#7

pawn Код:
if(strcmp("/cv", cmdtext, true) == 0)
{
 new shick[128];
 new VeiculosCriados[101];
 new VeiculoCriado = 0;
 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Cor, "Vocк nгo й Administrador RCON!");
 tmp = strtok(cmdtext, idx);
 if(!strlen(tmp)) return SendClientMessage(playerid, Cor, "[-]: /veh [ID] [Cor 1] [Cor 2]");
 new veiculo;
 veiculo = strval(tmp);
 if(veiculo < 400 || veiculo > 600) return SendClientMessage(playerid, Cor, "[ERRO] O modelo do veнculo tem de estar entre 411 e 611!");
 tmp = strtok(cmdtext, idx);
 if(!strlen(tmp)) return SendClientMessage(playerid, Cor, "[-]: /veh [ID] [Cor 1] [Cor 2]");
 new Cor1;
 Cor1 = strval(tmp);
 if(Cor1 < 1 || Cor1 > 300) return SendClientMessage(playerid, Cor, "[ERRO] A Cor tem de estar entre 1 e 300!");
 tmp = strtok(cmdtext, idx);
 if(!strlen(tmp)) return SendClientMessage(playerid, Cor, "[-]: /veh [ID] [Cor 1] [Cor 2]");
 new Cor2;
 Cor2 = strval(tmp);
 if(Cor2 < 1 || Cor2 > 300) return SendClientMessage(playerid, Cor, "[ERRO] A Cor tem de estar entre 1 e 300!");
 new Float:X,Float:Y,Float:Z;
 GetPlayerPos(playerid, X,Y,Z);
 new veiculo1 = CreateVehicle(car, X,Y,Z, 0.0, Cor1, Cor2, 120000);
 VeiculosCriados[VeiculoCriado] = veiculo1;
 VeiculoCriado++;
 format(shick, sizeof(shick), "[ATENЗГO] Veнculo ID: %d Adicionado", veiculo1);
 SendClientMessage(playerid, Cor, shick);
 return 1;
}
pawn Код:
if(strcmp("/destruircv", cmdtext , true) == 0)
{
     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Cor, "[ERRO] Nгo йs Administrador RCON!");
     DestroyVehicle(VeiculosCriados);
     return 1;
}
Deve ser isso '-'
Reply
#8

pawn Код:
if(strcmp("/destruircv", cmdtext , true) == 0)
{
     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Cor, "[ERRO] Nгo йs Administrador RCON!");
     for( new i  = 0; i < sizeof ( VeiculosCriados ); ++i )
     {
        DestroyVehicle(i);
     }
     return 1;
}
Acho que funciona, bjs
Reply
#9

ta dano erro
..................
fico assim
Quote:

if(strcmp("/cv", cmdtext, true) == 0)
{
new shick[128];
new VeiculosCriados[101];
new VeiculoCriado = 0;
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xF60000AA, "Vocк nгo й Administrador RCON!");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, 0xF60000AA, "[-]: /veh [ID] [Cor 1] [Cor 2]");
new veiculo;
veiculo = strval(tmp);
if(veiculo < 400 || veiculo > 600) return SendClientMessage(playerid, 0xF60000AA, "[ERRO] O modelo do veнculo tem de estar entre 411 e 611!");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, 0xF60000AA, "[-]: /veh [ID] [Cor 1] [Cor 2]");
new Cor1;
Cor1 = strval(tmp);
if(Cor1 < 1 || Cor1 > 300) return SendClientMessage(playerid, 0xF60000AA, "[ERRO] A Cor tem de estar entre 1 e 300!");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, 0xF60000AA, "[-]: /veh [ID] [Cor 1] [Cor 2]");
new Cor2;
Cor2 = strval(tmp);
if(Cor2 < 1 || Cor2 > 300) return SendClientMessage(playerid, 0xF60000AA, "[ERRO] A Cor tem de estar entre 1 e 300!");
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
new veiculo1 = CreateVehicle(car, X,Y,Z, 0.0, Cor1, Cor2, 120000);
VeiculosCriados[VeiculoCriado] = veiculo1; VeiculoCriado++;
format(shick, sizeof(shick), "[ATENЗГO] Veнculo ID: %d Adicionado", veiculo1);
SendClientMessage(playerid, 0x00AB00AA, shick);
return 1;
}

e deu os seguintes erros
Quote:

C:\Documents and Settings\William_2\Meus documentos\Downloads\Iniciante\gamemodes\Iniciante .pwn(385) : error 017: undefined symbol "tmp"
C:\Documents and Settings\William_2\Meus documentos\Downloads\Iniciante\gamemodes\Iniciante .pwn(385) : error 017: undefined symbol "strtok"
C:\Documents and Settings\William_2\Meus documentos\Downloads\Iniciante\gamemodes\Iniciante .pwn(386) : error 017: undefined symbol "tmp"
C:\Documents and Settings\William_2\Meus documentos\Downloads\Iniciante\gamemodes\Iniciante .pwn(38 : error 017: undefined symbol "tmp"
C:\Documents and Settings\William_2\Meus documentos\Downloads\Iniciante\gamemodes\Iniciante .pwn(390) : error 017: undefined symbol "tmp"
C:\Documents and Settings\William_2\Meus documentos\Downloads\Iniciante\gamemodes\Iniciante .pwn(390) : error 017: undefined symbol "strtok"
C:\Documents and Settings\William_2\Meus documentos\Downloads\Iniciante\gamemodes\Iniciante .pwn(391) : error 017: undefined symbol "tmp"
C:\Documents and Settings\William_2\Meus documentos\Downloads\Iniciante\gamemodes\Iniciante .pwn(393) : error 017: undefined symbol "tmp"
C:\Documents and Settings\William_2\Meus documentos\Downloads\Iniciante\gamemodes\Iniciante .pwn(395) : error 017: undefined symbol "tmp"
C:\Documents and Settings\William_2\Meus documentos\Downloads\Iniciante\gamemodes\Iniciante .pwn(395) : error 017: undefined symbol "strtok"
C:\Documents and Settings\William_2\Meus documentos\Downloads\Iniciante\gamemodes\Iniciante .pwn(396) : error 017: undefined symbol "tmp"
C:\Documents and Settings\William_2\Meus documentos\Downloads\Iniciante\gamemodes\Iniciante .pwn(39 : error 017: undefined symbol "tmp"
C:\Documents and Settings\William_2\Meus documentos\Downloads\Iniciante\gamemodes\Iniciante .pwn(402) : error 017: undefined symbol "car"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


13 Errors.

Reply
#10

Quote:
Originally Posted by Josma_cmd
Посмотреть сообщение
ApolloRJ
Este aqui excluнra o veiculo quando o player sair do mesmo...

pawn Код:
new carrocriado[MAX_PLAYERS]; //inicio do GM
pawn Код:
//*************** OnPlayerCommandText *****************
    if(strcmp(cmd, "/CriarVeiculo", true, 10) == 0 || strcmp(cmd, "/CV", true) == 0)
    {
        new tmp[128], carro, cor1 = -1, cor2 = -1, string[95];
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)){ SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /CriarVeiculo [Modelo] [Cor1] [Cor2]"); return 1; }
        carro = strval(tmp);
        tmp = strtok(cmdtext, idx);
        if(carro < 400 || carro > 611) return SendClientMessage(playerid, Branco, "O modelo nгo pode ser maior que {1E90FF}611{FFFFFF} ou menor que {1E90FF}400");
        if(!strlen(tmp)){ SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /CriarVeiculo [Modelo] [Cor1] [Cor2]"); return 1; }
        cor1 = strval(tmp);
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)){ SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /CriarVeiculo [Modelo] [Cor1] [Cor2]"); return 1; }
        cor2 = strval(tmp);
        DestroyVehicle(carrocriado[playerid];
        format(string, sizeof(string), "Vocк criou um carro modelo {1E90FF}[%d] {FFFFFF}cor {1E90FF}[%d] {FFFFFF}e {1E90FF}[%d]", carro, cor1, cor2);
        SendClientMessage(playerid, Branco, string);
        new Float:X, Float:Y, Float:Z;
        GetPlayerPos(playerid, X, Y, Z);
        carrocriado[playerid] = CreateVehicle(carro, X, Y, Z-1, 0.0, cor1, cor2, 25000);
        PutPlayerInVehicle(playerid, carrocriado[playerid], 0);
        return 1;
    }
pawn Код:
public OnPlayerExitVehicle(playerid, vehicleid)
{
    DestroyVehicle(carrocriado[playerid]);
    return 1;
}
Vocк pode colocar pra destruir quando o player sair do servidor.
gosma, o correto й:
pawn Код:
public OnPlayerExitVehicle(playerid, vehicleid)
{

    if(carrocriado[playerid] != 0) DestroyVehicle(carrocriado[playerid]);
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)