[Ajuda] Problema com /car
#1

Meu /car foi feito por um amigo, simples questao eu tenho um carro ( c outro player criar um carro o meu some ).

Codigos a Baixo

OnPlayerConnect:
Код:
	CreatedVehicle[playerid] = 0;
Comandos:
Код:
CMD:car(playerid,params[]) {
    new
		veh[30],
		vehid,
		cor1,
		cor2
	;

	if(sscanf(params,"s[30]dd",veh,cor1,cor2)) return SendClientMessage(playerid,-1,"{FF0000}[ERRO] {C3C3C3} /car [nome ou ID] [cor1] [cor2]");

    if(IsNumeric(veh)) vehid = strval(veh);
        else vehid = ReturnVehicleModelID(veh);

    if(vehid < 400 || vehid > 611) return SendClientMessage(playerid,-1,"{00FF00}[AVISO]{FFFFFF} Veнculo invalido");
   	{
	if(vehid == 520 || vehid == 432 || vehid == 592 || vehid == 425 ||
	vehid == 464 || vehid == 406 || vehid == 476 || vehid == 447) return SendClientMessage(playerid, RED, "[INFO] Este veнculo nгo й permitido neste mundo.");
	}
	GiveVehicle(playerid,vehid,cor1,cor2);
    return 1;
}
GiveVehicle:
Код:
GiveVehicle(playerid,vehicleid, color1, color2)
{
    if(!IsPlayerInAnyVehicle(playerid))
    {
        if(CreatedVehicle[playerid])
            DestroyVehicle(CreatedVehicle[playerid]);

        new Float:x, Float:y, Float:z, Float:angle,string2[85];
        GetPlayerPos(playerid, x, y, z);
        GetPlayerFacingAngle(playerid, angle);

        CreatedVehicle[playerid] = CreateVehicle(vehicleid, x, y, z, angle, color1, color2, -1);

        SetVehicleVirtualWorld(CreatedVehicle[playerid], GetPlayerVirtualWorld(playerid));
        LinkVehicleToInterior(CreatedVehicle[playerid], GetPlayerInterior(playerid));
        PutPlayerInVehicle(playerid, CreatedVehicle[playerid], 0);

        format(string2,sizeof(string2),"{00FF00}» Info « {FFFFFF}Vocк criou o veнculo %s ID: %d", VehicleNames[vehicleid-400],vehicleid);
        SendClientMessage(playerid, -1, string2);
        return 1;
    }
    return 0;
}
ajudem pfv ;-;
Reply
#2

Vocк tem outros carros no gamemode? tem outra funзгo que o CreatedVehicle[playerid] sejб utilizado?
Reply
#3

nao Nao usamos carros no Gamemode
e sim temos o CreatedVehicle[playerid] - como Auto Tune
Reply
#4

Код:
CMD:autotunar(playerid,params[]) {
	if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
		TuneVehicleRandomly(CreatedVehicle[playerid]);
    }
    return 1;
}
uso esse outro comando q tbm requer CreatedVehicle
Reply
#5

O problema й que o CreatedVehicle[playerid] й 0 pra todo mundo e sу muda depois de criar o carro, ou seja, antes de criar o carro ele verifica essa variavel(que por sinal vai estar 0) e por isso deleta o carro.
Reply
#6

entao ocnserto botando em que forma ?
Reply
#7

to sem cabeзa pra pensare.e mas vamos la

cria uma variavel la no topo do gm assim:

new contacarro = 0;

no comando de criar o carro vc vai colocar la no final antes do return:
contacarro ++;
CreatedVehicle[playerid] = contacarro;

Isso vai criar outro id para quando verificar se o player ja criou um carro, ele n excluir o carro anterior.

Pode ser que isso nem funcione, estou cansado e.e desculpe.
Reply
#8

Sim mais eu ja uso uma Variavel pra contar os carros
Reply
#9

Faz como o gabriel disse, se vocк jб tem a variavel, incremente ela antes do return, atribuindo um novo id:
pawn Код:
SuaVariavelQueContaOsCarros++;
CreatedVehicle[playerid] = SuaVariavelQueContaOsCarros;
Seria mais facil vocк estudar um pouco...
Reply
#10

Quote:
Originally Posted by CLANdok
Посмотреть сообщение
Faz como o gabriel disse, se vocк jб tem a variavel, incremente ela antes do return, atribuindo um novo id:
pawn Код:
SuaVariavelQueContaOsCarros++;
CreatedVehicle[playerid] = SuaVariavelQueContaOsCarros;
Seria mais facil vocк estudar um pouco...
nada ver isso, o CreateVehicle retorna o vehicleid, nгo precisa disto.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)