їCуmo solucionar el creado y destrucciуn de vehнculos?
#1

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(playeridparams[])
{
    new 
tmp[256], tmp2[256], tmp3[256], IndexDDtmp strtok(params,IndexDD), tmp2 strtok(params,IndexDD); tmp3 strtok(params,IndexDD);
     if(
isnull(tmp)) return SendClientMessage(playerid0xFF0000AA"* Usa: /veh [Nombre o ID]");
    new 
car;
    if(!
IsNumeric(tmp)) car GetVehicleModelIDFromName(tmp); else car strval(tmp);
    if(
car 400 || car 611) return  SendClientMessage(playerid0xFF0000AA"* 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(playeridRojo"* 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] != -1CarDeleter(Informacion[playerid][pCar]);
    }
    new 
Float:xFloat:yFloat:zFloat:angle;
    
GetPlayerPos(playeridxyz);
    
GetPlayerFacingAngle(playeridangle);
    
//if(Informacion[playerid][pCar] != -1) CarDeleter(Informacion[playerid][pCar]);
     
new vehicleid=CreateVehicle(modelxyzangle, -1, -1, -1);
    
PutPlayerInVehicle(playeridvehicleid0);
    
SetVehicleVirtualWorld(vehicleidGetPlayerVirtualWorld(playerid));
    
LinkVehicleToInterior(vehicleidGetPlayerInterior(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(playeridverde"    ");
    
SendClientMessage(playeridverde"    ");
    
format(stringsizeof(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(playeridblanco"* Tambiйn esta el comando /v para un menъ completo de vehнculos, /vehiculo <nombre>...");
     
Informacion[playerid][pCar] = vehicleid;
     
SendClientMessage(playeridverde"    ");
     
SendClientMessage(playeridverde"    ");
    return 
1;
}
//Funcion Cardeleter
CarDeleter(vehicleid)
{
    for(new 
i=0;i<MAX_PLAYERS;i++)
    {
        new 
Float:Xz,Float:Yz,Float:Zz;
        if(
IsPlayerInVehicle(ivehicleid))
        {
            
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);

Reply
#2

Revivo :c
Reply
#3

Mira, lo veo bien, ahhh no ser que este interfiriendo el ladmin, supongo que usas eso, їno? y en fs. Prueba sin el ladmin y me dices. Si sigue el error tratare de solucionartelo, puede ser en ambos lados el problema. Al cуdigo lo mire asн nomas, pero se ve que estб bien.

EDIT: yo solucione un sistema asн, el de rl.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)