[problema] al arrancar un vehнculo -
MrNatrio - 27.09.2014
Buenas, hace tiempo hice con la ayuda de un amigo un sistema para arrancar los vehнculos y funcionaba a la perfecciуn. Hoy lo he probado con otro jugador conectado a la vez y tuve un problema; cuando uno entra en un vehнculo y pone
/arrancar, le sale un GameText y se enciende el motor, pero si el otro jugador tambiйn pone
/arrancar a otro vehнculo, a este sуlo le aparece el GameText pero no arranca. їA quй se debe? y їCуmo puedo hacer para que cada jugador pueda arrancar un vehнculo individual?
Aquн estб el cуdigo:
pawn Код:
CMD:arrancar(playerid,params[])
{
new car = GetPlayerVehicleID(playerid);
new Float:vida;
GetVehicleHealth(car,vida);
if(car < SellCoches[10])
{
SendClientMessage(playerid,red,"No puedes arrancar este vehнculo");
}
if(GetVehicleModel(car) == 437)
{
if(PlayerInfo[playerid][CarnetBus] !=1) return SendClientMessage(playerid,red,"No tienes carnet de bus. Para sacбrtelo pon {FFFFFF}/autoescuela");
}
else if(GetVehicleModel(car) != 437)
{
if(PlayerInfo[playerid][CarnetCoche] != 1) return SendClientMessage(playerid,red,"No tienes carnet de coche. Para sacбrtelo pon {FFFFFF}/autoescuela");
}
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,"Debes estar en un vehнculo como conductor");
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid,-1,"Debes ser el conductor del coche para {FF0000}encender{FFFFFF}el mismo");
if(VehicleEngine[car] == false)
{
SetTimer("Arrancar",1000,false);
GameTextForPlayer(playerid,"Arrancando ~r~motor...",1000,3);
}
if(vida <= 500) return SendClientMessage(playerid,red,"Debes reparar el motor");
return 1;
}
pawn Код:
forward Arrancar(playerid);
public Arrancar(playerid)
{
new car = GetPlayerVehicleID(playerid);
new engine,lights,alarm,doors,bonnet,boot,objective;
if(VehicleEngine[car] == false)
{
VehicleEngine[car] = true;
GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(car,VehicleEngine[car],lights,alarm,doors,bonnet,boot,objective);
SendClientMessage(playerid,-1,"ЎMotor del vehнculo encendido!");
}
return 1;
}
Espero que me puedan ayudar, gracias de antemano.
Respuesta: [problema] al arrancar un vehнculo -
Juance - 27.09.2014
Hace un timer para cada jugador y no uno global. Ademбs de que en el timer no estбs especificando parбmetros y en la funciуn del timer si.
pawn Код:
SetTimerEx("Arrancar",1000,false,"i",playerid);
Mбs informaciуn:
Acб y
acб
Respuesta: [problema] al arrancar un vehнculo -
[J]ulian - 27.09.2014
pawn Код:
CMD:arrancar(playerid,params[])
{
if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new Float:health, vehicleid = GetPlayerVehicleID(playerid);
GetVehicleHealth(vehicleid, health);
if(health <= 500)
{
return SendClientMessage(playerid, red, "Debes reparar el motor");
}
if(vehicleid < SellCoches[10])
{
return SendClientMessage(playerid, red, "No puedes arrancar este vehнculo");
}
if((GetVehicleModel(vehicleid) == 437 && PlayerInfo[playerid][CarnetBus] != 1)
|| (GetVehicleModel(vehicleid) != 437 && PlayerInfo[playerid][CarnetCoche] != 1))
{
return SendClientMessage(playerid, red, "No tienes carnet. Para sacбrtelo pon {FFFFFF}/autoescuela");
}
if(!VehicleEngine[vehicleid])
{
SetTimerEx("Arrancar", 1000, false, "ii", playerid, vehicleid);
GameTextForPlayer(playerid,"Arrancando ~r~motor...", 1000, 3);
}
} else SendClientMessage(playerid, -1, "Debes estar en un vehнculo como conductor");
return 1;
}
forward Arrancar(playerid, vehicleid);
public Arrancar(playerid, vehicleid)
{
if(!VehicleEngine[vehicleid])
{
new engine, lights, alarm, doors, bonnet, boot, objective;
VehicleEngine[vehicleid] = true;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(vehicleid, true, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid, -1, "ЎMotor del vehнculo encendido!");
}
return 1;
}
Respuesta: [problema] al arrancar un vehнculo -
MrNatrio - 28.09.2014
Gracias a los dos, ahora funciona con otros jugadores.