22.12.2016, 20:19
Buenas, en varias ocasiones, en mi servidor he tenido problemas con el los autos cuando se crean o se destruyen, la funciуn de CrearVehiculo se ejecuta normal, destruye el vehнculo anterior del player para darle uno nuyevo y todo, los players pueden spawnear su auto normal, pero pasa un tiempo cuando el jugador estб en su vehнculo y se le destruye, y en otras ocasiones cuando eso le sucede y quiere spawnear de nuevo un vehнculo este se destruye. No sй si tenga que ver con el timer de "VehRes"
PHP код:
//Comando de ejemplo
CMD:veh(playerid, params[])
{
new tmp[256], tmp2[256], tmp3[256], IndexDD; tmp = strtok(params,IndexDD), tmp2 = strtok(params,IndexDD); tmp3 = strtok(params,IndexDD);
if(isnull(tmp)) return SendClientMessage(playerid, 0xFF0000AA, "* Usa: /veh [Nombre o ID]");
new car;
if(!IsNumeric(tmp)) car = GetVehicleModelIDFromName(tmp); else car = strval(tmp);
if(car < 400 || car > 611) return SendClientMessage(playerid, 0xFF0000AA, "* Usa: /Veh [Nombre o ID]");
if(Informacion[playerid][Admin] == 0)
{
if(ServerInfo[HoraFeliz] == 0)
{
if(car == 425) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(car == 406) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(car == 432) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(car == 447) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(car == 520) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(car == 577) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(car == 464) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(car == 465) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(car == 469) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(car == 476) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(car == 592) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
}
}
CrearVehiculo(playerid,car);
return 1;
}
CrearVehiculo(playerid,model)
{
NoComandos[playerid] = 0;
new xd = GetPlayerState(playerid);
if(xd == PLAYER_STATE_PASSENGER) return GameTextForPlayer(playerid, "~R~~H~~H~~H~Baja de ese vehiculo para sacar tu vehiculo",3000,3);
if(MiniJuego[playerid] != MJ_NO) return SendClientMessage(playerid, Rojo, "* No puedes crear vehiculos en minijuegos.");
if(Informacion[playerid][Admin] == 0)
{
if(ServerInfo[HoraFeliz] == 0)
{
NoComandos[playerid] = 0;
if(model == 425) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(model == 406) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(model == 432) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(model == 447) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(model == 520) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(model == 577) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(model == 464) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(model == 465) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(model == 469) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(model == 476) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
if(model == 592) return SendClientMessage(playerid,0xFF0000FF,"* No puedes crear este vehiculo cuando \"Guerra Total\" esta desactivado.");
}
}
if(model == 590) return SendClientMessage(playerid,0xFF0000FF,"* Vehiculo bloqueado.");
if(model == 449) return SendClientMessage(playerid,0xFF0000FF,"* Vehiculo bloqueado.");
if(model == 537) return SendClientMessage(playerid,0xFF0000FF,"* Vehiculo bloqueado.");
if(model == 538) return SendClientMessage(playerid,0xFF0000FF,"* Vehiculo bloqueado.");
if(model == 569) return SendClientMessage(playerid,0xFF0000FF,"* Vehiculo bloqueado.");
if(model == 570) return SendClientMessage(playerid,0xFF0000FF,"* Vehiculo bloqueado.");
if(model == 606) return SendClientMessage(playerid,0xFF0000FF,"* Vehiculo bloqueado.");
if(model == 607) return SendClientMessage(playerid,0xFF0000FF,"* Vehiculo bloqueado.");
if(model == 608) return SendClientMessage(playerid,0xFF0000FF,"* Vehiculo bloqueado.");
if(model == 610) return SendClientMessage(playerid,0xFF0000FF,"* Vehiculo bloqueado.");
if(model == 611) return SendClientMessage(playerid,0xFF0000FF,"* Vehiculo bloqueado.");
if(model == 584) return SendClientMessage(playerid,0xFF0000FF,"* Vehiculo bloqueado.");
if(IsPlayerInAnyVehicle(playerid))
{
DestroyVehicle(GetPlayerVehicleID(playerid));
}
if(!IsPlayerInAnyVehicle(playerid))
{
if(Informacion[playerid][pCar] != -1) CarDeleter(Informacion[playerid][pCar]);
}
new Float:x, Float:y, Float:z, Float:angle;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, angle);
//if(Informacion[playerid][pCar] != -1) CarDeleter(Informacion[playerid][pCar]);
new vehicleid=CreateVehicle(model, x, y, z, angle, -1, -1, -1);
PutPlayerInVehicle(playerid, vehicleid, 0);
SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
NoComandos[playerid] = 0;
//AddWheelsToVehicle(playerid,vehicleid,Wheels[playerid]);
//TuneVehicleRandomly(vehicleid);
PutPlayerInVehicle(playerid,vehicleid,0);
GameTextForPlayer(playerid, "~b~~h~Vehiculo creado!",3000,3);
new string[800];
SendClientMessage(playerid, verde, " ");
SendClientMessage(playerid, verde, " ");
format(string, sizeof(string), "{00FF00}* Has creado un {FFFFFF}\"%s\"{00FF00}, puedes usar /moto para una nrg500 o /auto para un infernus", VehicleNames[GetVehicleModel(vehicleid) - 400]);
SendClientMessage(playerid,playerColors[playerid], string);
SendClientMessage(playerid, blanco, "* Tambiйn esta el comando /v para un menъ completo de vehнculos, /vehiculo <nombre>...");
Informacion[playerid][pCar] = vehicleid;
SendClientMessage(playerid, verde, " ");
SendClientMessage(playerid, verde, " ");
return 1;
}
//Funcion Cardeleter
CarDeleter(vehicleid)
{
for(new i=0;i<MAX_PLAYERS;i++)
{
new Float:Xz,Float:Yz,Float:Zz;
if(IsPlayerInVehicle(i, vehicleid))
{
RemovePlayerFromVehicle(i);
GetPlayerPos(i,Xz,Yz,Zz);
SetPlayerPos(i,Xz,Yz+3,Zz);
}
SetVehicleParamsForPlayer(vehicleid,i,0,1);
}
SetTimerEx("VehRes",500,0,"i",vehicleid);
return 1;
}
public VehRes(vehicleid)
{
DestroyVehicle(vehicleid);
}