@@ -294,36 +294,45 @@ addEventHandler('onPlayerSpawn', root,
294
294
function ()
295
295
local playerID = getElemID (source )
296
296
local playerdata = g_Players [playerID ]
297
+
297
298
local spawninfo = playerdata .spawninfo or (g_PlayerClasses and g_PlayerClasses [playerdata .selectedclass ])
298
299
if not spawninfo or playerdata .doingclasssel then
299
300
return
300
301
end
301
302
302
- setElementFrozen (source , false )
303
- toggleAllControls (source , true )
304
- setElementAlpha (source , 255 )
305
- setElementCollisionsEnabled (source , true )
306
-
307
303
setPlayerState (source , PLAYER_STATE_SPAWNED )
308
- procCallOnAll (' OnPlayerSpawn' , playerID )
304
+ handlePlayerSpawn (source )
305
+ end
306
+ )
309
307
310
- -- wanna see CJ in a white singlet?
311
- addPedClothes (source , ' vest' , ' vest' , 0 )
308
+ function handlePlayerSpawn (player )
309
+ local playerID = getElemID (player )
310
+ local playerdata = g_Players [playerID ]
312
311
313
- if not g_UseCJWalk then
314
- local skin = getElementModel ( source )
315
- setPedWalkingStyle ( source , WalkingStyle [ skin ] or 0 )
316
- end
312
+ setElementFrozen ( player , false )
313
+ toggleAllControls ( player , true )
314
+ setElementAlpha ( player , 255 )
315
+ setElementCollisionsEnabled ( player , true )
317
316
318
- if g_Players [playerID ].updatetimer then
319
- killTimer (g_Players [playerID ].updatetimer )
320
- end
321
- g_Players [playerID ].updatetimer = setTimer (procCallOnAll , 100 , 0 , ' OnPlayerUpdate' , playerID )
317
+ procCallOnAll (' OnPlayerSpawn' , playerID )
318
+ setPlayerState (player , PLAYER_STATE_ONFOOT )
322
319
323
- playerdata .vehicle = nil
324
- playerdata .specialaction = SPECIAL_ACTION_NONE
320
+ -- wanna see CJ in a white singlet?
321
+ addPedClothes (player , ' vest' , ' vest' , 0 )
322
+
323
+ if not g_UseCJWalk then
324
+ local skin = getElementModel (player )
325
+ setPedWalkingStyle (player , WalkingStyle [skin ] or 0 )
325
326
end
326
- )
327
+
328
+ if g_Players [playerID ].updatetimer then
329
+ killTimer (g_Players [playerID ].updatetimer )
330
+ end
331
+ g_Players [playerID ].updatetimer = setTimer (procCallOnAll , 100 , 0 , ' OnPlayerUpdate' , playerID )
332
+
333
+ playerdata .vehicle = nil
334
+ playerdata .specialaction = SPECIAL_ACTION_NONE
335
+ end
327
336
328
337
addEventHandler (' onPlayerChat' , root ,
329
338
function (msg , type )
@@ -474,8 +483,11 @@ addEventHandler('onResourceStart', resourceRoot,
474
483
function checkAndUpdatePlayerStates ()
475
484
for i , data in pairs (g_Players ) do
476
485
local state = getPlayerState (data .elem )
477
- if (state == PLAYER_STATE_DRIVER or state == PLAYER_STATE_PASSENGER ) or
478
- (state == PLAYER_STATE_SPAWNED or state == PLAYER_STATE_NONE ) then
486
+ if state == PLAYER_STATE_SPAWNED or state == PLAYER_STATE_NONE then
487
+ if not data .doingclasssel and not data .viewingintro then
488
+ handlePlayerSpawn (data .elem )
489
+ end
490
+ elseif state == PLAYER_STATE_DRIVER or state == PLAYER_STATE_PASSENGER then
479
491
if not isPedInVehicle (data .elem ) then
480
492
setCameraTarget (data .elem , data .elem )
481
493
setPlayerState (data .elem , PLAYER_STATE_ONFOOT )
0 commit comments