Veteran Member
Join Date: Sep 2010
Location: Brazil, São Paulo
|
10-31-2014
, 17:26
prop_vehicle_driveable issue
|
#1
|
When I give spawn the car can only drive alone to force the player into the car.
And if trying to get out is not possible.
I can exit of car using some line of NataliaAF code, but the problem is if KILL or REMOVE car entity, server crash.
I found several people with the same problem, is there any way to fix this?
PHP Code:
#include <sourcemod> #include <sdktools>
#define EF_NODRAW 32 #define COLLISION_GROUP_PLAYER 5 #define HIDEHUD_WEAPONSELECTION 1 #define HIDEHUD_CROSSHAIR 256 #define HIDEHUD_INVEHICLE 1024
public OnPluginStart() { RegAdminCmd("sm_car", Command_CAR, ADMFLAG_ROOT); RegAdminCmd("sm_car2", Command_CAR2, ADMFLAG_ROOT); }
public OnMapStart() { PrecacheModel("models/buggy.mdl"); }
public Action:Command_CAR(client, args) { new String:name[255]; GetClientName(client, name, sizeof(name));
decl Ent; Ent = CreateEntityByName("prop_vehicle_driveable");
DispatchKeyValue(Ent, "vehiclescript", "scripts/vehicles/ep1.txt"); DispatchKeyValue(Ent, "model", "models/buggy.mdl");
DispatchKeyValueFloat (Ent, "MaxPitch", 360.00); DispatchKeyValueFloat (Ent, "MinPitch", -360.00); DispatchKeyValueFloat (Ent, "MaxYaw", 90.00); DispatchKeyValue(Ent, "solid","6"); DispatchKeyValue(Ent, "actionScale","1"); DispatchKeyValue(Ent, "EnableGun","0"); DispatchKeyValue(Ent, "ignorenormals","0"); DispatchKeyValue(Ent, "fadescale","1"); DispatchKeyValue(Ent, "fademindist","-1"); DispatchKeyValue(Ent, "VehicleLocked","0"); DispatchKeyValue(Ent, "screenspacefade","0"); DispatchKeyValue(Ent, "spawnflags", "256" ); DispatchKeyValue(Ent, "setbodygroup", "511" ); SetEntProp(Ent, Prop_Send, "m_nSolidType", 2); DispatchSpawn(Ent); ActivateEntity(Ent);
DispatchSpawn(Ent);
ActivateEntity(Ent);
decl Float:FurnitureOrigin[3]; decl Float:ClientOrigin[3]; decl Float:EyeAngles[3]; GetClientEyeAngles(client, EyeAngles); GetClientAbsOrigin(client, ClientOrigin);
FurnitureOrigin[0] = (ClientOrigin[0] + (50 * Cosine(DegToRad(EyeAngles[1])))); FurnitureOrigin[1] = (ClientOrigin[1] + (50 * Sine(DegToRad(EyeAngles[1])))); FurnitureOrigin[2] = (ClientOrigin[2]);
TeleportEntity(Ent, FurnitureOrigin, NULL_VECTOR, NULL_VECTOR);
SetEntProp(Ent, Prop_Data, "m_nNextThinkTick", -1);
SetEntPropEnt(client, Prop_Send, "m_hObserverTarget", 0); SetEntProp(client, Prop_Send, "m_iObserverMode", 1);
// force players in. if (client != 0) { AcceptEntityInput(Ent, "use", client); } }
public Action:Command_CAR2(client, args) { LeaveVehicle(client); }
LeaveVehicle(client) { new vehicle = GetEntPropEnt(client, Prop_Send, "m_hVehicle"); if (IsValidEntity(vehicle)) { AcceptEntityInput(client, "SetParent"); SetVariantString("vehicle_driver_exit"); AcceptEntityInput(client, "SetParentAttachment");
new Float:ExitAng[3]; GetEntPropVector(vehicle, Prop_Data, "m_angRotation", ExitAng); ExitAng[0] = 0.0; ExitAng[1] += 90.0; ExitAng[2] = 0.0; AcceptEntityInput(client, "ClearParent"); SetEntPropEnt(client, Prop_Send, "m_hVehicle", -1); SetEntPropEnt(vehicle, Prop_Send, "m_hPlayer", -1); SetEntityMoveType(client, MOVETYPE_WALK); SetEntProp(client, Prop_Send, "m_CollisionGroup", COLLISION_GROUP_PLAYER); new hud = GetEntProp(client, Prop_Send, "m_iHideHUD"); hud &= ~HIDEHUD_WEAPONSELECTION; hud &= ~HIDEHUD_CROSSHAIR; hud &= ~HIDEHUD_INVEHICLE; SetEntProp(client, Prop_Send, "m_iHideHUD", hud); new EntEffects = GetEntProp(client, Prop_Send, "m_fEffects"); EntEffects &= ~EF_NODRAW; SetEntProp(client, Prop_Send, "m_fEffects", EntEffects);
SetEntProp(vehicle, Prop_Send, "m_nSpeed", 0); SetEntPropFloat(vehicle, Prop_Send, "m_flThrottle", 0.0); AcceptEntityInput(vehicle, "TurnOff");
SetEntPropFloat(vehicle, Prop_Data, "m_flTurnOffKeepUpright", 0.0); SetEntProp(vehicle, Prop_Send, "m_iTeamNum", 0); TeleportEntity(client, NULL_VECTOR, ExitAng, NULL_VECTOR); SetClientViewEntity(client, client); }
new index = -1; while ((index = FindEntityByClassname(index, "prop_vehicle_driveable")) != -1) RemoveEdict(index);
new plyr_gun2 = GetPlayerWeaponSlot(client, 2); if (IsValidEntity(plyr_gun2)) { RemovePlayerItem(client, plyr_gun2); RemoveEdict(plyr_gun2); GivePlayerItem(client, "weapon_knife", 0); } SetClientViewEntity(client, client); }
Regards.
__________________
My Plugins | VIEW HERE | I accept private requests, send me a PM.
Buy respawn | Uber Recall | Grenade drop | Damage Supperssor
Meet the Medic | Disguise Expert | Crazy Jet
CZSBrasil TEAM
Last edited by rodrigo286; 10-31-2014 at 20:55.
|
|