Advertisement
MacBack

Duel System 1.0

Dec 1st, 2015
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.33 KB | None | 0 0
  1. Dnes vás vítám nebudu to popisovat..
  2. Ale hned vám to dám..
  3. Duel Systém 1.0
  4.  
  5. #include <a_samp>
  6.  
  7.  
  8. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  9. #define BARVA_MODRA 0x33CCFFAA
  10. #define BARVA_BILA 0xEFEFF7AA
  11. #define MAX_PLAYERS_EX 200
  12.  
  13. forward duelTimerStart();
  14. forward duelTimerUpdate();
  15.  
  16. enum DUEL_INFO
  17. {
  18. Started,
  19. Counter,
  20. Pocethracu,
  21. TimerStart,
  22. TimerUpdate
  23. }
  24. new Duel[DUEL_INFO];
  25. new IsPlayerInDuel[MAX_PLAYERS_EX];
  26. new DuelZbran[MAX_PLAYERS_EX];
  27.  
  28. stock WeaponName(weapon)
  29. {
  30. new Nazev[50];
  31.  
  32. if (weapon == 0) Nazev = "Nic";
  33. else if(weapon == 1) Nazev = "Boxer";
  34. else if(weapon == 2) Nazev = "Golfova hul";
  35. else if(weapon == 3) Nazev = "Hul";
  36. else if(weapon == 4) Nazev = "Nuz";
  37. else if(weapon == 5) Nazev = "Baseballka";
  38. else if(weapon == 6) Nazev = "Lopata";
  39. else if(weapon == 7) Nazev = "Kulecnikova hul";
  40. else if(weapon == 8) Nazev = "Katana";
  41. else if(weapon == 9) Nazev = "Motorovka";
  42. else if(weapon == 10) Nazev = "Dildo";
  43. else if(weapon == 11) Nazev = "Dildo2";
  44. else if(weapon == 12) Nazev = "Vibrator";
  45. else if(weapon == 13) Nazev = "Vibrator2";
  46. else if(weapon == 14) Nazev = "Kvetiny";
  47. else if(weapon == 15) Nazev = "Cane";
  48. else if(weapon == 16) Nazev = "Granat";
  49. else if(weapon == 17) Nazev = "Slzny plyn";
  50. else if(weapon == 18) Nazev = "Molotovuv koktejl";
  51. else if(weapon == 22) Nazev = "Kolt45";
  52. else if(weapon == 23) Nazev = "Pistole s tlumicem";
  53. else if(weapon == 24) Nazev = "Desert Eagle";
  54. else if(weapon == 25) Nazev = "Shotgun";
  55. else if(weapon == 26) Nazev = "Sawn-off Shotgun";
  56. else if(weapon == 27) Nazev = "Combat Shotgun";
  57. else if(weapon == 28) Nazev = "Uzi";
  58. else if(weapon == 29) Nazev = "Mp5";
  59. else if(weapon == 30) Nazev = "AK47";
  60. else if(weapon == 31) Nazev = "M4";
  61. else if(weapon == 32) Nazev = "Tec9";
  62. else if(weapon == 33) Nazev = "Rifle";
  63. else if(weapon == 34) Nazev = "Sniperka";
  64. else if(weapon == 35) Nazev = "Raketomet";
  65. else if(weapon == 36) Nazev = "Teplonavadeci Raketomet";
  66. else if(weapon == 37) Nazev = "Plamenomet";
  67. else if(weapon == 38) Nazev = "Minigun";
  68. else if(weapon == 39) Nazev = "Satchel";
  69. else if(weapon == 40) Nazev = "Bomba";
  70. else if(weapon == 41) Nazev = "Spray";
  71. else if(weapon == 42) Nazev = "Hasicak";
  72. else if(weapon == 43) Nazev = "Fotak";
  73. else if(weapon == 44) Nazev = "Noční vidění";
  74. else if(weapon == 45) Nazev = "Infračervená vize";
  75. else if(weapon == 46) Nazev = "Padak";
  76.  
  77. return Nazev;
  78. }
  79.  
  80. stock Jmeno(playerid)
  81. {
  82. new p[MAX_PLAYER_NAME];
  83. if(IsPlayerConnected(playerid)) GetPlayerName(playerid,p,MAX_PLAYER_NAME);
  84. return p;
  85. }
  86.  
  87. IsNumeric(string[]){ for (new i = 0,j = strlen(string); i < j; i++) if(string[i] > '9' || string[i] < '0') return 0; return 1; }
  88.  
  89. public duelTimerStart()
  90. {
  91. new string[10];
  92. Duel[Counter]--;
  93. if(Duel[Counter] > 0) Duel[TimerStart] = SetTimer("duelTimerStart",1000,0);
  94. for(new i=0;i<MAX_PLAYERS_EX;i++)
  95. {
  96. if(IsPlayerConnected(i))
  97. {
  98. if(IsPlayerInDuel[i] != 0)
  99. {
  100. if(Duel[Counter] > 0)
  101. {
  102. format(string,sizeof(string),"%d",Duel[Counter]);
  103. GameTextForPlayer(i,string,1000,4);
  104. }else{
  105. GameTextForPlayer(i,"~r~START!",2000,4);
  106. GivePlayerWeapon(i,DuelZbran[i],99999);
  107. }
  108. }
  109. }
  110. }
  111. return 1;
  112. }
  113.  
  114. public duelTimerUpdate()
  115. {
  116. for(new i=0; i< MAX_PLAYERS_EX; i++)
  117. {
  118. if(IsPlayerConnected(i))
  119. {
  120. if(IsPlayerInDuel[i] != 0)
  121. {
  122. new Float:X,Float:Y,Float:Z;
  123. GetPlayerPos(i,X,Y,Z);
  124. if(X >= 2445.0791 && X <= 2497.3074 && Y >= 2350.9741 && Y <= 2402.0007)
  125. {
  126. if(Duel[Counter] == 0)
  127. {
  128. if(Duel[Pocethracu] == 1)
  129. {
  130. new string[150];
  131. format(string,sizeof(string),"Vitezem duelu je %s.",Jmeno(i));
  132. SendClientMessageToAll(BARVA_MODRA,string);
  133. KillTimer(Duel[TimerUpdate]);
  134. DuelZbran[i] = 0;
  135. IsPlayerInDuel[i] = 0;
  136. SpawnPlayer(i);
  137. Duel[Started] = 0;
  138. Duel[Pocethracu] = 0;
  139. }
  140. }
  141. }else{
  142. DuelZbran[i] = 0;
  143. IsPlayerInDuel[i] = 0;
  144. SpawnPlayer(i);
  145. new string[150];
  146. format(string,sizeof(string),"Hrac %s opustil duel.",Jmeno(i));
  147. SendClientMessageToAll(BARVA_MODRA,string);
  148. Duel[Pocethracu] --;
  149. if(Duel[Pocethracu] == 0)
  150. {
  151. KillTimer(Duel[TimerUpdate]);
  152. Duel[Started] = 0;
  153. }
  154. }
  155. }
  156. }
  157. }
  158. return 1;
  159. }
  160.  
  161. public OnPlayerCommandText(playerid,cmdtext[])
  162. {
  163. if(IsPlayerConnected(playerid))
  164. {
  165. dcmd(duel,4,cmdtext);
  166. dcmd(dueljoin,8,cmdtext);
  167. dcmd(duelguest,9,cmdtext);
  168. dcmd(duelweaponlist,14,cmdtext);
  169. }
  170. return 0;
  171. }
  172.  
  173. dcmd_duel(playerid,params[])
  174. {
  175. #pragma unused params
  176. if(IsPlayerConnected(playerid))
  177. {
  178. SendClientMessage(playerid,BARVA_MODRA,"Duel:");
  179. SendClientMessage(playerid,BARVA_MODRA,"/dueljoin");
  180. SendClientMessage(playerid,BARVA_MODRA,"/duelstart");
  181. SendClientMessage(playerid,BARVA_MODRA,"/duelguest");
  182. SendClientMessage(playerid,BARVA_MODRA,"/duelweaponlist");
  183. }
  184. return 1;
  185. }
  186.  
  187. dcmd_dueljoin(playerid,params[])
  188. {
  189. if(IsPlayerConnected(playerid))
  190. {
  191. new string[150];
  192. new zbranid=strval(params);
  193. if(!params[0]||!IsNumeric(params)) return SendClientMessage(playerid,BARVA_BILA,"[!] Použití: /dueljoin [zbranid]");
  194. else if(Duel[Started] != 0) return SendClientMessage(playerid,BARVA_BILA,"[!] Duel jiz probiha,vyckejte!");
  195. else if(IsPlayerInDuel[playerid] != 0) return SendClientMessage(playerid,BARVA_BILA,"[!] Jiz jste v duelu!");
  196. else if(zbranid > 47 || zbranid < 0 || zbranid == 44 || zbranid == 45 || zbranid == 19 || zbranid == 20 || zbranid == 21 || zbranid == 38 || zbranid == 43) return SendClientMessage(playerid,BARVA_BILA,"[!] Spatne zvolena zbran! Mrknete se na /duelweaponlist");
  197. else
  198. {
  199. Duel[Pocethracu] ++ ;
  200. DuelZbran[playerid] = zbranid;
  201. IsPlayerInDuel[playerid] = 1;
  202. ResetPlayerWeapons(playerid);
  203. KillTimer(Duel[TimerUpdate]);
  204. Duel[TimerUpdate] = SetTimer("duelTimerUpdate",1000,1);
  205. Duel[Counter] = 3;
  206. SetPlayerHealth(playerid,100);
  207. SetPlayerArmour(playerid,0);
  208. SetPlayerInterior(playerid,0);
  209. format(string,sizeof(string),"Hrac %s byl pripojen do duelu se zbrani %s (%d)",Jmeno(playerid),WeaponName(zbranid),zbranid);
  210. SendClientMessageToAll(BARVA_MODRA,string);
  211.  
  212. if(Duel[Pocethracu] == 1)
  213. {
  214. SetPlayerPos(playerid,2449.7778,2378.5486,71.0496);
  215. }
  216. else if(Duel[Pocethracu] == 2)
  217. {
  218. SetPlayerPos(playerid,2489.5415,2378.6658,71.0496);
  219. Duel[Started] = 1;
  220. SendClientMessageToAll(BARVA_MODRA,"Duel zahajen,pripravit...");
  221. Duel[TimerStart] = SetTimer("duelTimerStart",1000,0);
  222. }
  223. }
  224. }
  225. return 1;
  226. }
  227.  
  228. dcmd_duelweaponlist(playerid,params[])
  229. {
  230. #pragma unused params
  231. if(IsPlayerConnected(playerid))
  232. {
  233. SendClientMessage(playerid,BARVA_MODRA,"Zakladni Duel Weapons List:");
  234. SendClientMessage(playerid,BARVA_MODRA,"Desert Eagle - 24");
  235. SendClientMessage(playerid,BARVA_MODRA,"Shotgun - 25");
  236. SendClientMessage(playerid,BARVA_MODRA,"Sawn Off Shotgun - 26");
  237. SendClientMessage(playerid,BARVA_MODRA,"Combat Shotgun - 27");
  238. SendClientMessage(playerid,BARVA_MODRA,"Uzi - 28");
  239. SendClientMessage(playerid,BARVA_MODRA,"MP5 - 29");
  240. SendClientMessage(playerid,BARVA_MODRA,"AK47 - 30");
  241. SendClientMessage(playerid,BARVA_MODRA,"M4 - 31");
  242. SendClientMessage(playerid,BARVA_MODRA,"Tec9 -32");
  243. }
  244. return 1;
  245. }
  246.  
  247. dcmd_duelguest(playerid,params[])
  248. {
  249. #pragma unused params
  250. if(IsPlayerConnected(playerid))
  251. {
  252. new string[150];
  253. SetPlayerInterior(playerid,0);
  254. SetPlayerPos(playerid,2460.1892,2336.0178,82.7734);
  255. ResetPlayerWeapons(playerid);
  256. format(string,sizeof(string),"Hrac %s se prisel podivat na duel.",Jmeno(playerid));
  257. SendClientMessageToAll(BARVA_MODRA,string);
  258. }
  259. return 1;
  260. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement