Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.37 KB | None | 0 0
  1. #pragma semicolon 1
  2. #pragma ctrlchar '\'
  3.  
  4. new PLUGIN[12] =
  5. {
  6. 88, 51, 77, 32, 124, 32, 65, 114, 101, 110, 97, 0
  7. }
  8. new VERSION[4] =
  9. {
  10. 49, 46, 48, 0
  11. }
  12. new AUTHOR[5] =
  13. {
  14. 65, 73, 84, 68, 0
  15. }
  16. new gszInfoTarget[12] =
  17. {
  18. 105, 110, 102, 111, 95, 116, 97, 114, 103, 101, 116, 0
  19. }
  20. new gszBlockModel[17] =
  21. {
  22. 109, 111, 100, 101, 108, 115, 47, 97, 114, 101, 110, 97, 46, 109, 100, 108, 0
  23. }
  24. new Float:BlockAnglesX[3] =
  25. {
  26. 0, 1119092736, 1119092736
  27. }
  28. new Float:BlockSizeMinX[3] =
  29. {
  30. -1045692416, -1090519040, -1029963776
  31. }
  32. new Float:BlockSizeMaxX[3] =
  33. {
  34. 1125679104, 1056964608, 1117519872
  35. }
  36. new Float:BlockAnglesY[3] =
  37. {
  38. 1119092736, 0, 0
  39. }
  40. new Float:BlockSizeMinY[3] =
  41. {
  42. -1021804544, -1029898240, -1090519040
  43. }
  44. new Float:BlockSizeMaxY[3] =
  45. {
  46. 1101791232, 1117585408, 1056964608
  47. }
  48. new Float:BlockAnglesZ[3];
  49. new Float:BlockSizeMinZ[3] =
  50. {
  51. -1090519040, -1029963776, -1045692416
  52. }
  53. new Float:BlockSizeMaxZ[3] =
  54. {
  55. 1056964608, 1117519872, 1125679104
  56. }
  57. new Float:ArrayArenaA[38][3] =
  58. {
  59. {
  60. 1145896960, -1006338048, -1000767488
  61. },
  62. {
  63. 1148682240, -1006338048, -1000767488
  64. },
  65.  
  66. Error on write global ArrayArenaA: Индекс находился вне границ массива.
  67.  
  68. new Float:ArrayArenaB[38][3] =
  69. {
  70. {
  71. 1145896960, -990904320, -1000767488
  72. },
  73. {
  74. 1148682240, -990904320, -1000767488
  75. },
  76.  
  77. Error on write global ArrayArenaB: Индекс находился вне границ массива.
  78.  
  79. new bool:g_bArenaCreate[4];
  80. new ArenaEnt[4][38];
  81. new ids[33][33];
  82. new menu[33];
  83. new mpl;
  84. new Duel[33];
  85. new InDuel[33];
  86. new g_DuelKills[33];
  87. new g_Origin[4][3] =
  88. {
  89. {
  90. 687, -375, -800
  91. },
  92. {
  93. 1330, -375, -800
  94. },
  95.  
  96. Error on write global g_Origin: Индекс находился вне границ массива.
  97.  
  98. new Float:g_Angles[4][3] =
  99. {
  100. {
  101. 0, ...
  102. },
  103. {
  104. 0, 1127481344, 0
  105. },
  106.  
  107. Error on write global g_Angles: Индекс находился вне границ массива.
  108.  
  109.  
  110. set_rendering(index, fx, r, g, b, render, amount)
  111. {
  112. entity_set_int(index, EV_INT_renderfx, fx);
  113. new Float:RenderColor[3];
  114. RenderColor[0] = float(r);
  115. RenderColor[1] = float(g);
  116. RenderColor[2] = float(b);
  117. entity_set_vector(index, 17, RenderColor);
  118. entity_set_int(index, EV_INT_rendermode, render);
  119. entity_set_float(index, EV_FL_renderamt, float(amount));
  120. return 1;
  121. }
  122.  
  123. fm_set_user_health(index, health)
  124. {
  125. !!! Removed Phi
  126. if (health > 0)
  127. {
  128. set_pev(index, pev_health, float(health));
  129. }
  130. else
  131. {
  132. dllfunc(DLLFunc_ClientKill, index);
  133. }
  134. return 1;
  135. }
  136.  
  137. public plugin_precache()
  138. {
  139. precache_model(gszBlockModel);
  140. return 0;
  141. }
  142.  
  143. public plugin_init()
  144. {
  145. register_plugin(PLUGIN, "1.0", "AITD");
  146. register_event("ResetHUD", "eventPlayerSpawn", "b", "");
  147. register_event("DeathMsg", "eventDeathMsg", "a", "1>0", "4=knife");
  148. register_clcmd("say /kdc", "show_kdc", -1, "", -1);
  149. register_clcmd("say /duel", "show_kdc", -1, "", -1);
  150. register_menucmd(register_menuid("knife duel", 0), 1023, "knifeduel_menu");
  151. mpl = get_maxplayers();
  152. set_task(45.00, "arenamsg", 0, "", 0, "b", 0);
  153. return 0;
  154. }
  155.  
  156. public eventPlayerSpawn(id)
  157. {
  158. new var3 = InDuel;
  159. new var2;
  160. if (var3[id][0][0])
  161. {
  162. new var4 = InDuel;
  163. new var1;
  164. switch (var4[id][0][0])
  165. {
  166. case 1:
  167. {
  168. if (cs_get_user_team(id, 0) != 1)
  169. {
  170. cs_set_user_team(id, 1, _}:0);
  171. }
  172. new var6 = g_Origin;
  173. set_user_origin(id, var6[0][0][var6]);
  174. new var7 = g_Angles;
  175. set_pev(id, pev_angles, var7[0][0][var7]);
  176. set_pev(id, pev_fixangle, 1);
  177. var1 = Heap_-4;
  178. }
  179. case 2:
  180. {
  181. if (cs_get_user_team(id, 0) != 2)
  182. {
  183. cs_set_user_team(id, 2, _}:0);
  184. }
  185. set_user_origin(id, g_Origin[1][0]);
  186. set_pev(id, pev_angles, g_Angles[1][0]);
  187. set_pev(id, pev_fixangle, 1);
  188. var1 = Heap_-4;
  189. }
  190. case 3:
  191. {
  192. if (cs_get_user_team(id, 0) != 1)
  193. {
  194. cs_set_user_team(id, 1, _}:0);
  195. }
  196. set_user_origin(id, g_Origin[2][0]);
  197. set_pev(id, pev_angles, g_Angles[2][0]);
  198. set_pev(id, pev_fixangle, 1);
  199. var1 = Heap_-4;
  200. }
  201. case 4:
  202. {
  203. if (cs_get_user_team(id, 0) != 2)
  204. {
  205. cs_set_user_team(id, 2, _}:0);
  206. }
  207. set_user_origin(id, g_Origin[3][0]);
  208. new var5 = g_Angles[3];
  209. set_pev(id, pev_angles, var5[0]);
  210. var1 = var5;
  211. }
  212. default:
  213. {
  214. var1 = var4;
  215. }
  216. }
  217. fm_set_user_health(id, 35);
  218. give_item(id, "weapon_knife");
  219. var2 = var1;
  220. }
  221. else
  222. {
  223. var2 = var3;
  224. }
  225. return 0;
  226. }
  227.  
  228. public eventDeathMsg()
  229. {
  230. new killer = read_data(1);
  231. new victim = read_data(2);
  232. new var6 = InDuel;
  233. new var1;
  234. new var2;
  235. if (var6[killer][0][0])
  236. {
  237. new var7 = InDuel;
  238. if (var7[victim][0][0])
  239. {
  240. var2 = var7;
  241. if (ERROR: Phi)
  242. {
  243. new killerName[32];
  244. new victimName[32];
  245. get_user_name(killer, killerName, 31);
  246. get_user_name(victim, victimName, 31);
  247. g_DuelKills[killer]++;
  248. ColorMessage(killer, "\4[ %s ] \1%s \4vs \1%s - \4%d \1/ \4%d", PLUGIN, killerName, victimName, g_DuelKills[killer], g_DuelKills[victim]);
  249. ColorMessage(victim, "\4[ %s ] \1%s \4vs \1%s - \4%d \1/ \4%d", PLUGIN, victimName, killerName, g_DuelKills[victim], g_DuelKills[killer]);
  250. new var8 = g_DuelKills;
  251. new var5;
  252. if (var8[killer][0][0] == 10)
  253. {
  254. new var9 = InDuel;
  255. new var3;
  256. new var4;
  257. if (var9[killer][0][0] == 1)
  258. {
  259. var3 = var9;
  260. }
  261. else
  262. {
  263. new var10 = InDuel;
  264. if (var10[killer][0][0] == 2)
  265. {
  266. var3 = var10;
  267. }
  268. var4 = var10;
  269. if (ERROR: Phi)
  270. {
  271. deleteArena(0);
  272. }
  273. else
  274. {
  275. deleteArena(1);
  276. }
  277. g_DuelKills[killer] = 0;
  278. g_DuelKills[victim] = 0;
  279. InDuel[killer] = 0;
  280. new var11 = InDuel[victim];
  281. var11 = 0;
  282. var5 = var11;
  283. }
  284. var4 = var3;
  285. if (ERROR: Phi)
  286. {
  287. deleteArena(0);
  288. }
  289. else
  290. {
  291. deleteArena(1);
  292. }
  293. g_DuelKills[killer] = 0;
  294. g_DuelKills[victim] = 0;
  295. InDuel[killer] = 0;
  296. new var11 = InDuel[victim];
  297. var11 = 0;
  298. var5 = var11;
  299. }
  300. else
  301. {
  302. var5 = var8;
  303. }
  304. new svIndex[2];
  305. svIndex[0] = killer;
  306. svIndex[1] = victim;
  307. set_task(0.50, "respawn", 0, svIndex, 2, "", 0);
  308. }
  309. return 0;
  310. }
  311. var1 = var7;
  312. }
  313. else
  314. {
  315. var1 = var6;
  316. }
  317. var2 = var1;
  318. if (ERROR: Phi)
  319. {
  320. new killerName[32];
  321. new victimName[32];
  322. get_user_name(killer, killerName, 31);
  323. get_user_name(victim, victimName, 31);
  324. g_DuelKills[killer]++;
  325. ColorMessage(killer, "\4[ %s ] \1%s \4vs \1%s - \4%d \1/ \4%d", PLUGIN, killerName, victimName, g_DuelKills[killer], g_DuelKills[victim]);
  326. ColorMessage(victim, "\4[ %s ] \1%s \4vs \1%s - \4%d \1/ \4%d", PLUGIN, victimName, killerName, g_DuelKills[victim], g_DuelKills[killer]);
  327. new var8 = g_DuelKills;
  328. new var5;
  329. if (var8[killer][0][0] == 10)
  330. {
  331. new var9 = InDuel;
  332. new var3;
  333. new var4;
  334. if (var9[killer][0][0] == 1)
  335. {
  336. var3 = var9;
  337. }
  338. else
  339. {
  340. new var10 = InDuel;
  341. if (var10[killer][0][0] == 2)
  342. {
  343. var3 = var10;
  344. }
  345. var4 = var10;
  346. if (ERROR: Phi)
  347. {
  348. deleteArena(0);
  349. }
  350. else
  351. {
  352. deleteArena(1);
  353. }
  354. g_DuelKills[killer] = 0;
  355. g_DuelKills[victim] = 0;
  356. InDuel[killer] = 0;
  357. new var11 = InDuel[victim];
  358. var11 = 0;
  359. var5 = var11;
  360. }
  361. var4 = var3;
  362. if (ERROR: Phi)
  363. {
  364. deleteArena(0);
  365. }
  366. else
  367. {
  368. deleteArena(1);
  369. }
  370. g_DuelKills[killer] = 0;
  371. g_DuelKills[victim] = 0;
  372. InDuel[killer] = 0;
  373. new var11 = InDuel[victim];
  374. var11 = 0;
  375. var5 = var11;
  376. }
  377. else
  378. {
  379. var5 = var8;
  380. }
  381. new svIndex[2];
  382. svIndex[0] = killer;
  383. svIndex[1] = victim;
  384. set_task(0.50, "respawn", 0, svIndex, 2, "", 0);
  385. }
  386. return 0;
  387. }
  388.  
  389. public respawn(String:svIndex[])
  390. {
  391. new vIndex = svIndex[0];
  392. new vIndex2 = svIndex[1];
  393. spawn(vIndex);
  394. spawn(vIndex2);
  395. return 0;
  396. }
  397.  
  398. public show_kdc(id)
  399. {
  400. !!! Removed Phi
  401. if (InDuel[id][0][0])
  402. {
  403. ColorMessage(id, "\4[ %s ] \1please wait\4!", PLUGIN);
  404. }
  405. else
  406. {
  407. if (g_bArenaCreate[0][0] && g_bArenaCreate[1][0])
  408. {
  409. ColorMessage(id, "\4[ %s ] \1no free arenas\4!", PLUGIN);
  410. }
  411. menu[id] = 0;
  412. show_duel_menu(id, 0);
  413. }
  414. return 0;
  415. }
  416.  
  417. public show_duel_menu(id, pos)
  418. {
  419. !!! Removed Phi
  420. if (0 > pos)
  421. {
  422. return 1;
  423. }
  424. new body[1024];
  425. new name[32];
  426. new keys = 512;
  427. new len = 0;
  428. new num = 0;
  429. new pid = 0;
  430. new key = 0;
  431. new p = 0;
  432. while (p < mpl)
  433. {
  434. if (!is_user_connected(p) || is_user_bot(p) || is_user_hltv(p))
  435. {
  436. }
  437. else
  438. {
  439. num++;
  440. ids[id][0][0][num] = p;
  441. }
  442. p++;
  443. }
  444. new start = pos * 8;
  445. if (start > num)
  446. {
  447. return show_duel_menu(id, pos + -1);
  448. }
  449. new end = start + 8;
  450. if (end > num)
  451. {
  452. end = num;
  453. }
  454. len = format(body, 1023, "\w[ \r%s\w ]\n\n", PLUGIN);
  455. new i = start;
  456. while (i < end)
  457. {
  458. pid = ids[id][0][0][i];
  459. get_user_name(pid, name, 31);
  460. if (get_user_userid(pid) == get_user_userid(id))
  461. {
  462. key++;
  463. len = format(body[len], 1023 - len, "\d%d. %s \n", key, name) + len;
  464. i++;
  465. }
  466. else
  467. {
  468. if (InDuel[pid][0][0])
  469. {
  470. key++;
  471. len = format(body[len], 1023 - len, "\d%d. \w%s \r (\win duel\r) \n", key, name) + len;
  472. i++;
  473. }
  474. keys = 1 << key | keys;
  475. key++;
  476. len = format(body[len], 1023 - len, "\r%d. \w%s\n", key, name) + len;
  477. i++;
  478. }
  479. i++;
  480. }
  481. if (num != end)
  482. {
  483. new var2;
  484. if (pos)
  485. {
  486. var2 = 8796;
  487. }
  488. else
  489. {
  490. var2 = 8816;
  491. }
  492. format(body[len], 1023 - len, "\n\r9.\w%L\n\r0.\w%L", id, "MORE", id, var2);
  493. keys |= 256;
  494. }
  495. else
  496. {
  497. new var3;
  498. if (pos)
  499. {
  500. var3 = 8876;
  501. }
  502. else
  503. {
  504. var3 = 8896;
  505. }
  506. format(body[len], 1023 - len, "\n\r0.\w%L", id, var3);
  507. }
  508. show_menu(id, keys, body, -1, "knife duel");
  509. return 1;
  510. }
  511.  
  512. public knifeduel_menu(id, key)
  513. {
  514. switch (key)
  515. {
  516. case 8:
  517. {
  518. new var2 = menu[id];
  519. var2++;
  520. return show_duel_menu(id, var2[0][0]);
  521. }
  522. case 9:
  523. {
  524. new var1 = menu[id];
  525. var1--;
  526. return show_duel_menu(id, var1[0][0]);
  527. }
  528. default:
  529. {
  530. new pid = ids[id][0][0][key + menu[id][0][0] * 8];
  531. if (!is_user_connected(pid))
  532. {
  533. ColorMessage(id, "\4[ %s ] \1This player has left the server\4!", PLUGIN);
  534. return show_duel_menu(id, menu[id][0][0]);
  535. }
  536. if (id == pid)
  537. {
  538. return show_duel_menu(id, menu[id][0][0]);
  539. }
  540. if (InDuel[pid][0][0])
  541. {
  542. ColorMessage(id, "\4[ %s ] \1This player in duel\4!", PLUGIN);
  543. return show_duel_menu(id, menu[id][0][0]);
  544. }
  545. OpponentMenu(pid, id);
  546. return 1;
  547. }
  548. }
  549. }
  550.  
  551. public OpponentMenu(id, opponent)
  552. {
  553. new szOppName[32];
  554. get_user_name(opponent, szOppName, 31);
  555. Duel[id] = opponent;
  556. new szTitle[64];
  557. formatex(szTitle, 63, "\w[ \r%s\w ] - Play vs. \r%s", PLUGIN, szOppName);
  558. new menu = menu_create(szTitle, "opponent_menu_handler", 0);
  559. menu_additem(menu, "\wYes", "1", 0, -1);
  560. menu_additem(menu, "\wNo", "2", 0, -1);
  561. menu_setprop(menu, 6, 1);
  562. menu_display(id, menu, 0);
  563. return 0;
  564. }
  565.  
  566. public opponent_menu_handler(id, menu, item, pid)
  567. {
  568. if (item == -3)
  569. {
  570. menu_destroy(menu);
  571. return 1;
  572. }
  573. new data[6];
  574. new szName[64];
  575. new access = 0;
  576. new callback = 0;
  577. menu_item_getinfo(menu, item, access, data, 5, szName, 63, callback);
  578. new key = str_to_num(data);
  579. new var3;
  580. switch (key)
  581. {
  582. case 1:
  583. {
  584. new opponent = Duel[id][0][0];
  585. if (!is_user_connected(opponent))
  586. {
  587. ColorMessage(id, "\4[ %s ] \1This player has left the server\4!", PLUGIN);
  588. return 1;
  589. }
  590. new var5 = InDuel;
  591. new var2;
  592. if (var5[opponent][0][0])
  593. {
  594. ColorMessage(id, "\4[ %s ] \1This player in duel\4!", PLUGIN);
  595. var2 = var5;
  596. }
  597. else
  598. {
  599. new var1;
  600. if (!g_bArenaCreate[0][0])
  601. {
  602. Duel[opponent] = id;
  603. InDuel[opponent] = 1;
  604. new var6 = InDuel[id];
  605. var6 = 2;
  606. createArenaA(id);
  607. spawn(id);
  608. spawn(opponent);
  609. var1 = var6;
  610. }
  611. else
  612. {
  613. if (!g_bArenaCreate[1][0])
  614. {
  615. Duel[opponent] = id;
  616. InDuel[opponent] = 3;
  617. new var7 = InDuel[id];
  618. var7 = 4;
  619. createArenaB(id);
  620. spawn(id);
  621. spawn(opponent);
  622. var1 = var7;
  623. }
  624. ColorMessage(id, "\4[ %s ] \1no free arenas, please wait\4!", PLUGIN);
  625. var1 = var5;
  626. }
  627. var2 = var1;
  628. }
  629. var3 = var2;
  630. }
  631. case 2:
  632. {
  633. new szOppName[32];
  634. get_user_name(id, szOppName, 31);
  635. new var4 = Duel;
  636. ColorMessage(var4[id][0][0], "\4[\1%s\4] \1%s \4refused duel!", PLUGIN, szOppName);
  637. var3 = var4;
  638. }
  639. default:
  640. {
  641. var3 = szName;
  642. }
  643. }
  644. menu_destroy(menu);
  645. return 1;
  646. }
  647.  
  648. public client_connect(id)
  649. {
  650. g_DuelKills[id] = 0;
  651. InDuel[id] = 0;
  652. return 0;
  653. }
  654.  
  655. public client_disconnect(id)
  656. {
  657. new opponent = Duel[id][0][0];
  658. new var6 = InDuel;
  659. new var1;
  660. new var2;
  661. if (var6[id][0][0] == 1)
  662. {
  663. var1 = var6;
  664. }
  665. else
  666. {
  667. new var7 = InDuel;
  668. if (var7[id][0][0] == 2)
  669. {
  670. var1 = var7;
  671. }
  672. var2 = var7;
  673. if (ERROR: Phi)
  674. {
  675. deleteArena(0);
  676. }
  677. else
  678. {
  679. new var8 = InDuel;
  680. new var3;
  681. new var4;
  682. if (var8[id][0][0] == 3)
  683. {
  684. var3 = var8;
  685. }
  686. else
  687. {
  688. new var9 = InDuel;
  689. if (var9[id][0][0] == 4)
  690. {
  691. var3 = var9;
  692. }
  693. var4 = var9;
  694. if (ERROR: Phi)
  695. {
  696. deleteArena(1);
  697. }
  698. }
  699. var4 = var3;
  700. if (ERROR: Phi)
  701. {
  702. deleteArena(1);
  703. }
  704. }
  705. g_DuelKills[id] = 0;
  706. g_DuelKills[opponent] = 0;
  707. InDuel[id] = 0;
  708. new var10 = InDuel;
  709. new var5;
  710. if (var10[opponent][0][0])
  711. {
  712. new var11 = InDuel[opponent];
  713. var11 = 0;
  714. spawn(opponent);
  715. var5 = var11;
  716. }
  717. else
  718. {
  719. var5 = var10;
  720. }
  721. return 0;
  722. }
  723. var2 = var1;
  724. if (ERROR: Phi)
  725. {
  726. deleteArena(0);
  727. }
  728. else
  729. {
  730. new var8 = InDuel;
  731. new var3;
  732. new var4;
  733. if (var8[id][0][0] == 3)
  734. {
  735. var3 = var8;
  736. }
  737. else
  738. {
  739. new var9 = InDuel;
  740. if (var9[id][0][0] == 4)
  741. {
  742. var3 = var9;
  743. }
  744. var4 = var9;
  745. if (ERROR: Phi)
  746. {
  747. deleteArena(1);
  748. }
  749. }
  750. var4 = var3;
  751. if (ERROR: Phi)
  752. {
  753. deleteArena(1);
  754. }
  755. }
  756. g_DuelKills[id] = 0;
  757. g_DuelKills[opponent] = 0;
  758. InDuel[id] = 0;
  759. new var10 = InDuel;
  760. new var5;
  761. if (var10[opponent][0][0])
  762. {
  763. new var11 = InDuel[opponent];
  764. var11 = 0;
  765. spawn(opponent);
  766. var5 = var11;
  767. }
  768. else
  769. {
  770. var5 = var10;
  771. }
  772. return 0;
  773. }
  774.  
  775. public arenamsg()
  776. {
  777. new iPlayers[32];
  778. new iNum = 0;
  779. new i = 0;
  780. get_players(iPlayers, iNum, "c", "");
  781. i = 0;
  782. while (i <= iNum)
  783. {
  784. new id = iPlayers[i];
  785. if (is_user_connected(id))
  786. {
  787. ColorMessage(id, "\4[ %s ] \1write \4/kdc \1or \4/duel \1for play\4 1vs1", PLUGIN);
  788. }
  789. i++;
  790. }
  791. return 0;
  792. }
  793.  
  794. ColorMessage(id, String:input[])
  795. {
  796. new count = 1;
  797. new players[32];
  798. static msg[191];
  799. vformat(msg, 190, input, 3);
  800. if (id)
  801. {
  802. players[0] = id;
  803. }
  804. else
  805. {
  806. get_players(players, count, "ch", "");
  807. }
  808. new i = 0;
  809. while (i < count)
  810. {
  811. if (is_user_connected(players[i]))
  812. {
  813. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), 11092, players[i]);
  814. write_byte(players[i]);
  815. write_string("");
  816. message_end();
  817. i++;
  818. }
  819. i++;
  820. }
  821. return 0;
  822. }
  823.  
  824. public createArenaA(id)
  825. {
  826. if (g_bArenaCreate[0][0])
  827. {
  828. return 1;
  829. }
  830. new i = 0;
  831. while (i < 24)
  832. {
  833. createBlock(0, i, ArrayArenaA[i][0][0], BlockAnglesY, BlockSizeMinY, BlockSizeMaxY);
  834. i++;
  835. }
  836. new i = 24;
  837. while (i < 32)
  838. {
  839. createBlock(0, i, ArrayArenaA[i][0][0], BlockAnglesX, BlockSizeMinX, BlockSizeMaxX);
  840. i++;
  841. }
  842. new i = 32;
  843. while (i < 38)
  844. {
  845. createBlock(0, i, ArrayArenaA[i][0][0], BlockAnglesZ, BlockSizeMinZ, BlockSizeMaxZ);
  846. i++;
  847. }
  848. g_bArenaCreate[0] = 1;
  849. return 1;
  850. }
  851.  
  852. public createArenaB(id)
  853. {
  854. if (g_bArenaCreate[1][0])
  855. {
  856. return 1;
  857. }
  858. new i = 0;
  859. while (i < 24)
  860. {
  861. createBlock(1, i, ArrayArenaB[i][0][0], BlockAnglesY, BlockSizeMinY, BlockSizeMaxY);
  862. i++;
  863. }
  864. new i = 24;
  865. while (i < 32)
  866. {
  867. createBlock(1, i, ArrayArenaB[i][0][0], BlockAnglesX, BlockSizeMinX, BlockSizeMaxX);
  868. i++;
  869. }
  870. new i = 32;
  871. while (i < 38)
  872. {
  873. createBlock(1, i, ArrayArenaB[i][0][0], BlockAnglesZ, BlockSizeMinZ, BlockSizeMaxZ);
  874. i++;
  875. }
  876. g_bArenaCreate[1] = 1;
  877. return 1;
  878. }
  879.  
  880. deleteArena(arenaID)
  881. {
  882. new i = 0;
  883. while (i < 38)
  884. {
  885. remove_entity(ArenaEnt[arenaID][0][0][i]);
  886. i++;
  887. }
  888. g_bArenaCreate[arenaID] = 0;
  889. return 0;
  890. }
  891.  
  892. createBlock(arenaID, blockNum, Float:vOrigin[3], Float:vAngles[3], Float:vSizeMin[3], Float:vSizeMax[3])
  893. {
  894. new ent = create_entity("info_target");
  895. ArenaEnt[arenaID][0][0][blockNum] = ent;
  896. if (is_valid_ent(ent))
  897. {
  898. entity_set_int(ent, EV_INT_solid, 2);
  899. entity_set_int(ent, EV_INT_movetype, 0);
  900. entity_set_model(ent, "models/arena.mdl");
  901. entity_set_vector(ent, 6, vAngles);
  902. entity_set_size(ent, vSizeMin, vSizeMax);
  903. entity_set_origin(ent, vOrigin);
  904. if (blockNum > 11)
  905. {
  906. set_rendering(ent, 19, 0, 0, 0, 1, 0);
  907. }
  908. return ent;
  909. }
  910. return 0;
  911. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement