[AJUDA]Ajuste Comando God Car
#1

Ola , desenvolvi um comando de carro indestruvivel
godcar mas tenho dois problemas que nao consigo resolver ja passei horas quebrando a cabeзa, sei que e algo simples porem eu nao sou muito bom em pawn , tenho um conhecimento basico mas nao e o suficiente :/

se puderem me ajudar
...
queria que o comando godcar, fosse desativado quando eu digitasse /godcar novamente
eu tentei ,tentei e tentei e na ultima tentativa deixei assim
pawn Код:
CMD:godcar(playerid,params[])
{
new carid = strval(params);
new string[256];
if (IsGodCar[carid] == 1) return  SendClientMessage(playerid,Vermelho,"God Car desativado");
IsGodCar[carid] = 0;
if (IsGodCar[carid] == 0)
{
carid = GetPlayerVehicleID(playerid);
IsGodCar[carid] = 1;
format(string, sizeof(string), "Voce deixou o veiculo em GOD MODE!", carid);
SendClientMessage(playerid, Verde, string);
}
return 1;
}
porem se eu digito /godcar ele ativa e se eu digito /godcar denovo ele ativa novamente D:

e a outra duvida e que o modo reparar nao esta indo normalmente, eu coloquei para fazer loop de regenerar vida e reparar porem so regenera vida...

pawn Код:
public GodCarFix()
{
for(new v=0;v<MAX_VEHICLES;v++)
{
if(IsGodCar[v] == 1)
{
SetVehicleHealth(v, 1000);
RepairVehicle(GetPlayerVehicleID(v));
}
}
return 1;
}
ops, antes de postar pensei um pouco enquanto estava digitando e percebi que a correзao era esta
pawn Код:
public GodCarFix()
{
for(new v=0;v<MAX_VEHICLES;v++)
{
if(IsGodCar[v] == 1)
{
SetVehicleHealth(v, 1000);
RepairVehicle(v);
}
}
return 1;
}
@vou deixar assim caso alguem tambem precise disso...
Reply
#2

Tб setando var a 0 logo depois de ativar.Tem que ser depois que desativar. E troque ' carid ' por params
Reply
#3

Uma dica sobre a primeira dъvida do comando de godCar:
pawn Код:
//Variбvel para verificar se o god car tб ativado
new bool: IsGodCar[MAX_VEHICLES];

CMD: godcar(playerid, params[]) {

    //Pega o ID do veнculo que o jogador tб.
    new v;
   
    //Pega algum parвmetro /godcar [id]
    sscanf(params, "D(-1)", v);
   
    //Verifica se vocк digitou parвmetro, se nгo, inseri o ID do veнculo que vocк tб dentro.
    if (v == -1) {
       v = GetPlayerVehicleID(playerid);
    }

    if (IsGodCar[v]) {

        //God car ativado.

        IsGodCar[v] = false;
    } else {
   
        //God car ativado.
   
        IsGodCar[v] = true;
    }
}
Use SSCANF.


Abraзos.
Reply
#4

Quote:
Originally Posted by DannielCooper
Посмотреть сообщение
Tб setando var a 0 logo depois de ativar.Tem que ser depois que desativar. E troque ' carid ' por params
pensei em
pawn Код:
CMD:godcar(playerid,params[])
{
new carid = strval(params);
new string[256];
if (IsGodCar[carid] == 0)
carid = GetPlayerVehicleID(playerid);
IsGodCar[carid] = 1;
format(string, sizeof(string), "Voce deixou o veiculo em GOD MODE!", carid);
SendClientMessage(playerid, Verde, string);
{
if (IsGodCar(params)) return  SendClientMessage(playerid,Vermelho,"God Car desativado");
IsGodCar[carid] = 0;
}
return 1;
}
so que a linha onde eu coloquei o params esta errada
Код:
C:\Users\William\Desktop\samp03z_svr_R1_win32\gamemodes\DeathDrift.pwn(475) : error 012: invalid function call, not a valid address
C:\Users\William\Desktop\samp03z_svr_R1_win32\gamemodes\DeathDrift.pwn(475) : warning 215: expression has no effect
C:\Users\William\Desktop\samp03z_svr_R1_win32\gamemodes\DeathDrift.pwn(475) : error 001: expected token: ";", but found ")"
C:\Users\William\Desktop\samp03z_svr_R1_win32\gamemodes\DeathDrift.pwn(475) : error 029: invalid expression, assumed zero
C:\Users\William\Desktop\samp03z_svr_R1_win32\gamemodes\DeathDrift.pwn(475) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
Reply
#5

Quote:
Originally Posted by williamgato
Посмотреть сообщение
SendClientMessage(playerid, Verde, string);
{//<-----------------------
if (IsGodCar(params)) return SendClientMessage(playerid,Vermelho,"God Car desativado");
IsGodCar[carid] = 0;
}
return 1;
}[/pawn]
........

@edit: O luigi mostrou como se faz.
Reply
#6

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
Uma dica sobre a primeira dъvida do comando de godCar:
pawn Код:
//Variбvel para verificar se o god car tб ativado
new bool: IsGodCar[MAX_VEHICLES];

CMD: godcar(playerid, params[]) {

    //Pega o ID do veнculo que o jogador tб.
    new v;
   
    //Pega algum parвmetro /godcar [id]
    sscanf(params, "D(-1)", v);
   
    //Verifica se vocк digitou parвmetro, se nгo, inseri o ID do veнculo que vocк tб dentro.
    if (v == -1) {
       v = GetPlayerVehicleID(playerid);
    }

    if (IsGodCar[v]) {

        //God car ativado.

        IsGodCar[v] = false;
    } else {
   
        //God car ativado.
   
        IsGodCar[v] = true;
    }
}
Use SSCANF.


Abraзos.
apesar de eu nao ter entendido quase nada do seu comando , funcionou direitinho, obrigado, eu estava tentado fazer por mim mesmo mas se ja ta feito e melhor aproveitar kkk
sera que pode me dizer outra coisa
tipo quando eu erro um comando nesse novo sistema CMD:
aparece unknown command queria saber para colocar alguma coisa quando erra sera que podes me ajudar?
Reply
#7

Eu comentei o cуdigo justamente pra ficar explicadinho, nгo ficou tгo complicado assim...

Tem umas callbacks de gerenciamento, tu pode botar um retorno com mensagem nelas, ai essa mensagem serб mostrada quando vocк errar o comando...

Nгo sei ao certo, mas pesquisa ai:

Код:
forward OnPlayerCommandReceived(playerid, cmdtext[]); 
forward OnPlayerCommandPerformed(playerid, cmdtext[], success);
Й uma dessas duas.
Reply
#8

REMOVED


A callback que deve usar й a OnPlayerCommandPerformed caso a parвmetro sucess retornar falso.


@edit: O Willian postou acima o que eu ia falar.
Reply
#9

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


A callback que deve usar й a OnPlayerCommandPerformed caso a parвmetro sucess retornar falso.


@edit: O Willian postou acima o que eu ia falar.
consegui obrigado, ja que estao assim dispostos a resolver as duvidas do povo , sabe se e possivel abrir 2 comandos com a unica funзao por exemplo a do god car
deixa assim
/godcar e /gc
seria possivel isso? eu sei que era cmdtext mas agr nao consigo encontrar isso
Reply
#10

cria o GC e manda ele chamar o godcar...

pawn Код:
CMD: gc(playerid, params[]) { cmd_godcar(playerid, params); }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)