hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.29. 08:46



Jelenlévő felhasználók

Jelenleg 342 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 341 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Lezárt fórum  A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [ 27 hozzászólás ]  Oldal Előző 1 2 3 Következő
Szerző Üzenet
 Hozzászólás témája: Re: Fragverseny Plugin v3.0
HozzászólásElküldve: 2015.12.04. 16:32 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2014.09.08. 22:21
Hozzászólások: 3014
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 555 alkalommal
De az egy kapcsoló,hogy on-e a fragverseny, nem? Akkor minek index?

Annak se kell attacker, azt kész
if(fragverseny && attacker != victim)

Amúgy fene a flúgosságod rittik odatetted, hogy return PLUGIN_CONTINUE.
Lemegyek hídba :D

_________________
GitHub - mforce


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Fragverseny Plugin v3.0
HozzászólásElküldve: 2015.12.04. 17:21 
Offline
GFX-Designer
Avatar

Csatlakozott: 2015.03.12. 15:06
Hozzászólások: 624
Megköszönt másnak: 199 alkalommal
Megköszönték neki: 78 alkalommal
Leírás szerint tetszik, szép munka! ;)
A plugin nem hibás? Használható? Mert a hozzászólások elbizonytalanítottak :p :roll:

_________________
„Nem azért felejtünk el játszani, mert megöregszünk, hanem attól öregszünk meg, hogy elfelejtünk játszani.”

-MAXHACKED Website-
-HERViD Website-
► Spoiler mutatása


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Fragverseny Plugin v3.0
HozzászólásElküldve: 2015.12.04. 18:21 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.11.16. 12:37
Hozzászólások: 686
Megköszönt másnak: 32 alkalommal
Megköszönték neki: 131 alkalommal
mforce írta:
De az egy kapcsoló,hogy on-e a fragverseny, nem? Akkor minek index?

Annak se kell attacker, azt kész
if(fragverseny && attacker != victim)

Amúgy fene a flúgosságod rittik odatetted, hogy return PLUGIN_CONTINUE.
Lemegyek hídba :D


:D

Grafity Igen használható és működik is csak ezeket most azért tisztázzuk hogy ne egye annyira a szerver gépet + kevesebb helyet foglaljon (meg némi fölöslegesség) de 100%-osan működik. :)

_________________
Kép
"I wouldn't hold my breath if I was you
Cause I'll forget but I'll never forgive you
Don't you know, don't you know?
True friends stab you in the front."

Ők köszönték meg 6almasok nek ezt a hozzászólást: *GrafitY* (2015.12.04. 19:03)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Fragverseny Plugin v3.0
HozzászólásElküldve: 2015.12.04. 19:03 
Offline
GFX-Designer
Avatar

Csatlakozott: 2015.03.12. 15:06
Hozzászólások: 624
Megköszönt másnak: 199 alkalommal
Megköszönték neki: 78 alkalommal
Köszönöm! Akkor egézségel használom is :lol:

_________________
„Nem azért felejtünk el játszani, mert megöregszünk, hanem attól öregszünk meg, hogy elfelejtünk játszani.”

-MAXHACKED Website-
-HERViD Website-
► Spoiler mutatása


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Fragverseny Plugin v3.0
HozzászólásElküldve: 2015.12.04. 21:23 
Offline
Beavatott

Csatlakozott: 2015.07.20. 19:02
Hozzászólások: 86
Kedves Force baba :)
Hibás a plugin :)

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Fragverseny Plugin v3.0
HozzászólásElküldve: 2015.12.05. 00:36 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.11.16. 12:37
Hozzászólások: 686
Megköszönt másnak: 32 alkalommal
Megköszönték neki: 131 alkalommal
rolika95 írta:
Kedves Force baba :)
Hibás a plugin :)

Én vagy 100x teszteltem hibát nem találtam de oszd meg velünk és majd meg nézem :)

_________________
Kép
"I wouldn't hold my breath if I was you
Cause I'll forget but I'll never forgive you
Don't you know, don't you know?
True friends stab you in the front."


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Fragverseny Plugin v3.0
HozzászólásElküldve: 2015.12.05. 02:35 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2014.09.08. 22:21
Hozzászólások: 3014
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 555 alkalommal
Gyors javítás ránézésre, többi infó a pluginban :D
UI: L0L a compilerre egyszer húztam rá a végén és jó xD

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <nvault>
  3.  
  4. #define PLUGIN "FragVerseny ize"
  5. #define VERSION "1.0"
  6. #define AUTHOR "6almasok"
  7.  
  8. /* Átírta ~ mforce @ hlmod.hu
  9. ( bekóláztam és nem tudtam aludni )
  10. Teszt pls én még soha nem használtam a plugint, de az a sok minusz tömb, meg -200 sor magáért beszél xD
  11. Szövegeket nem néztem át, tehát csak kódvezetés lett javítva átnézés alapján. */
  12.  
  13.  
  14. new oles[33], kezdesido[32], befejido[32], bool:fragverse, bool:vege, x_tempid, vault, Hudbj
  15.  
  16. new const hudmessages[][] = {
  17. "A fragverseny veget ert^nHelyezesek:",
  18. "Jelenleg fragverseny van, tart:",
  19. "Egy admin leallitotta a fragversenyt!^nNincs nyertes!",
  20. "Fragverseny elkezdodik"
  21. }
  22.  
  23. public plugin_init() {
  24. register_plugin(PLUGIN, VERSION, AUTHOR)
  25.  
  26. register_clcmd("say /fragverseny", "verseny")
  27.  
  28. register_clcmd("KEZDES_IDO", "kezd_kuld")
  29. register_clcmd("VEGETERESI_IDO", "befej_kuld")
  30. register_clcmd("Indok", "players_nullazo")
  31.  
  32. register_event("DeathMsg", "death", "a")
  33.  
  34. vault = nvault_open("frag_verseny")
  35. Hudbj = CreateHudSyncObj()
  36. }
  37. public death() {
  38. if(fragverse) {
  39. new killer = read_data(1)
  40. new victim = read_data(2)
  41.  
  42. if(killer != victim)
  43. oles[killer]++
  44. }
  45. }
  46.  
  47. public verseny(id) {
  48. if(get_user_flags(id) & ADMIN_RCON) {
  49. new cim[128]
  50. new Idoo[10];
  51. get_time("%H:%M:%S", Idoo, charsmax(Idoo))
  52. format(cim, charsmax(cim), "Fragverseny Beallitasok^n\rIdo: \d%s", Idoo)
  53. new menu = menu_create(cim, "ido_menu_h" )
  54.  
  55. if(!fragverse) {
  56. format(cim, charsmax(cim),"\wKezdesi Ido: [\d%s\w] \y(Pl.: 18:00)", kezdesido)
  57. menu_additem(menu, cim, "0",0)
  58. format(cim, charsmax(cim),"\wVegeteresi Ido: [\d%s\w] \y(Pl.: 20:00)", befejido)
  59. menu_additem(menu, cim, "1",0)
  60. menu_additem(menu, "\dFragverseny Inditasa","2", 0)
  61. menu_additem(menu, "\rBEALLITASOK!","3", 0)
  62. }
  63. else {
  64. format(cim, charsmax(cim), "\wJelenleg megy a fragverseny! (%s-%s-ig)", kezdesido, befejido)
  65. menu_additem(menu, cim, "0",0)
  66. menu_additem(menu, "\rBEALLITASOK!", "3", 0)
  67. }
  68.  
  69. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  70. menu_setprop(menu, MPROP_EXIT, "Kilepes");
  71. menu_display(id, menu, 0);
  72. }
  73.  
  74. else ChatColor(id, "^4Nincs jogod hozzá, ne is próbálkozz! Vili?!")
  75. }
  76.  
  77. public ido_menu_h(id, menu, item) {
  78. switch(item) {
  79. case 0: {
  80. if(!fragverse) client_cmd(id, "messagemode KEZDES_IDO");
  81. else verseny(id);
  82. }
  83. case 1: {
  84. if(!fragverse) client_cmd(id, "messagemode VEGETERESI_IDO");
  85. else verseny(id);
  86. }
  87. case 2: {
  88. if(strlen(befejido) > 0 && strlen(kezdesido) > 0) {
  89. if(!fragverse) {
  90. idozonacheck()
  91. ChatColor(id, "^1Elinditottad a szamlalot, ha annyi lesz az ido amennyit beutottel akkor elindul a fragverseny!")
  92. }
  93. }
  94. else {
  95. ChatColor(id, "^1Nem adtad meg a kezdesi es a befejezesi idot!")
  96. verseny(id)
  97. }
  98. }
  99. case 3: beallitasok(id)
  100. }
  101.  
  102. menu_destroy(menu);
  103. return PLUGIN_HANDLED;
  104. }
  105.  
  106. public beallitasok(id) {
  107. new cim[121]
  108. format(cim, charsmax(cim), "\yFragverseny \dbeallitasok")
  109. new menu = menu_create(cim, "beallit_menu_h")
  110.  
  111. if(fragverse) menu_additem(menu, "Fragverseny Leallitasa", "0", 0);
  112. menu_additem(menu, "Nullazo Menu", "1", 0)
  113.  
  114. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  115. menu_setprop(menu, MPROP_EXIT, "Kilepes");
  116. menu_display(id, menu, 0);
  117. }
  118. public beallit_menu_h(id, menu, item) {
  119. switch(item) {
  120. case 0: rakerdezes(id)
  121. case 1: nullazomen(id)
  122. }
  123.  
  124. menu_destroy(menu);
  125. return PLUGIN_HANDLED;
  126. }
  127.  
  128. public nullazomen(id) {
  129. new cim[121]
  130. format(cim, charsmax(cim), "\yValassz Nullazasi Lehetoseget!")
  131. new menu = menu_create(cim, "nulllehet_menu_h" )
  132.  
  133. menu_additem(menu, "\wOsszes Oles Nullazasa", "0", 0)
  134. menu_additem(menu, "\wKivalasztott Jatekos Oleseinek Nullazasa", "1", 0)
  135.  
  136. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  137. menu_setprop(menu, MPROP_EXIT, "Kilepes");
  138. menu_display(id, menu, 0);
  139. }
  140. public nulllehet_menu_h(id, menu, item) {
  141. switch(item) {
  142. case 0: {
  143. new p[32], n
  144. get_players(p, n, "c")
  145. for(new i; i < n; i++) {
  146. oles[p[i]] = 0
  147. ChatColor(0, "^1Az osszes jatekos olese ^3Nullazva^1 lett egy ^4ADMIN ^1altal!")
  148. }
  149. }
  150. case 1: nullazomenu(id)
  151. }
  152.  
  153. menu_destroy(menu);
  154. return PLUGIN_HANDLED;
  155. }
  156.  
  157. public nullazomenu(id) {
  158. new cim[121]; format(cim, charsmax(cim), "\wKinek szeretned nullazni az Oleset?");
  159. new menu = menu_create(cim, "players_kills_handler" )
  160.  
  161. new players[32], pnum, tempid;
  162. new szName[32], szUserId[32];
  163.  
  164. get_players( players, pnum, "c" );
  165.  
  166. for(new i; i<pnum; i++) {
  167. tempid = players[i];
  168. get_user_name(tempid, szName, charsmax(szName));
  169. formatex(szUserId, charsmax(szUserId), "%d", get_user_userid(tempid));
  170. menu_additem(menu, szName, szUserId, 0);
  171. }
  172.  
  173. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  174. menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  175. menu_setprop(menu, MPROP_NEXTNAME, "Következő");
  176. menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  177. menu_display(id, menu, 0);
  178. }
  179. public players_kills_handler(id, menu, item) {
  180. if(item == MENU_EXIT) {
  181. menu_destroy(menu);
  182. return PLUGIN_HANDLED;
  183. }
  184.  
  185. new szData[6], szName[64];
  186. new _access, item_callback;
  187. menu_item_getinfo(menu, item, _access, szData, charsmax(szData), szName, charsmax(szName), item_callback);
  188.  
  189. new userid = str_to_num(szData);
  190. x_tempid = find_player("k", userid);
  191.  
  192. client_cmd(id, "messagemode Indok");
  193.  
  194. menu_destroy(menu);
  195. return PLUGIN_HANDLED;
  196. }
  197. public players_nullazo(id) {
  198. new uzenet[32], kuldoneve[32], kaponeve[32]
  199. read_args(uzenet, charsmax(uzenet))
  200. remove_quotes(uzenet)
  201. get_user_name(id, kuldoneve, charsmax(kuldoneve))
  202. get_user_name(x_tempid, kaponeve, charsmax(kaponeve))
  203.  
  204. oles[x_tempid] = 0
  205. ChatColor(0, "^4[Frag-V]^3 %s^1 lenullazta ^3%s ^1oleseit! ^1Indok: ^4%s", kuldoneve, kaponeve, uzenet)
  206. }
  207. public rakerdezes(id) {
  208. new cim[121]
  209. format(cim, charsmax(cim), "\rBiztosan leakarod allitani a Fragversenyt?")
  210. new menu = menu_create(cim, "rakerd_menu_h" )
  211.  
  212. menu_additem(menu, "Igen", "0",0)
  213. menu_additem(menu, "Nem", "1",0)
  214.  
  215. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  216. menu_setprop(menu, MPROP_EXIT, "Kilepes");
  217. menu_display(id, menu, 0);
  218. }
  219. public rakerd_menu_h(id, menu, item) {
  220. switch(item) {
  221. case 0: {
  222. if(fragverse) {
  223. fragverse = false
  224. set_hudmessage(255, 0, 0, -1.0, 0.15, 2, 6.0, 15.0)
  225. show_hudmessage(0, hudmessages[2])
  226. }
  227. }
  228. case 1: verseny(id)
  229. }
  230.  
  231. menu_destroy(menu);
  232. return PLUGIN_HANDLED;
  233. }
  234.  
  235. public idozonacheck() {
  236. new Idoo[10]
  237. get_time("%H:%M", Idoo, charsmax(Idoo))
  238.  
  239. if(!fragverse) {
  240. set_hudmessage(0, 255, 0, -1.0, 0.10, 0, 1.0, 1.0)
  241. show_hudmessage(0, "%s %s-kor...", hudmessages[3], kezdesido)
  242. }
  243.  
  244. if(equal(Idoo, kezdesido)) {
  245. server_cmd("sv_restart 1")
  246. fragverse = true
  247. alegjobbak()
  248. }
  249. else if(equal(Idoo, befejido)) {
  250. fragverse = false
  251. vege = true
  252. alegjobbak()
  253. }
  254.  
  255. if(!vege) set_task(1.0, "idozonacheck");
  256. }
  257. public alegjobbak() {
  258. new players[32], num;
  259. get_players(players, num, "c");
  260. SortCustom1D(players, num, "sors_legelso")
  261.  
  262. new top1 = players[0]
  263. new top2 = players[1]
  264. new top3 = players[2]
  265.  
  266. new top1neve[32], top2neve[32], top3neve[32];
  267. get_user_name(top1, top1neve, charsmax(top1neve))
  268. get_user_name(top2, top2neve, charsmax(top2neve))
  269. get_user_name(top3, top3neve, charsmax(top3neve))
  270.  
  271. if(vege) {
  272. set_hudmessage(0, 255, 0, -1.0, 0.05, 0, 6.0, 30.0)
  273. switch(num) {
  274. case 1: ShowSyncHudMsg(0, Hudbj, "%s^n1. %s", hudmessages[0], top1neve);
  275. case 2: ShowSyncHudMsg(0, Hudbj, "%s^n1. %s || 2. %s", hudmessages[0], top1neve, top2neve);
  276. case 3: ShowSyncHudMsg(0, Hudbj, "%s^n1. %s || 2. %s || 3. %s", hudmessages[0], top1neve, top2neve, top3neve);
  277. }
  278. vege = false
  279. }
  280. else {
  281. set_hudmessage(0, 85, 255, -1.0, 0.05, 0, 6.0, 1.0)
  282. switch(num) {
  283. case 1: ShowSyncHudMsg(0, Hudbj, "%s %s-%s^n ^n1. %s KILL's: %d",hudmessages[1],kezdesido,befejido,top1neve, oles[top1])
  284. case 2: ShowSyncHudMsg(0, Hudbj, "%s %s-%s^n ^n1. %s KILL's: %d || 2. %s KILL's: %d",hudmessages[1],kezdesido,befejido, top1neve, oles[top1], top2neve, oles[top2])
  285. case 3: ShowSyncHudMsg(0, Hudbj, "%s %s-%s^n ^n1. %s KILL's: %d || 2. %s KILL's: %d || 3. %s KILL's :%d",hudmessages[1],kezdesido,befejido, top1neve, oles[top1], top2neve, oles[top2],top3neve, oles[top3])
  286. }
  287. set_task(1.0, "alegjobbak")
  288. }
  289. }
  290.  
  291. public sors_legelso(id1, id2) {
  292. if(oles[id1] > oles[id2])
  293. return -1;
  294. else
  295. return 1;
  296.  
  297. return 0;
  298. }
  299.  
  300. public kezd_kuld(id) {
  301. read_args(kezdesido, charsmax(kezdesido))
  302. remove_quotes(kezdesido)
  303. new hossz = strlen(kezdesido)
  304.  
  305. new Ido[10];
  306. get_time("%H:%M", Ido, charsmax(Ido))
  307.  
  308. if(!equal(Ido,kezdesido)) {
  309. if(hossz != 5) {
  310. ChatColor(id, "^1Helytelen karakter ^4formatum!")
  311. client_cmd(id, "messagemode KEZDES_IDO")
  312. }
  313. else verseny(id);
  314. }
  315. else ChatColor(id, "^4A kezdesi ido nem lehet annyi mint ami a JELENLEGI ido!");
  316. }
  317.  
  318. public befej_kuld(id) {
  319. read_args(befejido, charsmax(befejido))
  320. remove_quotes(befejido)
  321. new hossz = strlen(befejido)
  322.  
  323. new Ido[10];
  324. get_time("%H:%M", Ido, charsmax(Ido))
  325.  
  326. if(!equal(Ido,befejido)) {
  327. if(hossz != 5) {
  328. ChatColor(id, "^1Helytelen karakter ^4formatum!")
  329. client_cmd(id, "messagemode VEGETERESI_IDO")
  330. }
  331. else verseny(id);
  332. }
  333. else ChatColor(id, "^4A befejezesi ido nem lehet annyi mint ami a JELENLEGI ido!")
  334. }
  335.  
  336. public mentes(id) {
  337. new vaultkey[64],vaultdata[256], name[32]
  338. get_user_name(id, name, charsmax(name))
  339. formatex(vaultkey,charsmax(vaultkey),"%s-FRAG", name)
  340. formatex(vaultdata,charsmax(vaultdata),"%i", oles[id])
  341. nvault_set(vault,vaultkey,vaultdata)
  342. }
  343.  
  344. public betoltes(id) {
  345. new vaultkey[64],vaultdata[256], name[32], m_o[32]
  346. get_user_name(id, name, charsmax(name))
  347. formatex(vaultkey,charsmax(vaultkey),"%s-FRAG", name)
  348. formatex(vaultdata,255,"%i",oles[id])
  349. if(nvault_get(vault,vaultkey,vaultdata,charsmax(vaultdata))) {
  350. parse(vaultdata, m_o, charsmax(m_o))
  351. oles[id] = str_to_num(m_o)
  352. }
  353. }
  354.  
  355. public client_disconnect(id) {
  356. if(fragverse) {
  357. mentes(id)
  358. }
  359.  
  360. oles[id] = 0;
  361. }
  362.  
  363. public client_authorized(id) {
  364. if(fragverse) {
  365. betoltes(id)
  366. }
  367. }
  368.  
  369. stock ChatColor(const id, const szMessage[], any:...) {
  370. static pnum, players[32], szMsg[190], IdMsg;
  371. vformat(szMsg, charsmax(szMsg), szMessage, 3);
  372.  
  373. if(!IdMsg) IdMsg = get_user_msgid("SayText");
  374.  
  375. if(id) {
  376. if(!is_user_connected(id)) return;
  377. players[0] = id;
  378. pnum = 1;
  379. }
  380. else get_players(players, pnum, "ch");
  381.  
  382. for(new i; i < pnum; i++) {
  383. message_begin(MSG_ONE, IdMsg, .player = players[i]);
  384. write_byte(players[i]);
  385. write_string(szMsg);
  386. message_end();
  387. }
  388. }

_________________
GitHub - mforce


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Fragverseny Plugin v3.0
HozzászólásElküldve: 2015.12.05. 10:29 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.11.16. 12:37
Hozzászólások: 686
Megköszönt másnak: 32 alkalommal
Megköszönték neki: 131 alkalommal
Hát azért volt benne hiba nem is egy pl. nem volt jó az időzóna ellenőrző mivel a nálad a vege bool nem volt lekérve az indításnál a beállítások menü bugos volt a nullázó menünél az üzenetbe a szerver nevét kérte le és a kör újra indítás 1 percen keresztül ment volna stb. (Pluginba megköszönve)
De ennek alapján Frissítettem a plugint és lefaragtam belőle -100 sort (Mert engem annyira nem érdekel hogy hol van a kapcsos zárójel azért h rövidebb legyen a plugin :D )

_________________
Kép
"I wouldn't hold my breath if I was you
Cause I'll forget but I'll never forgive you
Don't you know, don't you know?
True friends stab you in the front."


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Fragverseny Plugin v3.0
HozzászólásElküldve: 2015.12.05. 11:02 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2014.09.08. 22:21
Hozzászólások: 3014
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 555 alkalommal
Az a jobb átláthatóság miatt volt magamnak, mert amúgyis hiányosok voltak a sortörések, de mindj ránézek miújság
Mellesleg időközben rájöttem az nvaultos dolog egy nagy baromság...


