Advertisement
LatinZ

example s_actors.inc

Jul 6th, 2016
401
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.59 KB | None | 0 0
  1. #include <a_samp>
  2. #include <YSI\YSI_Coding\y_timers>
  3. #include <YSI\YSI_Data\y_foreach>
  4. #include <streamer>
  5. #include <s_actors>
  6. #include <sscanf2>
  7. #include <zcmd>
  8.  
  9. main()
  10. {
  11. print("s_actors.inc");
  12. }
  13.  
  14. CMD:actor(playerid, params[]) {
  15. new name[MAX_PLAYER_NAME];
  16. if(sscanf(params, "s[24]i", name, params[0])) return SendClientMessage(playerid, -1, "Usage: /actor <name> <skin>");
  17. new Float:pos[4];
  18. GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
  19. GetPlayerFacingAngle(playerid, pos[3]);
  20. CreateDynamicActor(name, params[0], pos[0] + 1, pos[1], pos[2], pos[3], 0, false, 100);
  21. return 1;
  22. }
  23.  
  24. CMD:actorid(playerid, params[]) {
  25. new name[MAX_PLAYER_NAME];
  26. if(sscanf(params, "s[24]", name)) return SendClientMessage(playerid, -1, "Usage: /actor <name>");
  27. new _name = GetDynamicActorID(name);
  28. if(_name == INVALID_ACTOR_ID) return false;
  29. new string[24];
  30. format(string, sizeof(string), "Actor ID %i", GetDynamicActorID(name));
  31. SendClientMessage(playerid, -1, string);
  32. return 1;
  33. }
  34.  
  35. CMD:actors(playerid, params[]) {
  36. new string[24], bool:amount = false;
  37. for(new i = 0; i < MAX_DYNAMIC_ACTORS; i++)
  38. {
  39. if(IsValidDynamicActor(i)) format(string, sizeof(string), "Actor ID %i", i), SendClientMessage(playerid, -1, string), amount = true;
  40. }
  41. if(amount == false) SendClientMessage(playerid, -1, "Not exist actors created.");
  42. return 1;
  43. }
  44.  
  45. CMD:actorrange(playerid, params[]) {
  46. new string[24], bool:amount = false;
  47. for(new i = 0; i < MAX_DYNAMIC_ACTORS; i++)
  48. {
  49. if(IsPlayerInRangeOfDynamicActor(playerid, i, 5.0)) format(string, sizeof(string), "Actor ID %i", i), SendClientMessage(playerid, -1, string), amount = true;
  50. }
  51. if(amount == false) SendClientMessage(playerid, -1, "Don't exist actors in your area.");
  52. return 1;
  53. }
  54.  
  55. CMD:actorname(playerid, params[]) {
  56. new name[MAX_PLAYER_NAME];
  57. if(sscanf(params, "is[24]", params[0], name)) return SendClientMessage(playerid, -1, "Usage: /actorname <actorid> <name>");
  58. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  59. SetDynamicActorName(params[0], name);
  60. return 1;
  61. }
  62.  
  63. CMD:actorcolor(playerid, params[]) {
  64. if(sscanf(params, "ii", params[0], params[1])) return SendClientMessage(playerid, -1, "Usage: /actorcolor <actorid> <color>");
  65. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  66. SetDynamicActorColor(params[0], params[1]);
  67. return 1;
  68. }
  69.  
  70. CMD:actord(playerid, params[]) {
  71. new string[128];
  72. if(sscanf(params, "is[128]iiiii", params[0], string, params[1], params[2], params[3], params[4], params[5])) return SendClientMessage(playerid, -1, "Usage: /actord <actorid> <description> <color> <OffsetX> <OffsetY> <OffsetZ> <distance>");
  73. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  74. AttachDynamicActor3DTextLabel(params[0], string, params[1], params[2], params[3], params[4], params[5]);
  75. return 1;
  76. }
  77.  
  78. CMD:actorupd(playerid, params[]) {
  79. new string[128];
  80. if(sscanf(params, "iis[128]", params[0], params[1], string)) return SendClientMessage(playerid, -1, "Usage: /actorupd <actorid> <color> <new description>");
  81. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  82. UpdateDynamicActor3DTextLabel(params[0], params[1], string);
  83. return 1;
  84. }
  85.  
  86. CMD:actordep(playerid, params[]) {
  87. if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, -1, "Usage: /actordep <actorid>");
  88. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  89. DeleteDynamicActor3DTextLabel(params[0]);
  90. return 1;
  91. }
  92.  
  93. CMD:actorstreamin(playerid, params[]) {
  94. if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, -1, "Usage: /actorstreamin <actorid>");
  95. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  96. new string[24];
  97. if(IsDynamicActorStreamedIn(params[0], playerid)) format(string, sizeof(string), "Actor %i stream in: true.", params[0]);
  98. else format(string, sizeof(string), "Actor %i stream in: false.", params[0]);
  99. SendClientMessage(playerid, -1, string);
  100. return 1;
  101. }
  102.  
  103. CMD:actorstreamrange(playerid, params[]) {
  104. if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, -1, "Usage: /actorstreamrange <actorid>");
  105. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  106. new string[30];
  107. if(IsDynamicActorInStreamRange(params[0], playerid)) format(string, sizeof(string), "Actor %i stream range: true.", params[0]);
  108. else format(string, sizeof(string), "Actor %i stream range: false.", params[0]);
  109. SendClientMessage(playerid, -1, string);
  110. return 1;
  111. }
  112.  
  113. CMD:actorworld(playerid, params[]) {
  114. if(sscanf(params, "ii", params[0], params[1])) return SendClientMessage(playerid, -1, "Usage: /actorworld <actorid> <world>");
  115. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  116. SetDynamicActorVirtualWorld(params[0], params[1]);
  117. new string[64];
  118. format(string, sizeof(string), "Seted world actor id %i to world %i.", params[0], params[1]);
  119. SendClientMessage(playerid, -1, string);
  120. return 1;
  121. }
  122.  
  123. CMD:actorgetworld(playerid, params[]) {
  124. if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, -1, "Usage: /actorgetworld <actorid>");
  125. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  126. new string[24];
  127. format(string, sizeof(string), "Actor %i world %i.", params[0], GetDynamicActorVirtualWorld(params[0]));
  128. SendClientMessage(playerid, -1, string);
  129. return 1;
  130. }
  131.  
  132. CMD:actorpos(playerid, params[]) {
  133. if(sscanf(params, "iiii", params[0], params[1], params[2], params[3])) return SendClientMessage(playerid, -1, "Usage: /actorpos <actorid> <pos x> <pos y> <pos z>");
  134. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  135. new Float:pos[3];
  136. GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
  137. SetDynamicActorPos(params[0], pos[0] + params[1], pos[1] + params[2], pos[2] + params[3]);
  138. new string[128];
  139. format(string, sizeof(string), "Actor %i new pos. x: %f y: %f z: %f.", params[0], pos[0] + params[1], pos[1] + params[2], pos[2] + params[3]);
  140. SendClientMessage(playerid, -1, string);
  141. return 1;
  142. }
  143.  
  144. CMD:actorgetpos(playerid, params[]) {
  145. if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, -1, "Usage: /actorgetpos <actorid>");
  146. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  147. new Float:pos[3];
  148. GetDynamicActorPos(params[0], pos[0], pos[1], pos[2]);
  149. new string[128];
  150. format(string, sizeof(string), "Actor %i pos. x: %f y: %f z: %f.", params[0], pos[0], pos[1], pos[2]);
  151. SendClientMessage(playerid, -1, string);
  152. return 1;
  153. }
  154.  
  155. CMD:actorangle(playerid, params[]) {
  156. if(sscanf(params, "ii", params[0], params[1])) return SendClientMessage(playerid, -1, "Usage: /actorangle <actorid> <angle>");
  157. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  158. new Float:angle;
  159. GetDynamicActorFacingAngle(params[0], angle);
  160. SetDynamicActorFacingAngle(params[0], angle + params[1]);
  161. new string[64];
  162. format(string, sizeof(string), "Actor %i new angle: %f.", params[0], angle);
  163. SendClientMessage(playerid, -1, string);
  164. return 1;
  165. }
  166.  
  167. CMD:actorgetangle(playerid, params[]) {
  168. if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, -1, "Usage: /actorgetangle <actorid>");
  169. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  170. new string[64], Float:angle;
  171. GetDynamicActorFacingAngle(params[0], angle);
  172. format(string, sizeof(string), "Actor %i angle: %f.", params[0], angle);
  173. SendClientMessage(playerid, -1, string);
  174. return 1;
  175. }
  176.  
  177. CMD:actorskin(playerid, params[]) {
  178. if(sscanf(params, "ii", params[0], params[1])) return SendClientMessage(playerid, -1, "Usage: /actorskin <actorid> <skin>");
  179. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  180. SetDynamicActorSkin(params[0], params[1]);
  181. new string[64];
  182. format(string, sizeof(string), "Actor %i new skin: %i.", params[0], params[1]);
  183. SendClientMessage(playerid, -1, string);
  184. return 1;
  185. }
  186.  
  187. CMD:actorgetskin(playerid, params[]) {
  188. if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, -1, "Usage: /actorgetskin <actorid>");
  189. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  190. new string[64];
  191. format(string, sizeof(string), "Actor %i skin: %i.", params[0], GetDynamicActorSkin(params[0]));
  192. SendClientMessage(playerid, -1, string);
  193. return 1;
  194. }
  195.  
  196. CMD:actordead(playerid, params[]) {
  197. if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, -1, "Usage: /actordead <actorid>");
  198. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  199. if(IsDynamicActorDead(params[0])) SendClientMessage(playerid, -1, "Actor dead: true.");
  200. else SendClientMessage(playerid, -1, "Actor dead: false.");
  201. return 1;
  202. }
  203.  
  204. CMD:actorheal(playerid, params[]) {
  205. if(sscanf(params, "ii", params[0], params[1])) return SendClientMessage(playerid, -1, "Usage: /actorheal <actorid> <heal>");
  206. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  207. SetDynamicActorHealth(params[0], params[1]);
  208. new string[64];
  209. format(string, sizeof(string), "Actor %i new heal: %i.", params[0], params[1]);
  210. SendClientMessage(playerid, -1, string);
  211. return 1;
  212. }
  213.  
  214. CMD:actorgetheal(playerid, params[]) {
  215. if(sscanf(params, "ii", params[0], params[1])) return SendClientMessage(playerid, -1, "Usage: /actorgetheal <actorid> <heal>");
  216. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  217. new string[64], Float:_heal;
  218. GetDynamicActorHealth(params[0], _heal);
  219. format(string, sizeof(string), "Actor %i new heal: %.0f.", params[0], _heal);
  220. SendClientMessage(playerid, -1, string);
  221. return 1;
  222. }
  223.  
  224. CMD:actorinvulnerable(playerid, params[]) {
  225. if(sscanf(params, "ii", params[0], params[1])) return SendClientMessage(playerid, -1, "Usage: /actorinvulnerable <actorid> <0: false - 1: true>");
  226. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  227. new string[64];
  228. switch(params[1])
  229. {
  230. case 0:
  231. {
  232. format(string, sizeof(string), "Actor %i invulnerable: OFF.", params[0]);
  233. SetDynamicActorInvulnerable(params[0], false);
  234. }
  235. case 1:
  236. {
  237. format(string, sizeof(string), "Actor %i invulnerable: ON.", params[0]);
  238. SetDynamicActorInvulnerable(params[0], true);
  239. }
  240. }
  241. SendClientMessage(playerid, -1, string);
  242. return 1;
  243. }
  244.  
  245. CMD:actorgetinvulnerable(playerid, params[]) {
  246. if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, -1, "Usage: /actorgetinvulnerable <actorid>");
  247. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  248. new string[64];
  249. if(IsDynamicActorInvulnerable(params[0])) format(string, sizeof(string), "Actor %i invulnerable: ON.", params[0]);
  250. else format(string, sizeof(string), "Actor %i invulnerable: OFF.", params[0]);
  251. SendClientMessage(playerid, -1, string);
  252. return 1;
  253. }
  254.  
  255. CMD:actorinternalid(playerid, params[]) {
  256. if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, -1, "Usage: /actorgetname <actorid>");
  257. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  258. new string[64];
  259. format(string, sizeof(string), "Actor %i internal id: %i.", params[0], GetDynamicActorInternalID(params[0]));
  260. SendClientMessage(playerid, -1, string);
  261. return 1;
  262. }
  263.  
  264. CMD:actorgetname(playerid, params[]) {
  265. if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, -1, "Usage: /actorgetname <actorid>");
  266. if(!IsValidDynamicActor(params[0])) return SendClientMessage(playerid, -1, "The actor don't exist.");
  267. new string[64];
  268. format(string, sizeof(string), "Actor %i name: %s.", params[0], GetDynamicActorName(params[0]));
  269. SendClientMessage(playerid, -1, string);
  270. return 1;
  271. }
  272.  
  273.  
  274. CMD:asd(playerid, params[]) {
  275. Loop_Only_Dynamic_Actors(i)
  276. {
  277. new string[64];
  278. format(string, sizeof(string), "Actor %i.", i);
  279. SendClientMessage(playerid, -1, string);
  280. }
  281. return 1;
  282. }
  283.  
  284. public OnPlayerRequestClass(playerid, classid)
  285. {
  286. return SetTimerEx("SP", 100, false, "i", playerid);
  287. }
  288.  
  289. forward SP(playerid);
  290. public SP(playerid)
  291. {
  292. TogglePlayerSpectating(playerid, false);
  293. return SpawnPlayer(playerid);
  294. }
  295.  
  296. public OnPlayerConnect(playerid)
  297. {
  298. return true;
  299. }
  300.  
  301. public OnPlayerSpawn(playerid)
  302. {
  303. GivePlayerWeapon(playerid, 31, 9999);
  304. return true;
  305. }
  306.  
  307. public OnGameModeInit()
  308. {
  309. SetGameModeText("s_actors.inc");
  310. UsePlayerPedAnims();
  311. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 270.1425, false, false, false, false, -1, -1);
  312. return true;
  313. }
  314.  
  315. public OnPlayerGiveDamageDynamicActor(playerid, actorid, Float:amount, weaponid, bodypart)
  316. {
  317. printf("playerid: %i actorid: %i amount: %.0f weaponid: %i bodypart: %i", playerid, actorid, amount, weaponid, bodypart);
  318. return true;
  319. }
  320.  
  321. public OnDynamicActorDeath(actorid, killerid, weaponid)
  322. {
  323. print("OnDynamicActorDeath called");
  324. new Float:pos[3];
  325. GetPlayerPos(killerid, pos[0], pos[1], pos[2]);
  326. SpawnDynamicActor(actorid, 123, pos[0] + 2, pos[1] + 1, pos[2], 180, 0, false, 100);
  327. return true;
  328. }
  329.  
  330. public OnDynamicActorSpawn(actorid)
  331. {
  332. print("OnDynamicActorSpawn called");
  333. return true;
  334. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement