gl_npcs.pwn 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. //-------------------------------------------------
  2. //
  3. // NPC initialisation for Grand Larceny
  4. //
  5. //-------------------------------------------------
  6. #pragma tabsize 0
  7. #include <a_samp>
  8. //-------------------------------------------------
  9. public OnFilterScriptInit()
  10. {
  11. ConnectNPC("TrainDriverLS","train_ls");
  12. /*
  13. ConnectNPC("TrainDriverLV","train_lv");
  14. ConnectNPC("TrainDriverSF","train_sf");
  15. ConnectNPC("PilotLV","at400_lv");
  16. ConnectNPC("PilotSF","at400_sf");
  17. ConnectNPC("PilotLS","at400_ls");*/
  18. // Testing
  19. //ConnectNPC("OnfootTest","onfoot_test");
  20. //ConnectNPC("DriverTest","mat_test2");
  21. //ConnectNPC("DriverTest2","driver_test2");
  22. return 1;
  23. }
  24. //-------------------------------------------------
  25. // IMPORTANT: This restricts NPCs connecting from
  26. // an IP address outside this server. If you need
  27. // to connect NPCs externally you will need to modify
  28. // the code in this callback.
  29. public OnPlayerConnect(playerid)
  30. {
  31. if(IsPlayerNPC(playerid)) {
  32. new ip_addr_npc[64+1];
  33. new ip_addr_server[64+1];
  34. GetServerVarAsString("bind",ip_addr_server,64);
  35. GetPlayerIp(playerid,ip_addr_npc,64);
  36. if(!strlen(ip_addr_server)) {
  37. ip_addr_server = "127.0.0.1";
  38. }
  39. if(strcmp(ip_addr_npc,ip_addr_server,true) != 0) {
  40. // this bot is remote connecting
  41. printf("NPC: Got a remote NPC connecting from %s and I'm kicking it.",ip_addr_npc);
  42. Kick(playerid);
  43. return 0;
  44. }
  45. printf("NPC: Connection from %s is allowed.",ip_addr_npc);
  46. }
  47. return 1;
  48. }
  49. //-------------------------------------------------
  50. public OnPlayerRequestClass(playerid, classid)
  51. {
  52. if(!IsPlayerNPC(playerid)) return 0; // We only deal with NPC players in this script
  53. new playername[64];
  54. GetPlayerName(playerid,playername,64);
  55. if(!strcmp(playername,"TrainDriverLV",true)) {
  56. SetSpawnInfo(playerid,69,255,1462.0745,2630.8787,10.8203,0.0,-1,-1,-1,-1,-1,-1);
  57. }
  58. else if(!strcmp(playername,"TrainDriverSF",true)) {
  59. SetSpawnInfo(playerid,69,255,-1942.7950,168.4164,27.0006,0.0,-1,-1,-1,-1,-1,-1);
  60. }
  61. else if(!strcmp(playername,"TrainDriverLS",true)) {
  62. SetSpawnInfo(playerid,69,255,1700.7551,-1953.6531,14.8756,0.0,-1,-1,-1,-1,-1,-1);
  63. }
  64. else if(!strcmp(playername,"PilotLV",true)) {
  65. SetSpawnInfo(playerid,69,61,0.0,0.0,0.0,0.0,-1,-1,-1,-1,-1,-1);
  66. }
  67. else if(!strcmp(playername,"PilotSF",true)) {
  68. SetSpawnInfo(playerid,69,61,0.0,0.0,0.0,0.0,-1,-1,-1,-1,-1,-1);
  69. }
  70. else if(!strcmp(playername,"PilotLS",true)) {
  71. SetSpawnInfo(playerid,69,61,0.0,0.0,0.0,0.0,-1,-1,-1,-1,-1,-1);
  72. }
  73. else if(!strcmp(playername,"OnfootTest",true)) {
  74. SetSpawnInfo(playerid,69,61,2388.1003,-1279.8933,25.1291,94.3321,-1,-1,-1,-1,-1,-1);
  75. }
  76. else if(!strcmp(playername,"DriverTest",true)) {
  77. SetSpawnInfo(playerid,69,61,2388.1003,-1279.8933,25.1291,94.3321,-1,-1,-1,-1,-1,-1);
  78. }
  79. else if(!strcmp(playername,"DriverTest2",true)) {
  80. SetSpawnInfo(playerid,69,61,2388.1003,-1279.8933,25.1291,94.3321,-1,-1,-1,-1,-1,-1);
  81. }
  82. return 0;
  83. }
  84. //-------------------------------------------------
  85. stock SetVehicleTireStatus(vehicleid, tirestatus)
  86. {
  87. new panels, doors, lights, tires;
  88. GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
  89. UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, tirestatus);
  90. }
  91. //-------------------------------------------------
  92. public OnPlayerSpawn(playerid)
  93. {
  94. if(!IsPlayerNPC(playerid)) return 1; // We only deal with NPC players in this script
  95. new playername[64];
  96. GetPlayerName(playerid,playername,64);
  97. if(!strcmp(playername,"TrainDriverLS",true)) {
  98. PutPlayerInVehicle(playerid,1,0);
  99. SetPlayerColor(playerid,0xFFFFFFFF);
  100. }
  101. else if(!strcmp(playername,"TrainDriverLV",true)) {
  102. PutPlayerInVehicle(playerid,5,0);
  103. SetPlayerColor(playerid,0xFFFFFFFF);
  104. }
  105. else if(!strcmp(playername,"TrainDriverSF",true)) {
  106. PutPlayerInVehicle(playerid,9,0);
  107. SetPlayerColor(playerid,0xFFFFFFFF);
  108. }
  109. else if(!strcmp(playername,"PilotLV",true)) {
  110. PutPlayerInVehicle(playerid,13,0);
  111. SetPlayerColor(playerid,0xFFFFFFFF);
  112. }
  113. else if(!strcmp(playername,"PilotSF",true)) {
  114. PutPlayerInVehicle(playerid,14,0);
  115. SetPlayerColor(playerid,0xFFFFFFFF);
  116. }
  117. else if(!strcmp(playername,"PilotLS",true)) {
  118. PutPlayerInVehicle(playerid,15,0);
  119. SetPlayerColor(playerid,0xFFFFFFFF);
  120. }
  121. else if(!strcmp(playername,"OnfootTest",true)) {
  122. //PutPlayerInVehicle(playerid,876,0);
  123. SetPlayerColor(playerid,0xFFFFFFFF);
  124. }
  125. else if(!strcmp(playername,"DriverTest",true)) {
  126. PutPlayerInVehicle(playerid,376,0);
  127. SetPlayerColor(playerid,0xFFFFFFFF);
  128. }
  129. else if(!strcmp(playername,"DriverTest2",true)) {
  130. //SetVehicleTireStatus(876,0xFF);
  131. PutPlayerInVehicle(playerid,875,0);
  132. SetPlayerColor(playerid,0xFFFFFFFF);
  133. }
  134. return 1;
  135. }
  136. //-------------------------------------------------
  137. // EOF