Skip to content
This repository was archived by the owner on Aug 4, 2025. It is now read-only.

Commit f064af1

Browse files
authored
Merge pull request #2 from Headline22/master
Create ArmsFix_OnModelSafe & Adjust ArmsFix_OnArmsSafe Thanks Headline.
2 parents 46a208f + 53b0a69 commit f064af1

File tree

3 files changed

+37
-8
lines changed

3 files changed

+37
-8
lines changed
349 Bytes
Binary file not shown.

addons/sourcemod/scripting/include/n_arm_fix.inc

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,20 @@
55

66

77
/**
8-
* Called when it's OK for plugins to set arms.
8+
* Called when it's safe to set arms.
99
*
1010
* @param client client index
1111
* @return no return
1212
*/
13-
forward void ArmsFix_OnArmsSet(int client);
13+
forward void ArmsFix_OnArmsSafe(int client);
14+
15+
/**
16+
* Called when it's safe to set player model.
17+
*
18+
* @param client client index
19+
* @return no return
20+
*/
21+
forward void ArmsFix_OnModelSafe(int client);
1422

1523

1624
public SharedPlugin n_arm_fix_include_shared =

addons/sourcemod/scripting/n_arms_fix.sp

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
#pragma semicolon 1
66
#pragma newdecls required
77

8-
Handle forwardHandle;
8+
Handle armsHandle;
9+
Handle modelHandle;
910

1011
char defaultArms[][] = { "models/weapons/ct_arms.mdl", "models/weapons/t_arms.mdl" };
1112
char defaultModels[][] = { "models/player/ctm_fbi.mdl", "models/player/tm_phoenix.mdl" };
@@ -27,7 +28,8 @@ public void OnMapStart() {
2728
public void OnPluginStart() {
2829

2930
RegPluginLibrary("n_arms_fix");
30-
forwardHandle = CreateGlobalForward("ArmsFix_OnArmsSet", ET_Ignore, Param_Cell);
31+
armsHandle = CreateGlobalForward("ArmsFix_OnArmsSafe", ET_Ignore, Param_Cell);
32+
modelHandle = CreateGlobalForward("ArmsFix_OnModelSafe", ET_Ignore, Param_Cell);
3133

3234
HookEvent("player_spawn", Event_Spawn, EventHookMode_Post);
3335
}
@@ -68,15 +70,34 @@ public Action Event_Spawn(Event event, const char[] name, bool dontBroadcast) {
6870
SetEntPropString(client, Prop_Send, "m_szArmsModel", defaultArms[0]);
6971
}
7072

71-
CallArmsForward(client);
73+
CreateTimer(0.2, Timer_CallForward, GetClientUserId(client), TIMER_FLAG_NO_MAPCHANGE);
7274
}
7375

7476
return Plugin_Continue;
7577
}
7678

77-
void CallArmsForward(int client)
78-
{
79-
Call_StartForward(forwardHandle);
79+
80+
public Action Timer_CallForward(Handle timer, int userid) {
81+
82+
CallArmsForward(GetClientOfUserId(userid));
83+
CreateTimer(0.0, Timer_CallModelForward, userid, TIMER_FLAG_NO_MAPCHANGE);
84+
}
85+
86+
public Action Timer_CallModelForward(Handle timer, int userid) {
87+
88+
CallModelForward(GetClientOfUserId(userid));
89+
}
90+
91+
void CallModelForward(int client) {
92+
93+
Call_StartForward(modelHandle);
94+
Call_PushCell(client);
95+
Call_Finish();
96+
}
97+
98+
void CallArmsForward(int client) {
99+
100+
Call_StartForward(armsHandle);
80101
Call_PushCell(client);
81102
Call_Finish();
82103
}

0 commit comments

Comments
 (0)