SA-MP Forums Archive
[Ajuda] Comando - 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: [Ajuda] Comando (/showthread.php?tid=529344)



Comando - ArthurxD - 01.08.2014

Olб, estou com uma dъvida bem bobinha mas que nгo consegui resolver, quebrei a cabeзa tentei de tudo mas nгo consegui, se alguйm puder me ajudar ficarei grato.

Й assim, eu tenho o cmd /Tunar, aн eu queria que quando o player tivesse em um veнculo que ja estivesse tunado por esse cmd nгo desse pra usa-lo denove e retornasse uma mensagem "| ERRO | Seu veнculo jб estб tunado"

Comando abaixo:
pawn Код:
CMD:tunar(playerid, params[]) {
    new carro = GetPlayerVehicleID(playerid);
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Laranja, "| ERRO | Vocк nгo pe administrador(a)!");
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Laranja,"| ERRO | Vocк nгo estб em um veiculo.");
    AddVehicleComponent(carro, 1010);
    AddVehicleComponent(carro, 1028);
    AddVehicleComponent(carro, 1032);
    AddVehicleComponent(carro, 1080);
    AddVehicleComponent(carro, 1138);
    AddVehicleComponent(carro, 1169);
    AddVehicleComponent(carro, 1141);
    AddVehicleComponent(carro, 1087);
    SendClientMessage(playerid, amarelo, "| INFO | Veiculo tunado com sucesso.");
    return 1;
}



Re: Comando - MatheusAlcapone - 01.08.2014

https://sampwiki.blast.hk/wiki/GetVehicleComponentInSlot
https://sampwiki.blast.hk/wiki/GetVehicleComponentType


Re: Comando - Patrick141 - 01.08.2014

Quote:
Originally Posted by ArthurxD
Посмотреть сообщение
Olб, estou com uma dъvida bem bobinha mas que nгo consegui resolver, quebrei a cabeзa tentei de tudo mas nгo consegui, se alguйm puder me ajudar ficarei grato.

Й assim, eu tenho o cmd /Tunar, aн eu queria que quando o player tivesse em um veнculo que ja estivesse tunado por esse cmd nгo desse pra usa-lo denove e retornasse uma mensagem "| ERRO | Seu veнculo jб estб tunado"

Comando abaixo:
pawn Код:
CMD:tunar(playerid, params[]) {
    new carro = GetPlayerVehicleID(playerid);
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Laranja, "| ERRO | Vocк nгo pe administrador(a)!");
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Laranja,"| ERRO | Vocк nгo estб em um veiculo.");
    AddVehicleComponent(carro, 1010);
    AddVehicleComponent(carro, 1028);
    AddVehicleComponent(carro, 1032);
    AddVehicleComponent(carro, 1080);
    AddVehicleComponent(carro, 1138);
    AddVehicleComponent(carro, 1169);
    AddVehicleComponent(carro, 1141);
    AddVehicleComponent(carro, 1087);
    SendClientMessage(playerid, amarelo, "| INFO | Veiculo tunado com sucesso.");
    return 1;
}
Ja percebi 1 erro em seu comando

pawn Код:
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Laranja,"| ERRO | Vocк nгo estб em um veiculo.")
esta funзao nao e para relatar que nao esta em um veiculo e sim para ocorrer uma outra aзao caso o jogador estiver no veiculo tente mudar e colocar assim :
pawn Код:
CMD:tunar(playerid, params[]) {
new carro = GetPlayerVehicleID(playerid);
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Laranja, "| ERRO | Vocк nгo pe administrador(a)!");
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) /// vai checar se o jogador estiver a pe
{
return SendClientMessage(playerid, Laranja, "Voce precisa ter um veiculo !"); //manda a mensagem se estiver a pe
}
AddVehicleComponent(carro, 1010);
AddVehicleComponent(carro, 1028);
AddVehicleComponent(carro, 1032);
AddVehicleComponent(carro, 1080);
AddVehicleComponent(carro, 1138);
AddVehicleComponent(carro, 1169);
AddVehicleComponent(carro, 1141);
AddVehicleComponent(carro, 1087);
SendClientMessage(playerid, amarelo, "| INFO | Veiculo tunado com sucesso.");
}
return 1;
}
e no caso de checar se o jogador tem algum coponente instalado em seu veiculo use a funзao :
https://sampwiki.blast.hk/wiki/GetVehicleComponentInSlot


Re: Comando - MatheusAlcapone - 01.08.2014

Quote:
Originally Posted by Patrick141
Посмотреть сообщение
Ja percebi 1 erro em seu comando

pawn Код:
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Laranja,"| ERRO | Vocк nгo estб em um veiculo.")
esta funзao nao e para relatar que nao esta em um veiculo e sim para ocorrer uma outra aзao caso o jogador estiver no veiculo tente mudar e colocar assim :
pawn Код:
CMD:tunar(playerid, params[]) {
new carro = GetPlayerVehicleID(playerid);
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Laranja, "| ERRO | Vocк nгo pe administrador(a)!");
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) /// vai checar se o jogador estiver a pe
{
return SendClientMessage(playerid, Laranja, "Voce precisa ter um veiculo !"); //manda a mensagem se estiver a pe
}
AddVehicleComponent(carro, 1010);
AddVehicleComponent(carro, 1028);
AddVehicleComponent(carro, 1032);
AddVehicleComponent(carro, 1080);
AddVehicleComponent(carro, 1138);
AddVehicleComponent(carro, 1169);
AddVehicleComponent(carro, 1141);
AddVehicleComponent(carro, 1087);
SendClientMessage(playerid, amarelo, "| INFO | Veiculo tunado com sucesso.");
}
return 1;
}
e no caso de checar se o jogador tem algum coponente instalado em seu veiculo use a funзao :
https://sampwiki.blast.hk/wiki/GetVehicleComponentInSlot
Nгo esta errado, ele quer checar se o player esta em um veнculo e essa funзгo faz isso, e a que vocк mandou ele usar checa se ele esta de apй.


Re: Comando - ArthurxD - 01.08.2014

desculpa mas ainda nгo consegui rsrs'

Pode me explicar?


Re: Comando - MatheusAlcapone - 01.08.2014

Simples use a funзгo https://sampwiki.blast.hk/wiki/GetVehicleComponentInSlot para verificar se a uma modificaзгo no veнculo.


Re: Comando - Deeh16 - 01.08.2014

Jб que seu sistema irб adicionar os componentes de uma vez , vocк poderia faser a checagem apenas de um componente do veiculo no caso :
pawn Код:
new partes;
partes = GetVehicleComponentInSlot(GetPlayerVehicleID(playerid),CARMODTYPE_NITRO);
if (component == 1010) return SendClientMessage(playerid,-1," Fera vocк nгo pode tunar o carro 2x seguidas.");

//Creditos : Wiki SA:MP
Seu comando no caso ficaria assim :
pawn Код:
CMD:tunar(playerid, params[]) {
    new carro = GetPlayerVehicleID(playerid);
    new partes;
    partes = GetVehicleComponentInSlot(carro,CARMODTYPE_NITRO);
    if (component == 1010) return SendClientMessage(playerid,-1," Fera vocк nгo pode tunar o carro 2x seguidas.");
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Laranja, "| ERRO | Vocк nгo pe administrador(a)!");
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Laranja,"| ERRO | Vocк nгo estб em um veiculo.");
    AddVehicleComponent(carro, 1010);
    AddVehicleComponent(carro, 1028);
    AddVehicleComponent(carro, 1032);
    AddVehicleComponent(carro, 1080);
    AddVehicleComponent(carro, 1138);
    AddVehicleComponent(carro, 1169);
    AddVehicleComponent(carro, 1141);
    AddVehicleComponent(carro, 1087);
    SendClientMessage(playerid, amarelo, "| INFO | Veiculo tunado com sucesso.");
    return 1;
}



Re: Comando - ArthurxD - 01.08.2014

Pode colocar a funзao que checa se tem componetes, eu tentei aqui mas nao consegui.

Obrigado


Re: Comando - Patrick141 - 02.08.2014

Quote:
Originally Posted by MatheusAlcapone
Посмотреть сообщение
Nгo esta errado, ele quer checar se o player esta em um veнculo e essa funзгo faz isso, e a que vocк mandou ele usar checa se ele esta de apй.
minha logica esta correta no comando quer checar se o jogador estiver em um veiculo e vai mandar a mensagem
para o jogador no meu post mostrei que se o jogador estiver a pe (sem veiculo) vai mandar a mensagem falando
que e necessario um veiculo para usar o comando


Re: Comando - ArthurxD - 02.08.2014

Tank you