[Ajuda] Nгo respawna.
#1

Peguei um sistema de setar veнculos aqui no fуrum: Sistema de veнculo prуprio - Set modifiquei umas coisas e nгo to conseguindo fazer com que ele respawne "x" minuto depois de sair do veiculo, ele continua parado no mesmo canto.
PHP код:
// --------[ Includes ]-----------
#include <a_samp>
#include <sscanf2>
#include <zcmd>
#include <DOF2>
// --------[ Defines ] -----------
#define MAX_CARROS              200
#define DIALOG_CMDSET           101
#define AMARELO            0xE8E800AA
#define VERDE_CLARO        0x00FF00AA
#define VERMELHO_ESCURO    0xFC0000FF
#if defined MAX_PLAYERS
#undef MAX_PLAYERS
#define MAX_PLAYERS 100
#endif
// --------[  New's  ] ------------
new
    
SetProprio 0,
    
Set[MAX_CARROS],
    
Text3D:Textcarro[MAX_CARROS]
;
new 
NomeCarro[212][] =
{
    
"Landstalker""Bravura""Buffalo""Linerunner""Perrenial""Sentinel""Dumper""Firetruck""Trashmaster""Stretch""Manana",
    
"Infernus""Voodoo""Pony""Mule""Cheetah""Ambulance""Leviathan""Moonbeam""Esperanto""Taxi""Washington""Bobcat",
    
"Whoopee""BF Injection""Hunter""Premier""Enforcer""Securicar""Banshee""Predator""Bus""Rhino""Barracks""Hotknife",
    
"Trailer 1""Previon""Coach""Cabbie""Stallion""Rumpo""RC Bandit""Romero""Packer""Monster""Admiral""Squalo",
    
"Seasparrow""Pizzaboy""Tram""Trailer 2""Turismo""Speeder""Reefer""Tropic""Flatbed""Yankee""Caddy""Solair",
    
"Berkley's RC Van""Skimmer""PCJ-600""Faggio""Freeway""RC Baron""RC Raider""Glendale""Oceanic""Sanchez""Sparrow",
    
"Patriot""Quad""Coastguard""Dinghy""Hermes""Sabre""Rustler""ZR-350""Walton""Regina""Comet""BMX""Burrito",
    
"Camper""Marquis""Baggage""Dozer""Maverick""News Chopper""Rancher""FBI Rancher""Virgo""Greenwood""Jetmax""Hotring",
    
"Sandking""Blista Compact""Police Maverick""Boxville""Benson""Mesa""RC Goblin""Hotring Racer A""Hotring Racer B",
    
"Bloodring Banger""Rancher""Super GT""Elegant""Journey""Bike""Mountain Bike""Beagle""Cropduster","Stunt",  "Tanker",
    
"Roadtrain""Nebula""Majestic""Buccaneer""Shamal""Hydra""FCR-900""NRG-500""HPV1000""Cement Truck""Tow Truck""Fortune",
    
"Cadrona""FBI Truck""Willard""Forklift""Tractor""Combine""Feltzer""Remington""Slamvan""Blade""Freight""Streak",
    
"Vortex""Vincent""Bullet""Clover""Sadler""Firetruck LA""Hustler""Intruder""Primo""Cargobob""Tampa""Sunrise""Merit",
    
"Utility""Nevada""Yosemite""Windsor""Monster A""Monster B""Uranus""Jester""Sultan""Stratum""Elegy""Raindance",
    
"RC Tiger""Flash""Tahoma""Savanna""Bandito""Freight Flat""Streak Carriage""Kart""Mower""Dune""Sweeper""Broadway",
    
"Tornado""AT-400""DFT-30""Huntley""Stafford""BF-400""News Van""Tug""Trailer 3""Emperor""Wayfarer""Euros""Hotdog",
    
"Club""Freight Carriage""Trailer 4""Andromada""Dodo""RC Cam""Launch""Police Car (LSPD)""Police Car (SFPD)",
    
"Police Car (LVPD)""Police Ranger""Picador""S.W.A.T""Alpha""Phoenix""Glendale""Sadler""Luggage Trailer A",
    
"Luggage Trailer B""Stairs""BoxVille""Tiller""Utility Trailer"
};
// ---------[ Publics ] -----------
public OnFilterScriptInit()
{
    
// Contagem dos Sets
    
new
        
iSetsCount
    
;
    for(new 
car 0car MAX_CARROScar++)
    {
        new
            
string[80],
            
strings[80]
        ;
        
format(string,sizeof(string),"Carros/carro%d.ini",car);
        if(
DOF2_FileExists(string))
        {
            
Set[car] = AddStaticVehicleEx(DOF2_GetInt(string,"Modelo"),DOF2_GetInt(string,"CarroX"),DOF2_GetInt(string,"CarroY"),DOF2_GetInt(string,"CarroZ"), DOF2_GetInt(string,"CarroR"),DOF2_GetInt(string,"Cor1"),DOF2_GetInt(string,"Cor2"), 60000);
            
format(strings,sizeof(strings),"%s"DOF2_GetString(string,"Mensagem"));
            
SetVehicleNumberPlate(Set[car], DOF2_GetString(string"Placa"));
            
iSetsCount ++;
            
SetProprio iSetsCount;
        }
    }
    return 
1;
}
public 
OnFilterScriptExit()
{
    
DOF2_Exit();
    return 
1;
}
public 
OnPlayerStateChange(playeridnewstateoldstate)
{
    new
        
vid,
        
Float:X,
        
Float:Y,
        
Float:Z,
        
msg[80],
        
string[80]
    ;
    
vid GetPlayerVehicleID(playerid);
    
GetPlayerPos(playeridXYZ);
    if(
GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        for(new 
car 0car MAX_CARROScar++)
        {
            if(
vid == Set[car])
            {
                
format(string,sizeof(string),"Carros/carro%d.ini",car);
                if(
strcmp(DOF2_GetString(string,"Dono"),Nome(playerid), true) == 0)
                {
                    
format(msg,sizeof(msg),"» %s Seja bem vindo ao seu veнculo prуprio ( Modelo: %s )",Nome(playerid) ,NomeCarro[GetVehicleModel(vid)-400]);
                    
SendClientMessage(playeridAMARELO,msg);
                }
                else
                {
                    
PlayerPlaySound(playerid1147XYZ);
                    
SendClientMessage(playeridVERMELHO_ESCURO,"» {FFFFFF}Vocк nгo й dono(a) deste veнculo.");
                    
format(msg,sizeof(msg), "• Dono: {FFFFFF}%s"DOF2_GetString(string,"Dono"));
                    
SendClientMessage(playeridVERMELHO_ESCURO ,msg);
                    
format(msg,sizeof(msg), "• Modelo: {FFFFFF}%s"NomeCarro[GetVehicleModel(vid)-400]);
                    
SendClientMessage(playeridVERMELHO_ESCURO ,msg);
                    
RemovePlayerFromVehicle(playerid);
                }
            }
        }
    }
    return 
1;
}
// ---------- [ Comandos ] ----------
CMD:setcar(playeridparams[])
{
    new
        
msg[126],
        
msg2[126],
        
string[80],
        
strings[80],
        
giverid,
        
Modeloset,
        
Cor1,
        
Cor2
    
;
    if(
IsPlayerAdmin(playerid))
    {
        if(
sscanf(params"uiii"giveridModelosetCor1Cor2)) return SendClientMessage(playeridVERMELHO_ESCURO"| x | Uso: /setcar [ ID ] [ Modelo ] [ Cor 1 ] [ Cor 2 ]");
        if(
giverid == INVALID_PLAYER_ID) return SendClientMessage(playeridVERMELHO_ESCURO"| x | ID Invбlido.");
        if(!
IsPlayerConnected(giverid)) return SendClientMessage(playeridVERMELHO_ESCURO"| x | Jogador nгo estб conectado.");
        if(
Modeloset 400 || Modeloset 611 ) return SendClientMessage(playeridVERMELHO_ESCURO"| x | Modelos apenas de 400 a 611");
        if(
Cor1 0|| Cor1 255) return SendClientMessage(playeridVERMELHO_ESCURO"| x | Primeira cor entre 0 e 255");
        if(
Cor2 0|| Cor2 255) return SendClientMessage(playeridVERMELHO_ESCURO"| x | Segunda cor entre 0 e 255");
        new
            
Float:PlayerX,
            
Float:PlayerY,
            
Float:PlayerZ,
            
Float:PlayerR
        
;
        
GetPlayerPos(playerid,PlayerX,PlayerY,PlayerZ);
        
GetPlayerFacingAngle(playerid,PlayerR);
        for(new 
car 0car MAX_CARROScar++)
        {
            
format(string,sizeof(string),"Carros/carro%d.ini",car);
            if(!
DOF2_FileExists(string))
            {
                
DOF2_CreateFile(string);
                
DOF2_SetString(string,"Dono"Nome(giverid));
                
DOF2_SetString(string,"Mensagem"Nome(giverid));
                
DOF2_SetInt(string,"Modelo",Modeloset);
                
DOF2_SetInt(string,"Cor1"Cor1);
                
DOF2_SetInt(string,"Cor2"Cor2);
                
DOF2_SetString(string"Placa""SemPlaca");
                
DOF2_SetFloat(string,"CarroX",PlayerX);
                
DOF2_SetFloat(string,"CarroY",PlayerY);
                
DOF2_SetFloat(string,"CarroZ",PlayerZ);
                
DOF2_SetFloat(string,"CarroR",PlayerR);
                
format(strings,sizeof(strings), "%s"Nome(giverid));
                
Delete3DTextLabel(Textcarro[car]);
                
Set[car] = AddStaticVehicleEx(Modeloset,PlayerX,PlayerY,PlayerZ,PlayerR,Cor1,Cor2,60000 );
                
GameTextForPlayer(giverid"~g~SET PROPRIO ~n~~r~SETADO"50000);
                
PlayerPlaySound(giverid10570.00.010.0);
                
formatmsgsizeofmsg ),"[ Servidor ] Carro prуprio setado com sucesso para o jogador %s ( Modelo: %s )"Nome(giverid), NomeCarro[Modeloset -400]);
                
SendClientMessage(playeridVERDE_CLAROmsg);
                
formatmsg2sizeofmsg2 ), "[ Servidor ] O Administrador(a) %s setou um carro prуprio para vocк ( Modelo: %s )"Nome(playerid), NomeCarro[Modeloset -400]);
                
SendClientMessage(giveridAMARELOmsg2);
                
SetVehicleNumberPlate(Set[car], "SemPlaca");
                
SetProprio ++;
                
DOF2_SaveFile();
                break;
            }
        }
    }
    else
    {
        
SendClientMessage(playeridVERMELHO_ESCURO"| x | Comando extremamente reservado!");
    }
    return 
1;
}
// ---------------------------------------- //
//
//  Caso tenha um comando para Deletar
//  veнculos em seu servidor, adcione
//  esse cуdigo abaixo no comando para nгo
//  deletar Set's e bugar seus veнculos !
CMD:dv(playerid)
{
    new
        
vid GetPlayerVehicleID(playerid)
    ;
    for(new 
car 0car MAX_CARROScar++)
    {
        if(
vid == Set[car])
        {
            
SendClientMessage(playeridVERMELHO_ESCURO"| x | Vocк nгo pode deletar um veнculo prуprio !");
            return 
1;
        }
    }
    return 
1;
}
// ------------ [ Stock's ] -----------
stock Nome(playerid)
{
    new 
GetNome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridGetNomesizeof(GetNome));
    return 
GetNome;
}
stock IsVehicleOccupied(vid)
{
    for(new 
0MAX_PLAYERSi++)
    {
        if(
IsPlayerConnected(i))
        {
            if(
GetPlayerState(i) == PLAYER_STATE_DRIVER || GetPlayerState(i) == PLAYER_STATE_PASSENGER)
            {
                if(
GetPlayerVehicleID(i) == vid)
                {
                    return 
1;
                }
            }
        }
    }
    return 
0;
}
stock GetarAreaVeiculo(car)
{
    new 
str[126];
    
format(str,sizeof(str),"%s",Zones[GetarZonaVeiculo(car)][zone_name]);
    return 
str;
}
stock GetarZonaVeiculo(car)
{
    new
        
Float:x,
        
Float:y,
        
Float:z
    
;
    
GetVehiclePos(car,x,y,z);
    for(new 
0<sizeof(Zones); i++)
    {
        if(
Zones[i][zone_minx] && Zones[i][zone_miny] && Zones[i][zone_minz] && Zones[i][zone_maxx] && Zones[i][zone_maxy] && Zones[i][zone_maxz])
        return 
i;
    }
    return 
0;
}
stock GetarDistanciaVeiculo(playeridcar)
{
    new
        
Float:x1,
        
Float:y1,
        
Float:z1,
        
Float:x2,
        
Float:y2,
        
Float:z2,
        
Float:dis
    
;
    
GetPlayerPos(playerid,x1,y1,z1);
    
GetVehiclePos(Set[car],x2,y2,z2);
    
dis floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
    return 
floatround(dis);
}
/* ------------------------[ FIM DO SISTEMA ] --------------------------------*/ 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)