spawn.inc 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #include <YSI_Coding\y_hooks>
  2. forward OnPlayerFirstSpawn(playerid);
  3. static bool:PlayerFirstSpawn[MAX_PLAYERS];
  4. hook OnPlayerConnect(playerid)
  5. {
  6. PlayerFirstSpawn[playerid] = true;
  7. }
  8. hook OnPlayerRequestClass(playerid, classid)
  9. {
  10. new Float:x, Float:y, Float:z, Float:a;
  11. Character_GetLastPos(playerid, x, y, z, a);
  12. SetSpawnInfo(playerid, DEFAULT_TEAM, Player_GetSkin(playerid), x, y, z, a, 0, 0, 0, 0, 0, 0);
  13. SpawnPlayer(playerid);
  14. }
  15. hook OnPlayerSpawn(playerid)
  16. {
  17. SetPlayerHealth(playerid, 100.0);
  18. printf("%s triggered OnPlayerSpawn.", ReturnPlayerRPName(playerid));
  19. if(PlayerFirstSpawn[playerid])
  20. {
  21. CallRemoteFunction("OnPlayerFirstSpawn", "i", playerid);
  22. }
  23. else if(!IsPlayerWounded(playerid))
  24. {
  25. SetPlayerPos(playerid, DEFAULT_POSX, DEFAULT_POSY, DEFAULT_POSZ);
  26. SetPlayerFacingAngle(playerid, DEFAULT_POSA);
  27. SetPlayerInterior(playerid, DEFAULT_INT);
  28. SetPlayerVirtualWorld(playerid, DEFAULT_VW);
  29. }
  30. else CallRemoteFunction("OnPlayerSpawnToHospital", "i", playerid);
  31. SetCameraBehindPlayer(playerid);
  32. }
  33. public OnPlayerFirstSpawn(playerid)
  34. {
  35. PlayerFirstSpawn[playerid] = false;
  36. SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 1);
  37. SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 1);
  38. ClearChat(playerid);
  39. SendInfoMessageF(playerid, "Welcome back to %s.", SERVER_NAME);
  40. SendInfoMessage(playerid, "Be sure to stay up to date on the {02a4c4}Server Rules {FFFFFF}to avoid any issues!");
  41. SendInfoMessageF(playerid, "Visit our website at {ff8c00}%s{ffffff} for all information regarding the community.", SERVER_WEBSITE);
  42. }
  43. stock bool:IsPlayerSpawned(playerid)
  44. {
  45. if(PlayerFirstSpawn[playerid])
  46. {
  47. return false;
  48. }
  49. return true;
  50. }