Szerk.: na megnéztem már az eleje nem jó, hát beszarok xDDDDD Nem hülyeségből írtam úgy a deathmsg-t, hogy ne legyen felesleges lefutás vili?

Megint szerk.:
Az újraindítgatós bug javítva, minden rendben én úgy láttam nagyjából. Csak a szövegeket nézd át, meg a menüket.
Ja meg nvault eltávolítva, mert baromság, hogy lementi az ölést ha lelép. Mivan ha máskor van fragverseny és akkor jön fel betölteni? XD
Ehhez trie kell.

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2.  
  3. #define PLUGIN "FragVerseny ize"
  4. #define VERSION "1.0"
  5. #define AUTHOR "6almasok"
  6.  
  7. /* Átírta ~ mforce @ hlmod.hu
  8. ( bekóláztam és nem tudtam aludni )
  9. Teszt pls én még soha nem használtam a plugint, de az a sok minusz tömb, meg -200 sor magáért beszél xD
  10. Szövegeket nem néztem át, tehát csak kódvezetés lett javítva átnézés alapján. */
  11.  
  12.  
  13. new oles[33], kezdesido[32], befejido[32], bool:fragverse, bool:vege, x_tempid, Hudbj
  14.  
  15. new const hudmessages[][] = {
  16. "A fragverseny veget ert^nHelyezesek:",
  17. "Jelenleg fragverseny van, tart:",
  18. "Egy admin leallitotta a fragversenyt!^nNincs nyertes!",
  19. "Fragverseny elkezdodik"
  20. }
  21.  
  22. public plugin_init() {
  23. register_plugin(PLUGIN, VERSION, AUTHOR)
  24.  
  25. register_clcmd("say /fragverseny", "verseny")
  26.  
  27. register_clcmd("KEZDES_IDO", "kezd_kuld")
  28. register_clcmd("VEGETERESI_IDO", "befej_kuld")
  29. register_clcmd("Indok", "players_nullazo")
  30.  
  31. register_event("DeathMsg", "death", "a")
  32.  
  33. Hudbj = CreateHudSyncObj()
  34. }
  35. public death() {
  36. if(fragverse) {
  37. new killer = read_data(1)
  38. new victim = read_data(2)
  39.  
  40. if(killer != victim)
  41. oles[killer]++
  42. }
  43. }
  44.  
  45. public verseny(id) {
  46. if(get_user_flags(id) & ADMIN_RCON) {
  47. new cim[128]
  48. new Idoo[10];
  49. get_time("%H:%M:%S", Idoo, charsmax(Idoo))
  50. format(cim, charsmax(cim), "Fragverseny Beallitasok^n\rIdo: \d%s", Idoo)
  51. new menu = menu_create(cim, "ido_menu_h" )
  52.  
  53. if(!fragverse) {
  54. format(cim, charsmax(cim),"\wKezdesi Ido: [\d%s\w] \y(Pl.: 18:00)", kezdesido)
  55. menu_additem(menu, cim, "0",0)
  56. format(cim, charsmax(cim),"\wVegeteresi Ido: [\d%s\w] \y(Pl.: 20:00)", befejido)
  57. menu_additem(menu, cim, "1",0)
  58. menu_additem(menu, "\dFragverseny Inditasa","2", 0)
  59. menu_additem(menu, "\rBEALLITASOK!","3", 0)
  60. }
  61. else {
  62. format(cim, charsmax(cim), "\wJelenleg megy a fragverseny! (%s-%s-ig)", kezdesido, befejido)
  63. menu_additem(menu, cim, "0",0)
  64. menu_additem(menu, "\rBEALLITASOK!", "3", 0)
  65. }
  66.  
  67. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  68. menu_setprop(menu, MPROP_EXIT, "Kilepes");
  69. menu_display(id, menu, 0);
  70. }
  71.  
  72. else ChatColor(id, "^4Nincs jogod hozzá, ne is próbálkozz! Vili?!")
  73. }
  74.  
  75. public ido_menu_h(id, menu, item) {
  76. switch(item) {
  77. case 0: {
  78. if(!fragverse) client_cmd(id, "messagemode KEZDES_IDO");
  79. else verseny(id);
  80. }
  81. case 1: {
  82. if(!fragverse) client_cmd(id, "messagemode VEGETERESI_IDO");
  83. else verseny(id);
  84. }
  85. case 2: {
  86. if(strlen(befejido) > 0 && strlen(kezdesido) > 0) {
  87. if(!fragverse) {
  88. idozonacheck()
  89. ChatColor(id, "^1Elinditottad a szamlalot, ha annyi lesz az ido amennyit beutottel akkor elindul a fragverseny!")
  90. }
  91. }
  92. else {
  93. ChatColor(id, "^1Nem adtad meg a kezdesi es a befejezesi idot!")
  94. verseny(id)
  95. }
  96. }
  97. case 3: beallitasok(id)
  98. }
  99.  
  100. menu_destroy(menu);
  101. return PLUGIN_HANDLED;
  102. }
  103.  
  104. public beallitasok(id) {
  105. new cim[121]
  106. format(cim, charsmax(cim), "\yFragverseny \dbeallitasok")
  107. new menu = menu_create(cim, "beallit_menu_h")
  108.  
  109. if(fragverse) menu_additem(menu, "Fragverseny Leallitasa", "0", 0);
  110. menu_additem(menu, "Nullazo Menu", "1", 0)
  111.  
  112. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  113. menu_setprop(menu, MPROP_EXIT, "Kilepes");
  114. menu_display(id, menu, 0);
  115. }
  116. public beallit_menu_h(id, menu, item) {
  117. switch(item) {
  118. case 0: rakerdezes(id)
  119. case 1: nullazomen(id)
  120. }
  121.  
  122. menu_destroy(menu);
  123. return PLUGIN_HANDLED;
  124. }
  125.  
  126. public nullazomen(id) {
  127. new cim[121]
  128. format(cim, charsmax(cim), "\yValassz Nullazasi Lehetoseget!")
  129. new menu = menu_create(cim, "nulllehet_menu_h" )
  130.  
  131. menu_additem(menu, "\wOsszes Oles Nullazasa", "0", 0)
  132. menu_additem(menu, "\wKivalasztott Jatekos Oleseinek Nullazasa", "1", 0)
  133.  
  134. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  135. menu_setprop(menu, MPROP_EXIT, "Kilepes");
  136. menu_display(id, menu, 0);
  137. }
  138. public nulllehet_menu_h(id, menu, item) {
  139. switch(item) {
  140. case 0: {
  141. new p[32], n
  142. get_players(p, n, "c")
  143. for(new i; i < n; i++) {
  144. oles[p[i]] = 0
  145. ChatColor(0, "^1Az osszes jatekos olese ^3Nullazva^1 lett egy ^4ADMIN ^1altal!")
  146. }
  147. }
  148. case 1: nullazomenu(id)
  149. }
  150.  
  151. menu_destroy(menu);
  152. return PLUGIN_HANDLED;
  153. }
  154.  
  155. public nullazomenu(id) {
  156. new cim[121]; format(cim, charsmax(cim), "\wKinek szeretned nullazni az Oleset?");
  157. new menu = menu_create(cim, "players_kills_handler" )
  158.  
  159. new players[32], pnum, tempid;
  160. new szName[32], szUserId[32];
  161.  
  162. get_players( players, pnum, "c" );
  163.  
  164. for(new i; i<pnum; i++) {
  165. tempid = players[i];
  166. get_user_name(tempid, szName, charsmax(szName));
  167. formatex(szUserId, charsmax(szUserId), "%d", get_user_userid(tempid));
  168. menu_additem(menu, szName, szUserId, 0);
  169. }
  170.  
  171. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  172. menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  173. menu_setprop(menu, MPROP_NEXTNAME, "Következő");
  174. menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  175. menu_display(id, menu, 0);
  176. }
  177. public players_kills_handler(id, menu, item) {
  178. if(item == MENU_EXIT) {
  179. menu_destroy(menu);
  180. return PLUGIN_HANDLED;
  181. }
  182.  
  183. new szData[6], szName[64];
  184. new _access, item_callback;
  185. menu_item_getinfo(menu, item, _access, szData, charsmax(szData), szName, charsmax(szName), item_callback);
  186.  
  187. new userid = str_to_num(szData);
  188. x_tempid = find_player("k", userid);
  189.  
  190. client_cmd(id, "messagemode Indok");
  191.  
  192. menu_destroy(menu);
  193. return PLUGIN_HANDLED;
  194. }
  195. public players_nullazo(id) {
  196. new uzenet[32], kuldoneve[32], kaponeve[32]
  197. read_args(uzenet, charsmax(uzenet))
  198. remove_quotes(uzenet)
  199. get_user_name(id, kuldoneve, charsmax(kuldoneve))
  200. get_user_name(x_tempid, kaponeve, charsmax(kaponeve))
  201.  
  202. oles[x_tempid] = 0
  203. ChatColor(0, "^4[Frag-V]^3 %s^1 lenullazta ^3%s ^1oleseit! ^1Indok: ^4%s", kuldoneve, kaponeve, uzenet)
  204. }
  205. public rakerdezes(id) {
  206. new cim[121]
  207. format(cim, charsmax(cim), "\rBiztosan leakarod allitani a Fragversenyt?")
  208. new menu = menu_create(cim, "rakerd_menu_h" )
  209.  
  210. menu_additem(menu, "Igen", "0",0)
  211. menu_additem(menu, "Nem", "1",0)
  212.  
  213. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  214. menu_setprop(menu, MPROP_EXIT, "Kilepes");
  215. menu_display(id, menu, 0);
  216. }
  217. public rakerd_menu_h(id, menu, item) {
  218. switch(item) {
  219. case 0: {
  220. if(fragverse) {
  221. fragverse = false
  222. set_hudmessage(255, 0, 0, -1.0, 0.15, 2, 6.0, 15.0)
  223. show_hudmessage(0, hudmessages[2])
  224. }
  225. }
  226. case 1: verseny(id)
  227. }
  228.  
  229. menu_destroy(menu);
  230. return PLUGIN_HANDLED;
  231. }
  232.  
  233. public idozonacheck() {
  234. new Idoo[10]
  235. get_time("%H:%M", Idoo, charsmax(Idoo))
  236.  
  237. if(!fragverse) {
  238. set_hudmessage(0, 255, 0, -1.0, 0.10, 0, 1.0, 1.0)
  239. show_hudmessage(0, "%s %s-kor...", hudmessages[3], kezdesido)
  240.  
  241. if(equal(Idoo, kezdesido)) {
  242. server_cmd("sv_restart 1")
  243. fragverse = true
  244. alegjobbak()
  245. }
  246. }
  247. else {
  248. if(equal(Idoo, befejido)) {
  249. fragverse = false
  250. vege = true
  251. alegjobbak()
  252. }
  253. }
  254. if(!vege) set_task(1.0, "idozonacheck");
  255. }
  256. public alegjobbak() {
  257. new players[32], num;
  258. get_players(players, num, "c");
  259. SortCustom1D(players, num, "sors_legelso")
  260.  
  261. new top1 = players[0]
  262. new top2 = players[1]
  263. new top3 = players[2]
  264.  
  265. new top1neve[32], top2neve[32], top3neve[32];
  266. get_user_name(top1, top1neve, charsmax(top1neve))
  267. get_user_name(top2, top2neve, charsmax(top2neve))
  268. get_user_name(top3, top3neve, charsmax(top3neve))
  269.  
  270. if(vege) {
  271. set_hudmessage(0, 255, 0, -1.0, 0.05, 0, 6.0, 30.0)
  272. switch(num) {
  273. case 1: ShowSyncHudMsg(0, Hudbj, "%s^n1. %s", hudmessages[0], top1neve);
  274. case 2: ShowSyncHudMsg(0, Hudbj, "%s^n1. %s || 2. %s", hudmessages[0], top1neve, top2neve);
  275. default: ShowSyncHudMsg(0, Hudbj, "%s^n1. %s || 2. %s || 3. %s", hudmessages[0], top1neve, top2neve, top3neve);
  276. }
  277. set_task(5.0, "offoljuk")
  278. }
  279. else {
  280. set_hudmessage(0, 85, 255, -1.0, 0.05, 0, 6.0, 1.0)
  281. switch(num) {
  282. case 1: ShowSyncHudMsg(0, Hudbj, "%s %s-%s^n ^n1. %s KILL's: %d",hudmessages[1],kezdesido,befejido,top1neve, oles[top1])
  283. case 2: ShowSyncHudMsg(0, Hudbj, "%s %s-%s^n ^n1. %s KILL's: %d || 2. %s KILL's: %d",hudmessages[1],kezdesido,befejido, top1neve, oles[top1], top2neve, oles[top2])
  284. default: ShowSyncHudMsg(0, Hudbj, "%s %s-%s^n ^n1. %s KILL's: %d || 2. %s KILL's: %d || 3. %s KILL's :%d",hudmessages[1],kezdesido,befejido, top1neve, oles[top1], top2neve, oles[top2],top3neve, oles[top3])
  285. }
  286. set_task(1.0, "alegjobbak")
  287. }
  288. }
  289.  
  290. public offoljuk() {
  291. vege = false
  292.  
  293. new players[32], pnum, tempid;
  294. get_players( players, pnum, "c" );
  295. for(new i; i<pnum; i++) {
  296. tempid = players[i];
  297. oles[tempid] = 0;
  298. }
  299. }
  300.  
  301. public sors_legelso(id1, id2) {
  302. if(oles[id1] > oles[id2])
  303. return -1;
  304. else
  305. return 1;
  306.  
  307. return 0;
  308. }
  309.  
  310. public kezd_kuld(id) {
  311. read_args(kezdesido, charsmax(kezdesido))
  312. remove_quotes(kezdesido)
  313. new hossz = strlen(kezdesido)
  314.  
  315. new Ido[10];
  316. get_time("%H:%M", Ido, charsmax(Ido))
  317.  
  318. if(!equal(Ido,kezdesido)) {
  319. if(hossz != 5) {
  320. ChatColor(id, "^1Helytelen karakter ^4formatum!")
  321. client_cmd(id, "messagemode KEZDES_IDO")
  322. }
  323. else verseny(id);
  324. }
  325. else ChatColor(id, "^4A kezdesi ido nem lehet annyi mint ami a JELENLEGI ido!");
  326. }
  327.  
  328. public befej_kuld(id) {
  329. read_args(befejido, charsmax(befejido))
  330. remove_quotes(befejido)
  331. new hossz = strlen(befejido)
  332.  
  333. new Ido[10];
  334. get_time("%H:%M", Ido, charsmax(Ido))
  335.  
  336. if(!equal(Ido,befejido)) {
  337. if(hossz != 5) {
  338. ChatColor(id, "^1Helytelen karakter ^4formatum!")
  339. client_cmd(id, "messagemode VEGETERESI_IDO")
  340. }
  341. else verseny(id);
  342. }
  343. else ChatColor(id, "^4A befejezesi ido nem lehet annyi mint ami a JELENLEGI ido!")
  344. }
  345.  
  346. public client_disconnect(id) {
  347. oles[id] = 0;
  348. }
  349.  
  350. stock ChatColor(const id, const szMessage[], any:...) {
  351. static pnum, players[32], szMsg[190], IdMsg;
  352. vformat(szMsg, charsmax(szMsg), szMessage, 3);
  353.  
  354. if(!IdMsg) IdMsg = get_user_msgid("SayText");
  355.  
  356. if(id) {
  357. if(!is_user_connected(id)) return;
  358. players[0] = id;
  359. pnum = 1;
  360. }
  361. else get_players(players, pnum, "ch");
  362.  
  363. for(new i; i < pnum; i++) {
  364. message_begin(MSG_ONE, IdMsg, .player = players[i]);
  365. write_byte(players[i]);
  366. write_string(szMsg);
  367. message_end();
  368. }
  369. }

_________________
GitHub - mforce


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Fragverseny Plugin v3.0
HozzászólásElküldve: 2015.12.05. 13:06 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.11.16. 12:37
Hozzászólások: 686
Megköszönt másnak: 32 alkalommal
Megköszönték neki: 131 alkalommal
és mivan ha fragverseny közben lép le ? :DD vissza jön megy még a verseny azt hoppá 0 kill wtf? :D

_________________
Kép
"I wouldn't hold my breath if I was you
Cause I'll forget but I'll never forgive you
Don't you know, don't you know?
True friends stab you in the front."


Hozzászólás jelentése
Vissza a tetejére
   
 
Hozzászólások megjelenítése:  Rendezés  
Lezárt fórum  A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [ 27 hozzászólás ]  Oldal Előző 1 2 3 Következő


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 7 vendég


Nem nyithatsz témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole