e54385991 |
12-08-2018 04:16 |
CSGO Spawn DroneGun any map
PHP Code:
#pragma semicolon 1 #include <sourcemod> #include <sdktools>
int g_offsCollisionGroup;
public void OnPluginStart() { g_offsCollisionGroup = FindSendPropInfo("CBaseEntity", "m_CollisionGroup"); RegAdminCmd("sm_spawn_dg", CMD_SpawnDroneGun, ADMFLAG_BAN); }
public void OnMapStart() { int precache = PrecacheModel("models/props_survival/dronegun/dronegun.mdl", true); if (precache == 0) { SetFailState("models/props_survival/dronegun/dronegun.mdl not precached !"); } PrecacheModel("models/props_survival/dronegun/dronegun_gib1.mdl", true); PrecacheModel("models/props_survival/dronegun/dronegun_gib2.mdl", true); PrecacheModel("models/props_survival/dronegun/dronegun_gib3.mdl", true); PrecacheModel("models/props_survival/dronegun/dronegun_gib4.mdl", true); PrecacheModel("models/props_survival/dronegun/dronegun_gib5.mdl", true); PrecacheModel("models/props_survival/dronegun/dronegun_gib6.mdl", true); PrecacheModel("models/props_survival/dronegun/dronegun_gib7.mdl", true); PrecacheModel("models/props_survival/dronegun/dronegun_gib8.mdl", true); PrecacheSound("sound/survival/turret_death_01.wav", true); PrecacheSound("sound/survival/turret_idle_01.wav", true); PrecacheSound("sound/survival/turret_takesdamage_01.wav", true); PrecacheSound("sound/survival/turret_takesdamage_02.wav", true); PrecacheSound("sound/survival/turret_takesdamage_03.wav", true); PrecacheSound("sound/survival/turret_lostplayer_01.wav", true); PrecacheSound("sound/survival/turret_lostplayer_02.wav", true); PrecacheSound("sound/survival/turret_lostplayer_03.wav", true); PrecacheSound("sound/survival/turret_sawplayer_01.wav", true); }
public Action CMD_SpawnDroneGun(int client, int args) { if(!IsClientInGame(client)) { return Plugin_Handled; } float vec[2][3]; GetClientEyePosition(client, vec[0]); GetClientEyeAngles(client, vec[1]); Handle trace = TR_TraceRayFilterEx(vec[0], vec[1], MASK_SOLID, RayType_Infinite, Filter_ExcludePlayers); if(!TR_DidHit(trace)) { delete trace; return Plugin_Handled; } TR_GetEndPosition(vec[0], trace); delete (trace); int dronegun = CreateEntityByName("dronegun"); if(dronegun == -1 || !IsValidEntity(dronegun)) { //PrintToServer("dronegun %d",dronegun); return Plugin_Handled; } //PrintToServer("A dronegun %d",dronegun); vec[0][2] = vec[0][2] + 16.0; SetEntData(dronegun, g_offsCollisionGroup, 2, 4, true); // no Collision SetEntPropEnt(dronegun, Prop_Send, "m_hOwnerEntity", client); // owner. //SetEntPropEnt(dronegun, Prop_Send, "m_iTeamNum", 2); //Team 2= CT 1 = T 0 = any [default 0] TeleportEntity(dronegun, vec[0], NULL_VECTOR, NULL_VECTOR); DispatchSpawn(dronegun); return Plugin_Handled; } //-----FILTERS-----// public bool Filter_ExcludePlayers(int entity, int contentsMask, any data) { return !((entity > 0) && (entity <= MaxClients)); }
|