04.01.2013, 11:50
Buenas a todo forum-samp, querнa saber por quй, cualquiera que se sube a un coche, puede usar /motor y encenderlo. Bien tengo definido, que si es un coche de facciуn o job, si no pertenece a esta, lo expulse del coche y eso va bien. Pero cualquier coche en venta o suelto en la calle, se puede usar /motor y encenderlo.
Aquн os dejo el cуdigo de /motor y de una variable que contiene "StartingTheVehicle", el GM es de CiudadMetroRol, pero el comando /motor es del VirtualRol, ya que el del CiudadMetroRol es muy... malo, ya que te congela y tal.
Y aquн el StartingTheVehicle.
Aquн os dejo el cуdigo de /motor y de una variable que contiene "StartingTheVehicle", el GM es de CiudadMetroRol, pero el comando /motor es del VirtualRol, ya que el del CiudadMetroRol es muy... malo, ya que te congela y tal.
pawn Код:
if(!strcmp(cmd, "/motor", true))
{
new carkey = PlayerInfo[playerid][pPcarkey];
new carkey2 = PlayerInfo[playerid][pPcarkey2];
new carkey3 = PlayerInfo[playerid][pPcarkey3];
if(IsPlayerConnected(playerid))
{
if(IsPlayerInAnyVehicle(playerid))
{
if(!engineOn[GetPlayerVehicleID(playerid)])
{
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
{
return 1;
}
if(CarInfo[GetPlayerVehicleID(playerid)][cOwned] == 1)
{
if(carkey == GetPlayerVehicleID(playerid) || carkey2 == GetPlayerVehicleID(playerid) || carkey3 == GetPlayerVehicleID(playerid))
{
if(gEngine[playerid] == 1) { return 1; }
new playerveh = GetPlayerVehicleID(playerid);
PutPlayerInVehicle(playerid, playerveh, 0);
format(string, sizeof(string), "%s intenta encender el motor del vehнculo.", NombreEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetTimerEx("StartingTheVehicle",1000,0,"i",playerid);
GameTextForPlayer(playerid, "~r~Encendiendo",1000,3);
gEngine[playerid] = 1;
return 1;
}
else
{
SendClientMessage(playerid,COLOR_GREY,"No tienes las llaves de este vehнculo.");
return 1;
}
}
if(gEngine[playerid] == 1) { return 1; }
new playerveh = GetPlayerVehicleID(playerid);
PutPlayerInVehicle(playerid, playerveh, 0);
format(string, sizeof(string), "%s intenta encender el motor del vehнculo.", NombreEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetTimerEx("StartingTheVehicle",1000,0,"i",playerid);
GameTextForPlayer(playerid, "~r~Encendiendo",1000,3);
gEngine[playerid] = 1;
return 1;
}
if(engineOn[GetPlayerVehicleID(playerid)])
{
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
{
return 1;
}
if(CarInfo[GetPlayerVehicleID(playerid)][cOwned] == 1)
{
if(carkey == GetPlayerVehicleID(playerid) || carkey2 == GetPlayerVehicleID(playerid) || carkey3 == GetPlayerVehicleID(playerid))
{
engineOn[GetPlayerVehicleID(playerid)] = false;
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s gira las llaves y apaga el motor.", NombreEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
gEngine[playerid] = 0;
new enginem, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),enginem, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
return 1;
}
else
{
SendClientMessage(playerid,COLOR_GREY,"No tienes las llaves de este vehнculo.");
return 1;
}
}
engineOn[GetPlayerVehicleID(playerid)] = false;
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s gira las llaves y apaga el motor.", NombreEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
gEngine[playerid] = 0;
new enginem, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),enginem, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
return 1;
}
}
}
return 1;
}
pawn Код:
public StartingTheVehicle(playerid)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerInAnyVehicle(playerid))
{
new RandomStart;
new string[256];
new sendername[MAX_PLAYER_NAME];
RandomStart = random(5);
switch(RandomStart)
{
case 0,1,2,4:
{
engineOn[GetPlayerVehicleID(playerid)] = true;
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s enciende el motor del vehнculo.", NombreEx(playerid));
ProxDetector(30.0, playerid, string, 0x00E200FF,0x00E200FF,0x00E200FF,0x00E200FF,0x00E200FF);
gEngine[playerid] = 0;
new enginem, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),enginem, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
}
case 3:
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s no logra encender el motor del vehнculo.", NombreEx(playerid));
ProxDetector(30.0, playerid, string, 0xCD0000FF,0xCD0000FF,0xCD0000FF,0xCD0000FF,0xCD0000FF);
gEngine[playerid] = 0;
new enginem, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(GetPlayerVehicleID(playerid),enginem, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
}
}
}
else
{
gEngine[playerid] = 0;
}
}
return 1;
}