Advertisement
Guest User

Dynamic spawns

a guest
Feb 11th, 2015
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.87 KB | None | 0 0
  1. /*
  2. * Compltte(true/false): true
  3. * Code: Yes
  4. * Author: NexuS
  5. */
  6.  
  7. #include a_samp
  8. #include zcmd
  9. #include sscanf2
  10. #include mysql
  11.  
  12. #define host " "
  13. #define root " "
  14. #define password " "
  15. #define user " "
  16.  
  17. #define MAX_SPAWN 100
  18.  
  19. enum _spawn_
  20. {
  21. Spawn_ID,
  22. Float:spawn_X,
  23. Float:spawn_Y,
  24. Float:spawn_Z,
  25. Float:spawn_A,
  26. }
  27.  
  28. new SpawnData[MAX_SPAWN][_spawn_], Loadspawn;
  29.  
  30. public OnGameModeInit()
  31. {
  32. mysql_init();
  33. if(mysql_connect(host, root, password, user))
  34. {
  35. print("[SQL] successfully combined with database");
  36. }
  37. else
  38. {
  39. print("[SQL] Not connected to a database");
  40. SendRconCommand("exit");
  41. }
  42. loadDynamicSpawn();
  43. return 1;
  44. }
  45.  
  46.  
  47. public OnPlayerSpawn(playerid)
  48. {
  49. SetPlayerRandomSpawn(playerid);
  50. return 1;
  51. }
  52.  
  53. SetPlayerRandomSpawn(playerid)
  54. {
  55. new n = random(Loadspawn);
  56. SetPlayerPos(playerid, SpawnData[n][spawn_X], SpawnData[n][spawn_Y], SpawnData[n][spawn_Z]);
  57. SetPlayerFacingAngle(playerid, SpawnData[n][spawn_A]);
  58. SetPlayerInterior(playerid,0);
  59. SetPlayerVirtualWorld(playerid,0);
  60. return 1;
  61. }
  62.  
  63. stock loadDynamicSpawn()
  64. {
  65. new query[1024];
  66. Loadspawn = 0;
  67. mysql_query("select * from bg_Spawn limit "#MAX_SPAWN"");
  68. mysql_store_result();
  69. if(!mysql_num_rows())
  70. print("Can not find any spawn!");
  71. else
  72. {
  73. while(mysql_fetch_row (query))
  74. {
  75. sscanf(query, "p<|>dffff", SpawnData[Loadspawn][Spawn_ID], SpawnData[Loadspawn][spawn_X], SpawnData[Loadspawn][spawn_Y], SpawnData[Loadspawn][spawn_Z], SpawnData[Loadspawn][spawn_A]);
  76. new Float:change = 2.2, model = 1239, type = 1;
  77.  
  78. CreatePickup(1314, type, SpawnData[Loadspawn][spawn_X], SpawnData[Loadspawn][spawn_Y], SpawnData[Loadspawn][spawn_Z]);
  79. CreatePickup(model, type, SpawnData[Loadspawn][spawn_X]+change, SpawnData[Loadspawn][spawn_Y], SpawnData[Loadspawn][spawn_Z]);
  80. CreatePickup(model, type, SpawnData[Loadspawn][spawn_X]-change, SpawnData[Loadspawn][spawn_Y], SpawnData[Loadspawn][spawn_Z]);
  81. CreatePickup(model, type, SpawnData[Loadspawn][spawn_X], SpawnData[Loadspawn][spawn_Y]+change, SpawnData[Loadspawn][spawn_Z]);
  82. CreatePickup(model, type, SpawnData[Loadspawn][spawn_X], SpawnData[Loadspawn][spawn_Y]-change, SpawnData[Loadspawn][spawn_Z]);
  83.  
  84. Create3DTextLabel("{59ACFF}Check out the commands by typing {FFFFFF}/Help",0x000000FF, SpawnData[Loadspawn][spawn_X]+change, SpawnData[Loadspawn][spawn_Y], SpawnData[Loadspawn][spawn_Z], 15.0, 0);
  85. Create3DTextLabel("{59ACFF}Our forums can be found at {FFFFFF}www.Best-Gaming.pl",0x000000FF, SpawnData[Loadspawn][spawn_X]-change, SpawnData[Loadspawn][spawn_Y], SpawnData[Loadspawn][spawn_Z], 15.0, 0);
  86. Create3DTextLabel("{59ACFF}All telepotru find by typing {FFFFFF}/Teles",0x000000FF, SpawnData[Loadspawn][spawn_X], SpawnData[Loadspawn][spawn_Y]+change, SpawnData[Loadspawn][spawn_Z], 15.0, 0);
  87. Create3DTextLabel("{59ACFF}Have fun on the server wishes administration {FFFFFF}Best-Gaming.pl",0x000000FF, SpawnData[Loadspawn][spawn_X], SpawnData[Loadspawn][spawn_Y]-change, SpawnData[Loadspawn][spawn_Z], 15.0, 0);
  88. Loadspawn++;
  89. }
  90. printf("[load] loaded spawns:%d", mysql_num_rows());
  91. }
  92. mysql_free_result();
  93. }
  94.  
  95. CMD:newspawn(p, ctext[])
  96. {
  97. if(!IsPlayerAdmin(p)) return SendClientMessage(p, 0xBB0000FF, "You must be an administrator RCON!");
  98.  
  99. if(Loadspawn >= MAX_SPAWN)
  100. {
  101. SendClientMessage(p, 0xBB0000FF, "Limit spawns used!");
  102. return 1;
  103. }
  104. if(GetPlayerInterior(p) != 0)
  105. {
  106. SendClientMessage(p, 0xBB0000FF, "You can not create spawns in the Outback.");
  107. return 1;
  108. }
  109. new Float:Pos[4];
  110. GetPlayerPos(p, Pos[0], Pos[1], Pos[2]);
  111. GetPlayerFacingAngle(p, Pos[3]);
  112. new str[256];
  113. format(str, sizeof(str), "INSERT INTO bg_Spawn (`pos_X`, `pos_Y`, `pos_Z`, `pos_A`) VALUES ('%f', '%f', '%f', '%f');", Pos[0], Pos[1], Pos[2], Pos[3]);
  114. mysql_query(str);
  115. SendClientMessage(p, 0xBB0000FF, "Spawn was created successfully!");
  116. loadDynamicSpawn();
  117. return 1;
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement