Hola Ayuda
#1

Chicos tengo un problema cuando recargo la gasolina y se llena el tanque me sigue cobrando el costo de la recarga y me hace como un spam :/ este es el comando que anda mal?

Код:
CMD:regasolina(playerid, params[])
{
    if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	{
	    new vehicleid = GetPlayerVehicleID(playerid);
	    new engine,lights,alarm,doors,bonnet,boot,objective;
    	GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
	    if(engine == VEHICLE_PARAMS_ON) return SendClientMessageEx(playerid, COLOR_RED, "Necesitas apagar el motor antes de llenar (/car motor).");
	    if(!IsAtFuelStation(playerid)) return SendClientMessageEx(playerid, COLOR_RED, "No estбs en una estaciуn de gasolina.");
	    if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessageEx(playerid,COLOR_RED,"Este Vehiculo no necesita gasolina.");
	    if(VehicleFuel[vehicleid] >= 100.0) return SendClientMessageEx(playerid, COLOR_RED, "El tanque de este vehнculo ya estб lleno.");
	    if(RefuelingVehicle[playerid] == 1) return SendClientMessageEx(playerid, COLOR_RED, "Estбs llenando el tanque de tu vehнculo.");
       	SendClientMessageEx(playerid, COLOR_WHITE, "Abasteciendo de combustible el tanque de su vehнculo, por favor espere.");
       	RefuelingVehicle[playerid] = 1;
       	RefuelingVehicleTimer[playerid] = SetTimerEx("ReFill", 1000, true, "i", playerid);
	}
	return 1;
}
Reply
#2

Prueba asi te debe de funcionar!!!

pawn Код:
CMD:regasolina(playerid, params[])
{
    if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        new vehicleid = GetPlayerVehicleID(playerid);
        new engine,lights,alarm,doors,bonnet,boot,objective;
        GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
        if(engine == VEHICLE_PARAMS_ON) return SendClientMessageEx(playerid, COLOR_RED, "Necesitas apagar el motor antes de llenar (/car motor).");
        if(!IsAtFuelStation(playerid)) return SendClientMessageEx(playerid, COLOR_RED, "No estбs en una estaciуn de gasolina.");
        if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessageEx(playerid,COLOR_RED,"Este Vehiculo no necesita gasolina.");
        if(VehicleFuel[vehicleid] >= 100.0) return SendClientMessageEx(playerid, COLOR_RED, "El tanque de este vehнculo ya estб lleno.");
        if(RefuelingVehicle[playerid] == 1) return SendClientMessageEx(playerid, COLOR_RED, "Estбs llenando el tanque de tu vehнculo.");
        SendClientMessageEx(playerid, COLOR_WHITE, "Abasteciendo de combustible el tanque de su vehнculo, por favor espere.");
        RefuelingVehicle[playerid] = 1;
        RefuelingVehicleTimer[playerid] = SetTimerEx("ReFill", 1000, false, "i", playerid);
    }
    return 1;
}
Reply
#3

Pasa el public ReFill
Reply
#4

Creo que el problema suyo era este:
pawn Код:
SetTimerEx("ReFill", 1000, true, "i", playerid);
osea que el Timer tenia el True para que se repita!!!

y lo que deberia de aser es cambiarlo a false y es lo que yo le ise y aun no a contestado si le sirvio o no
Reply
#5

Gracias si me sirvio, disculpa por no responder, pero ahora lo otro esque no llena la gasolina que sera :S
Reply
#6

Pues como dice GROVE22 pasanos el public Refill para que beamos
Reply
#7

Aca esta

Код:
forward ReFill(playerid);
public ReFill(playerid)
{
	if(!IsAtFuelStation(playerid) || !IsPlayerInAnyVehicle(playerid) || VehicleFuel[GetPlayerVehicleID(playerid)] >= 100.0 || GetPlayerCash(playerid) < 1)
	{
		StopRefueling(playerid);
	}
	else
	{
	    new engine,lights,alarm,doors,bonnet,boot,objective;
    	GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
		if(engine == VEHICLE_PARAMS_ON) return StopRefueling(playerid);
		VehicleFuel[GetPlayerVehicleID(playerid)] += 1.0; RefuelingVehiclePrice[playerid] += 30;
		if(VehicleFuel[GetPlayerVehicleID(playerid)] >= 100.0) VehicleFuel[GetPlayerVehicleID(playerid)] = 100.0;
	}
	return true;
}
Reply
#8

pawn Код:
public ReFill(playerid)
{
    if(!IsAtFuelStation(playerid) || !IsPlayerInAnyVehicle(playerid) || VehicleFuel[GetPlayerVehicleID(playerid)] >= 100.0 || GetPlayerCash(playerid) < 1)
    {
        StopRefueling(playerid);
    }
    else
    {
        new engine,lights,alarm,doors,bonnet,boot,objective;
        GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
        if(engine == VEHICLE_PARAMS_ON) return StopRefueling(playerid);
        VehicleFuel[GetPlayerVehicleID(playerid)] += 10; RefuelingVehiclePrice[playerid] += 30;
        if(VehicleFuel[GetPlayerVehicleID(playerid)] >= 100) VehicleFuel[GetPlayerVehicleID(playerid)] = 100;
    }
    return true;
}
Prueba asi!!!
Reply
#9

Gracias x'D pero sigue igual D'x lo dejare asi, lo ponde como bugeado hehe igual tengo el empleo de mecanico que vende gasolina

lo puse asi por los momentos
Код:
CMD:regasolina(playerid, params[])
{
	SendClientMessageEx(playerid, COLOR_GREY, "Comando en arreglo por bug, llame a un mecanico!");
	return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)