hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.06.17. 00:38



Jelenlévő felhasználók

Jelenleg 429 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 428 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ő


Új téma nyitása  Hozzászólás a témához  [ 4 hozzászólás ] 
Szerző Üzenet
HozzászólásElküldve: 2015.09.09. 14:12 
Berakom a cs1.6 szerveremre a karácsonyi égősor plugint és kifagy a szerver. Miért?
Itt a plugin:
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4. #include <engine>
  5. #include <xs>
  6.  
  7. #define PLUGIN "Karacsonyi egosor"
  8. #define VERSION "1.0"
  9. #define AUTHOR "Idarav"
  10.  
  11. #define CLASSNAME "karacsonyi_ego"
  12.  
  13. #define MAX_EGOSOR 64
  14. #define MAX_EGO 64
  15.  
  16. #define EGO_FX kRenderFxNoDissipation
  17. #define EGO_RENDER kRenderGlow
  18.  
  19. #define TASK_VILLOG 125768
  20. #define TASK_HUD 284471
  21.  
  22. new egosor[MAX_EGOSOR][MAX_EGO]
  23. new egosor_szam[MAX_EGOSOR]
  24. new egosorok
  25.  
  26. new pr[MAX_EGOSOR]
  27. new pr_gyakorisag[MAX_EGOSOR]
  28. new pr_status[MAX_EGOSOR]
  29. new pr_folyamat[MAX_EGOSOR]
  30. new pr_folyamat2[MAX_EGOSOR]
  31.  
  32. //menü
  33. new menu_egosor[33]
  34. new menu_egosor_oldal[33]
  35. new bool: menu_villog[33]
  36. new menu_villog_t[33]
  37.  
  38.  
  39. //Mentés
  40. new file[128]
  41.  
  42. new programok[][] = {
  43. "Nincs",
  44. "egyszerre villogas",
  45. "felvaltott villogas",
  46. "elejetol a vegeig",
  47. "elejetol a vegeig es vissza",
  48. "random",
  49. "random2",
  50. "szinek szerint"
  51. }
  52.  
  53. new models[][] = {
  54. "sprites/fireworks/bflare.spr",
  55. "sprites/fireworks/gflare.spr",
  56. "sprites/fireworks/oflare.spr",
  57. "sprites/fireworks/pflare.spr",
  58. "sprites/fireworks/rflare.spr",
  59. "sprites/fireworks/tflare.spr",
  60. "sprites/fireworks/yflare.spr"
  61. }
  62.  
  63.  
  64. //KEYSMENU
  65. const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
  66.  
  67. public plugin_init() {
  68. register_plugin(PLUGIN, VERSION, AUTHOR)
  69.  
  70.  
  71. register_clcmd("say /ego", "cmdmenu", ADMIN_IMMUNITY, "Karacsonyi egosorok elhelyezesehez hoz elo egy menut")
  72. register_menu("egosor_menu", KEYSMENU, "cmd_egosormenu")
  73. register_menu("egosor_select_menu", KEYSMENU, "cmd_egosor_select_menu")
  74. register_menu("egosor_program_menu", KEYSMENU, "cmd_egosor_program_menu")
  75.  
  76. //Mentes
  77. new szDir[64];
  78. new szMap[32];
  79. get_basedir(szDir, 64);
  80. add(szDir, 64, "/configs/egosor");
  81. if (!dir_exists(szDir))
  82. mkdir(szDir);
  83.  
  84. get_mapname(szMap, 32);
  85. formatex(file, 96, "%s/%s.egosorbyidarav", szDir, szMap);
  86.  
  87. set_task(2.0, "betoltes", 0)
  88. set_task(0.1, "program", _, _, _, "b")
  89. }
  90.  
  91. public plugin_precache()
  92. {
  93. for(new i; i<sizeof(models); i++)
  94. if(file_exists(models[i]))
  95. precache_model(models[i])
  96. }
  97.  
  98. public client_connect(id)
  99. {
  100. menu_egosor[id]=0
  101. menu_egosor_oldal[id]=0
  102. menu_villog[id]=false
  103. menu_villog_t[id]=0
  104. }
  105.  
  106. public client_disconnect(id)
  107. {
  108. menu_egosor[id]=0
  109. menu_egosor_oldal[id]=0
  110. menu_villog[id]=false
  111. menu_villog_t[id]=0
  112. }
  113.  
  114. public client_putinserver(id)
  115. {
  116. set_task(20.0, "showhud", id+TASK_HUD)
  117. }
  118.  
  119. public showhud(id)
  120. {
  121. id-=TASK_HUD
  122. set_hudmessage(170, 212, 255, -1.0, 0.0, 0, 6.0, 8.0)
  123. show_hudmessage(id, "A karacsonyi egesor plugint Idarav keszitette.")
  124. client_print(id, print_console, "** A karacsonyi egesor plugint Idarav keszitette.")
  125.  
  126. }
  127.  
  128. public spawnolas(id)
  129. {
  130. new sor = menu_egosor[id]
  131.  
  132. if(sor != -1 && egosor_szam[sor] >= 64)
  133. {
  134. client_print(id, print_chat, " * Egy egosorban csak %d ego lehet", MAX_EGO)
  135. }else if(sor != -1 && egosorok < sor)
  136. {
  137. client_print(id, print_chat, " * Osszesen csak %d egosor lehet", MAX_EGOSOR)
  138. }else{
  139. new ent = spawn(id)
  140.  
  141. if(sor==-1)
  142. {
  143. for(new i; i<MAX_EGOSOR; i++)
  144. if(egosor_szam[i] == 0) { sor=(i); break; }
  145.  
  146. menu_egosor[id]=(sor)
  147.  
  148. pr[sor]=0
  149. pr_gyakorisag[sor]=1
  150. pr_status[sor]=0
  151. pr_folyamat[sor]=0
  152. pr_folyamat2[sor]=0
  153.  
  154. egosorok++
  155. }
  156. egosor[sor][egosor_szam[sor]]=ent
  157. egosor_szam[sor]++
  158.  
  159. set_pev(ent, pev_iuser1, menu_egosor[id])
  160.  
  161. }
  162. }
  163. public spawn(id)
  164. {
  165. new ent = create_entity("info_target")
  166.  
  167. if(pev_valid(ent))
  168. {
  169. set_pev(ent,pev_classname,CLASSNAME);
  170.  
  171. new rmodel = random_num(0, sizeof(models)-1)
  172. engfunc(EngFunc_SetModel,ent, models[rmodel]);
  173. set_pev(ent, pev_iuser2, rmodel)
  174.  
  175. set_pev(ent,pev_solid,SOLID_NOT);
  176. set_pev(ent,pev_movetype,MOVETYPE_FLY);
  177.  
  178. set_pev(ent,pev_frame,0);
  179. set_pev(ent,pev_body,0);
  180. set_pev(ent,pev_sequence,0);
  181. set_pev(ent,pev_framerate,1.0);
  182.  
  183. set_rendering(ent,EGO_FX,0,0,0,EGO_RENDER,255)
  184.  
  185. new Float:vOrigin[3]
  186.  
  187. new Float:vNewOrigin[3],Float:vNormal[3],Float:vTraceDirection[3],
  188. Float:vTraceEnd[3]
  189.  
  190. new Float: VOfs[3]
  191. pev(id, pev_origin, vOrigin)
  192. pev(id, pev_view_ofs, VOfs)
  193. xs_vec_add(vOrigin, VOfs, vOrigin)
  194.  
  195.  
  196. velocity_by_aim( id, 2000, vTraceDirection );
  197. xs_vec_add( vTraceDirection, vOrigin, vTraceEnd );
  198.  
  199. engfunc( EngFunc_TraceLine, vOrigin, vTraceEnd, DONT_IGNORE_MONSTERS, id, 0 );
  200.  
  201. new Float:fFraction;
  202. get_tr2( 0, TR_flFraction, fFraction );
  203.  
  204.  
  205. if ( fFraction < 1.0 )
  206. {
  207. get_tr2( 0, TR_vecEndPos, vTraceEnd );
  208. get_tr2( 0, TR_vecPlaneNormal, vNormal );
  209. }
  210.  
  211.  
  212. xs_vec_mul_scalar( vNormal, 3.0, vNormal );
  213. xs_vec_add( vTraceEnd, vNormal, vNewOrigin );
  214.  
  215. engfunc(EngFunc_SetSize, ent, Float:{ -6.0, -6.0, -6.0 }, Float:{ 6.0, 6.0, 6.0 } );
  216. engfunc(EngFunc_SetOrigin, ent, vNewOrigin );
  217.  
  218. }else{
  219. client_print(id, print_chat, "******** HIBA (SPAWN) ********");
  220. }
  221.  
  222. return ent;
  223. }
  224. public autospawn(id, Float:vNewOrigin[3], rmodel )
  225. {
  226. new ent = create_entity("info_target")
  227.  
  228. if(pev_valid(ent))
  229. {
  230. set_pev(ent,pev_classname,CLASSNAME);
  231.  
  232. engfunc(EngFunc_SetModel,ent, models[rmodel]);
  233. set_pev(ent, pev_iuser2, rmodel)
  234.  
  235. set_pev(ent,pev_solid,SOLID_NOT);
  236. set_pev(ent,pev_movetype,MOVETYPE_FLY);
  237.  
  238. set_pev(ent,pev_frame,0);
  239. set_pev(ent,pev_body,0);
  240. set_pev(ent,pev_sequence,0);
  241. set_pev(ent,pev_framerate,1.0);
  242.  
  243. set_rendering(ent,EGO_FX,0,0,0,EGO_RENDER,255)
  244.  
  245. engfunc(EngFunc_SetSize, ent, Float:{ -6.0, -6.0, -6.0 }, Float:{ 6.0, 6.0, 6.0 } );
  246. engfunc(EngFunc_SetOrigin, ent, vNewOrigin );
  247.  
  248. }else{
  249. client_print(id, print_chat, "******** HIBA (AUTOSPAWN)********");
  250. }
  251.  
  252. return ent;
  253. }
  254.  
  255. public nullaz(sor)
  256. {
  257. if(egosor_szam[sor]>0)
  258. {
  259. for(new i; i<MAX_EGO; i++)
  260. {
  261. if(pev_valid(egosor[sor][i]))
  262. remove_entity(egosor[sor][i])
  263.  
  264. egosor[sor][i] = 0
  265. }
  266. egosor_szam[sor]=0
  267.  
  268. pr[sor]=0
  269. pr_gyakorisag[sor]=0
  270. pr_status[sor]=0
  271. pr_folyamat[sor]=0
  272. pr_folyamat2[sor]=0
  273.  
  274. egosorok--
  275.  
  276. for(new i; i<33; i++)
  277. if( menu_egosor[i] == sor )
  278. menu_egosor[i]=-1
  279. }
  280. }
  281.  
  282. public delete(id)
  283. {
  284. new Float:vNewOrigin[3],Float:vNormal[3],Float:vTraceDirection[3],
  285. Float:vTraceEnd[3]
  286. new Float:vOrigin[3], Float: VOfs[3]
  287. pev( id, pev_origin, vOrigin );
  288. pev( id, pev_view_ofs, VOfs );
  289. xs_vec_add(VOfs, vOrigin, vOrigin)
  290. velocity_by_aim( id, 2000, vTraceDirection );
  291. xs_vec_add( vTraceDirection, vOrigin, vTraceEnd );
  292.  
  293. engfunc( EngFunc_TraceLine, vOrigin, vTraceEnd, DONT_IGNORE_MONSTERS, id, 0 );
  294.  
  295. new Float:fFraction;
  296. get_tr2( 0, TR_flFraction, fFraction );
  297.  
  298.  
  299. if ( fFraction < 1.0 )
  300. {
  301. get_tr2( 0, TR_vecEndPos, vTraceEnd );
  302. get_tr2( 0, TR_vecPlaneNormal, vNormal );
  303. }
  304.  
  305.  
  306. xs_vec_mul_scalar( vNormal, 0.1, vNormal );
  307. xs_vec_add( vTraceEnd, vNormal, vNewOrigin );
  308.  
  309.  
  310. new entinsphere = -1;
  311. new ent
  312. new bool:vanvalami
  313. new Float:mintav
  314. while ((entinsphere = find_ent_in_sphere(entinsphere, vNewOrigin, 50.0)))
  315. {
  316. new class[21]
  317. pev(entinsphere, pev_classname, class, 20)
  318.  
  319. if(equal(class, CLASSNAME))
  320. {
  321. vanvalami=true
  322. new Float: entorigin[3]
  323. pev(entinsphere, pev_origin, entorigin)
  324. if(get_distance_f(vNewOrigin, entorigin) < mintav || mintav < 0.00001)
  325. {
  326. ent=entinsphere
  327. mintav=get_distance_f(vNewOrigin, entorigin)
  328. }
  329. }
  330. }
  331. if( !vanvalami || !ent )
  332. {
  333. client_print(id, print_chat, "***** NINCS OTT EGO *******");
  334. return ;
  335. }
  336. new sor = pev(ent, pev_iuser1)
  337. nullaz(sor)
  338. }
  339.  
  340. public delete_select(id)
  341. {
  342. if(menu_egosor[id] >= 0)
  343. nullaz(menu_egosor[id])
  344. else
  345. client_print(id, print_chat, "***** NINCS KIVALASZTVA EGOSOR *******");
  346. }
  347.  
  348. public delete_all(id)
  349. {
  350. for(new sor; sor<MAX_EGOSOR; sor++)
  351. {
  352. for(new i; i<MAX_EGO; i++)
  353. {
  354. if(pev_valid(egosor[sor][i]))
  355. remove_entity(egosor[sor][i])
  356.  
  357. egosor[sor][i] = 0
  358. }
  359. pr[sor]=0
  360. pr_gyakorisag[sor]=0
  361. pr_status[sor]=0
  362. pr_folyamat[sor]=0
  363. pr_folyamat2[sor]=0
  364.  
  365. egosor_szam[sor]=0
  366.  
  367. }
  368. for(new i; i<33; i++)
  369. menu_egosor[i]=-1
  370.  
  371. egosorok=0
  372. }
  373.  
  374. /*=================================
  375. //===== MENÜK
  376. =================================*/
  377.  
  378. public cmdmenu(id, level, cid)
  379. {
  380. if ( !cmd_access( id, level, cid, 1 ) )
  381. {
  382. return PLUGIN_HANDLED;
  383. }
  384. showmenu(id)
  385. return PLUGIN_HANDLED;
  386. }
  387.  
  388. /*---------------[ Main Menu ]-------------------------------->>>>>>>>>>>>*/
  389. public showmenu(id)
  390. {
  391. static menu[500], len
  392. len = 0
  393.  
  394. len += formatex(menu[len], charsmax(menu) - len, "Karacsonyi egosor menu -[by Idarav]^n^n")
  395.  
  396.  
  397. if(menu_egosor[id]>egosorok || egosorok==0)
  398. menu_egosor[id]=-1
  399.  
  400. if(menu_egosor[id]==-1)
  401. {
  402. len += formatex(menu[len], charsmax(menu) - len, "1. Valassz egosort \y[UJ EGOSOR]\w^n")
  403. len += formatex(menu[len], charsmax(menu) - len, "2. Egosor megkezdese^n^n")
  404. }
  405. else
  406. {
  407. len += formatex(menu[len], charsmax(menu) - len, "1. Valassz egosort \y[%d]\d (%d)\w^n", menu_egosor[id]+1, egosor_szam[menu_egosor[id]])
  408. if(egosor_szam[menu_egosor[id]]<MAX_EGO)
  409. len += formatex(menu[len], charsmax(menu) - len, "2. Ego lerakasa / Egosor folytatasa^n^n")
  410. else
  411. len += formatex(menu[len], charsmax(menu) - len, "2. \dEgo lerakasa / Egosor folytatasa\w^n^n")
  412. }
  413.  
  414. len += formatex(menu[len], charsmax(menu) - len, "3. Egosor eltavolitasa - nezz ra!^n")
  415. len += formatex(menu[len], charsmax(menu) - len, "4. Valasztott egosor eltavolitasa^n")
  416. len += formatex(menu[len], charsmax(menu) - len, "5. Osszes egosor eltavolitasa^n^n")
  417.  
  418. len += formatex(menu[len], charsmax(menu) - len, "6. \rEgosor programozas\w^n^n")
  419.  
  420. len += formatex(menu[len], charsmax(menu) - len, "7. Kijelzes \d(Ezzel konnyebb megtalalni az egosorokat) \y[\w%s\y]\w^n^n", (menu_villog[id] ? "ON" : "OFF"))
  421.  
  422. len += formatex(menu[len], charsmax(menu) - len, "8. Mentes^n")
  423. len += formatex(menu[len], charsmax(menu) - len, "9. Betoltes^n")
  424.  
  425. len += formatex(menu[len], charsmax(menu) - len, "^n0. Kilepes")
  426.  
  427.  
  428. show_menu(id, KEYSMENU, menu, -1, "egosor_menu")
  429. }
  430.  
  431. public cmd_egosormenu(id, key)
  432. {
  433.  
  434. switch(key) {
  435. case 0: {
  436. menu_egosor_oldal[id]=0
  437. showmenu_select(id)
  438. }
  439. case 1: {
  440. spawnolas(id)
  441. showmenu(id)
  442. }
  443. case 2: {
  444. delete(id)
  445. showmenu(id)
  446. }
  447. case 3: {
  448. delete_select(id)
  449. showmenu(id)
  450. }
  451. case 4: {
  452. delete_all(id)
  453. showmenu(id)
  454. }
  455. case 5: {
  456. if(menu_egosor[id]==-1)
  457. {
  458. client_print(id, print_chat, " *Valassz ki egy egosort")
  459. showmenu(id)
  460. }else
  461. showmenu_program(id)
  462. }
  463. case 6: {
  464. if(menu_villog[id])
  465. glow_ki(id)
  466. else
  467. glow_be(id)
  468.  
  469. showmenu(id)
  470. }
  471. case 7: {
  472. mentes(id)
  473. showmenu(id)
  474. }
  475. case 8: {
  476. betoltes(id)
  477. showmenu(id)
  478. }
  479. }
  480. }
  481. /*---------------[ Select Menu ]-------------------------------->>>>>>>>>>>>*/
  482.  
  483. public showmenu_select(id)
  484. {
  485. static menu[500], len
  486. len = 0
  487.  
  488. len += formatex(menu[len], charsmax(menu) - len, "Karacsonyi egosor Valaszto menu^n^n")
  489.  
  490. len += formatex(menu[len], charsmax(menu) - len, "1. \yUJ EGOSOR\w^n")
  491.  
  492.  
  493. new select_min = 7*menu_egosor_oldal[id]
  494. new select_max = min(MAX_EGOSOR, select_min+7)
  495.  
  496. new szam=2
  497. new i
  498. for(i=select_min; i<select_max; i++)
  499. {
  500. if(egosor_szam[i]>0)
  501. {
  502. len += formatex(menu[len], charsmax(menu) - len, "\w%d.\y %d \d(%d)^n", szam, i+1, egosor_szam[i])
  503. szam++
  504. }else{
  505. len += formatex(menu[len], charsmax(menu) - len, "\d%d. %d^n", szam, i+1)
  506. szam++
  507. }
  508. }
  509.  
  510. if(menu_egosor_oldal[id] < floatround(MAX_EGOSOR/7+0.0, floatround_ceil))
  511. len += formatex(menu[len], charsmax(menu) - len, "^n\w9. Tovabb")
  512. else
  513. len += formatex(menu[len], charsmax(menu) - len, "^n\d9. Tovabb\w")
  514.  
  515. if(menu_egosor_oldal[id]>0)
  516. len += formatex(menu[len], charsmax(menu) - len, "^n\w0. Vissza")
  517. else
  518. len += formatex(menu[len], charsmax(menu) - len, "^n\w0. Kilepes")
  519.  
  520.  
  521. show_menu(id, KEYSMENU, menu, -1, "egosor_select_menu")
  522. }
  523.  
  524. public cmd_egosor_select_menu(id, key)
  525. {
  526. switch(key) {
  527. case 0: {
  528. menu_egosor[id]=-1
  529. showmenu(id)
  530. return ;
  531.  
  532. }
  533. case 8: {
  534. menu_egosor_oldal[id]++
  535. showmenu_select(id)
  536. return ;
  537. }
  538. case 9: {
  539. if(menu_egosor_oldal[id]>0)
  540. {
  541. menu_egosor_oldal[id]--
  542. showmenu_select(id)
  543. }else{
  544. showmenu(id)
  545. }
  546. return ;
  547. }
  548. }
  549.  
  550. new select_min = 7*menu_egosor_oldal[id]
  551.  
  552. menu_egosor[id] = select_min+key-1
  553.  
  554. if(egosor_szam[menu_egosor[id]]==0)
  555. menu_egosor[id]=-1
  556. showmenu(id)
  557. }
  558.  
  559. /*---------------[ ProGraMoZás ]-------------------------------->>>>>>>>>>>>*/
  560.  
  561. public showmenu_program(id)
  562. {
  563. static menu[500], len
  564. len = 0
  565.  
  566. len += formatex(menu[len], charsmax(menu) - len, "Karacsonyi egosor \rPROGRAMOZAS\w menu^n^n")
  567.  
  568. for(new i; i<sizeof(programok); i++)
  569. {
  570. len += formatex(menu[len], charsmax(menu) - len, "\y%d\w. \r%s^n", i+1, programok[i])
  571. }
  572. len += formatex(menu[len], charsmax(menu) - len, "^n\w9. \yGyakorisag: %3.1f sec^n", (pr_gyakorisag[menu_egosor[id]]+0.0)/10)
  573.  
  574. len += formatex(menu[len], charsmax(menu) - len, "\w0. Kilepes")
  575.  
  576. show_menu(id, KEYSMENU, menu, -1, "egosor_program_menu")
  577. }
  578.  
  579. public cmd_egosor_program_menu(id, key)
  580. {
  581. new sor = menu_egosor[id]
  582. if(key < 8)
  583. {
  584. programozas(id, key)
  585. showmenu_program(id)
  586. }
  587.  
  588. if(key == 8)
  589. {
  590. if(menu_egosor[id]==-1)
  591. {
  592. client_print(id, print_chat, " *Valassz ki egy egosort")
  593. showmenu_program(id)
  594. return ;
  595. }
  596. if(pr_gyakorisag[sor] >= 30)
  597. pr_gyakorisag[sor]=0
  598.  
  599. pr_gyakorisag[sor]++
  600. showmenu_program(id)
  601. }
  602.  
  603. if(key == 9)
  604. showmenu(id)
  605. }
  606.  
  607.  
  608. /*=================================
  609. //===== PROGRAMOK
  610. =================================*/
  611.  
  612. /*----------[ ProGraMoK ]----------
  613. -- 1. egyszerre villogás
  614. -- 2. felváltott villogás
  615. -- 3. egyik végéről végig
  616. -- 4. egyik végéről végéig és vissza
  617. -- 5. random
  618. -- 6. random2
  619. -- 7. színek szerint
  620. ---------------------------------*/
  621. public programozas(id, prog)
  622. {
  623. new sor = menu_egosor[id]
  624. if(sor==-1)
  625. {
  626. client_print(id, print_chat, " *Valassz ki egy egosort")
  627. return ;
  628. }
  629. pr[sor]=prog
  630. pr_folyamat[sor]=0
  631. pr_folyamat2[sor]=0
  632. pr_status[sor]=0
  633.  
  634. if(prog == 0)
  635. {
  636. for(new i; i<egosor_szam[sor]; i++)
  637. {
  638. if(pev_valid(egosor[sor][i]))
  639. feny_be(egosor[sor][i])
  640.  
  641. }
  642. }
  643. }
  644. //-----------------
  645. public program()
  646. {
  647. for(new sor; sor<MAX_EGOSOR; sor++)
  648. {
  649. if(pr[sor])
  650. {
  651. if(pr_status[sor] >= pr_gyakorisag[sor])
  652. {
  653. switch(pr[sor])
  654. {
  655. case 1: {
  656. program1(sor)
  657. }
  658. case 2: {
  659. program2(sor)
  660. }
  661. case 3: {
  662. program3(sor)
  663. }
  664. case 4: {
  665. program4(sor)
  666. }
  667. case 5: {
  668. program5(sor)
  669. }
  670. case 6: {
  671. program6(sor)
  672. }
  673. case 7: {
  674. program7(sor)
  675. }
  676. }
  677.  
  678. pr_status[sor]=0
  679. }
  680.  
  681. pr_status[sor]++
  682. }
  683. }
  684. }
  685.  
  686. public program1(sor)
  687. {
  688. if(pr_folyamat[sor] == 0)
  689. {
  690. for(new i; i<egosor_szam[sor]; i++)
  691. {
  692. if(pev_valid(egosor[sor][i]))
  693. feny_ki(egosor[sor][i])
  694.  
  695. }
  696. pr_folyamat[sor]=1
  697. }else{
  698. for(new i; i<egosor_szam[sor]; i++)
  699. {
  700. if(pev_valid(egosor[sor][i]))
  701. feny_be(egosor[sor][i])
  702.  
  703. }
  704. pr_folyamat[sor]=0
  705. }
  706. }
  707.  
  708. public program2(sor)
  709. {
  710. if(pr_folyamat[sor]==1)
  711. {
  712. for(new i; i<egosor_szam[sor]; i++)
  713. {
  714. if(pev_valid(egosor[sor][i]))
  715. {
  716. if(floatround(i/2+0.0, floatround_floor)*2 == i)
  717. feny_ki(egosor[sor][i])
  718. else
  719. feny_be(egosor[sor][i])
  720. }
  721.  
  722.  
  723. }
  724. pr_folyamat[sor]=0
  725. }else{
  726. for(new i; i<egosor_szam[sor]; i++)
  727. {
  728. if(pev_valid(egosor[sor][i]))
  729. {
  730. if(floatround(i/2+0.0, floatround_floor)*2 == i)
  731. feny_be(egosor[sor][i])
  732. else
  733. feny_ki(egosor[sor][i])
  734. }
  735.  
  736.  
  737. }
  738. pr_folyamat[sor]=1
  739. }
  740. }
  741.  
  742. public program3(sor)
  743. {
  744. feny_ki(egosor[sor][pr_folyamat[sor]])
  745. if(pr_folyamat[sor]<egosor_szam[sor]-1)
  746. {
  747. feny_be(egosor[sor][pr_folyamat[sor]]+1)
  748. pr_folyamat[sor]++
  749. }
  750. else
  751. {
  752. feny_be(egosor[sor][0])
  753. pr_folyamat[sor]=0
  754. }
  755.  
  756. }
  757. public program4(sor)
  758. {
  759. if(pr_folyamat2[sor]==0)
  760. {
  761. feny_ki(egosor[sor][pr_folyamat[sor]])
  762. if(pr_folyamat[sor]<egosor_szam[sor]-1)
  763. {
  764. feny_be(egosor[sor][pr_folyamat[sor]]+1)
  765. pr_folyamat[sor]++
  766. }
  767. else
  768. {
  769. feny_be(egosor[sor][pr_folyamat[sor]])
  770. pr_folyamat2[sor]=1
  771. }
  772. }
  773. else
  774. {
  775. feny_ki(egosor[sor][pr_folyamat[sor]])
  776. if(pr_folyamat[sor]>0)
  777. {
  778. pr_folyamat[sor]--
  779. }
  780. else
  781. {
  782. pr_folyamat2[sor]=0
  783. pr_folyamat[sor]=0
  784. }
  785. feny_be(egosor[sor][pr_folyamat[sor]])
  786. }
  787.  
  788. }
  789.  
  790. public program5(sor)
  791. {
  792. for(new i; i<egosor_szam[sor]; i++)
  793. {
  794. if(pev_valid(egosor[sor][i]))
  795. if(random_num(0, 1)==1)
  796. feny_be(egosor[sor][i])
  797. else
  798. feny_ki(egosor[sor][i])
  799.  
  800. }
  801. }
  802. public program6(sor)
  803. {
  804. switch(random_num(1, 5))
  805. {
  806. case 1: program1(sor)
  807. case 2: program2(sor)
  808. case 3: program3(sor)
  809. case 4: program4(sor)
  810. case 5: program5(sor)
  811. }
  812.  
  813. }
  814. public program7(sor) //Javasolta: OroSzRuLetT.
  815. {
  816. new nrandom = random_num(0, sizeof(models)-1)
  817. for(new i; i<egosor_szam[sor]; i++)
  818. {
  819. if(pev_valid(egosor[sor][i]))
  820. if(pev(egosor[sor][i], pev_iuser2)==nrandom)
  821. feny_be(egosor[sor][i])
  822. else
  823. feny_ki(egosor[sor][i])
  824.  
  825. }
  826. }
  827.  
  828. /*=================================
  829. //===== EGYEBEK
  830. =================================*/
  831. public feny_be(ent)
  832. {
  833. set_rendering(ent,EGO_FX,0,0,0,EGO_RENDER,255)
  834. }
  835. public feny_ki(ent)
  836. {
  837. set_rendering(ent, EGO_FX,0,0,0,EGO_RENDER,120)
  838. }
  839.  
  840. /*=================================
  841. //===== VILLOGÁS
  842. =================================*/
  843. public glow_be(id)
  844. {
  845. menu_villog[id]=true
  846. set_task(0.1, "glow_target", id+TASK_VILLOG)
  847. }
  848.  
  849. public glow_ki(id)
  850. {
  851. menu_villog[id]=false
  852. remove_task(id+TASK_VILLOG)
  853. }
  854.  
  855. public glow_target(taskid)
  856. {
  857. set_task(0.1, "glow_target", taskid)
  858. new id=taskid-TASK_VILLOG
  859.  
  860. if(!menu_villog[id])
  861. return ;
  862.  
  863. menu_villog_t[id]=findtarget(id)
  864.  
  865. new Float: Origin[3]
  866. new sor
  867.  
  868. set_hudmessage(85, 85, 255, -1.0, 0.69, 0, 6.0, 0.1, 0.1, 0.2, next_hudchannel(id))
  869. if(menu_villog_t[id])
  870. {
  871. pev(menu_villog_t[id], pev_origin, Origin)
  872. sor = pev(menu_villog_t[id], pev_iuser1)
  873. show_hudmessage(id, "Origin: %f %f %f^nSor: %d^nProgram: %d^nGyakorisag: %d^nStatus: %d^nFolyamat: %d^nFolyamat2: %d", Origin[0], Origin[1], Origin[2], sor+1, pr[sor], pr_gyakorisag[sor], pr_status[sor], pr_folyamat[sor], pr_folyamat2[sor])
  874. }else{
  875. show_hudmessage(id, "Origin:^nSor:^nProgram:^nGyakorisag:^nStatus:^nFolyamat:^nFolyamat2:")
  876. }
  877.  
  878.  
  879.  
  880. }
  881. //============================================================
  882.  
  883. public findtarget(id)
  884. {
  885. new target
  886.  
  887. new Float:vOrigin[3]
  888. new Float:vNewOrigin[3],Float:vNormal[3],Float:vTraceDirection[3],
  889. Float:vTraceEnd[3]
  890.  
  891.  
  892. new Float: VOfs[3]
  893. pev(id, pev_origin, vOrigin)
  894. pev(id, pev_view_ofs, VOfs)
  895. xs_vec_add(vOrigin, VOfs, vOrigin)
  896.  
  897.  
  898. velocity_by_aim( id, 2000, vTraceDirection );
  899. xs_vec_add( vTraceDirection, vOrigin, vTraceEnd );
  900.  
  901. engfunc( EngFunc_TraceLine, vOrigin, vTraceEnd, DONT_IGNORE_MONSTERS, id, 0 );
  902.  
  903. new Float:fFraction;
  904. get_tr2( 0, TR_flFraction, fFraction );
  905.  
  906.  
  907. // -- We hit something!
  908. if ( fFraction < 1.0 )
  909. {
  910. // -- Save results to be used later.
  911. get_tr2( 0, TR_vecEndPos, vTraceEnd );
  912. get_tr2( 0, TR_vecPlaneNormal, vNormal );
  913. }
  914.  
  915.  
  916. xs_vec_mul_scalar( vNormal, 0.1, vNormal );
  917. xs_vec_add( vTraceEnd, vNormal, vNewOrigin );
  918.  
  919.  
  920. new entinsphere = -1;
  921. //new bool:vanvalami
  922. new Float:mintav=50.0
  923. new class[21]
  924. new Float: entorigin[3]
  925. new Float: distance
  926. while ((entinsphere = find_ent_in_sphere(entinsphere, vNewOrigin, 50.0)))
  927. {
  928. class="";
  929. pev(entinsphere, pev_classname, class, 20)
  930.  
  931. if(equal(class, CLASSNAME))
  932. {
  933. xs_vec_set(entorigin, 0.0, 0.0, 0.0)
  934. //vanvalami=true
  935. pev(entinsphere, pev_origin, entorigin)
  936. distance = get_distance_f(vNewOrigin, entorigin)
  937. if(distance < mintav)
  938. {
  939. target=(entinsphere)
  940. mintav=(distance)
  941. }
  942. }
  943. }
  944.  
  945. return target;
  946. }
  947.  
  948.  
  949. //************ MENTÉS - BETÖLTÉS ***************
  950. public mentes(id)
  951. {
  952. new tfile = fopen(file, "wt");
  953. new Float:Origin[3];
  954. new rmodel
  955.  
  956. new szam_sor
  957. new szam_osszes
  958.  
  959. new szData[128];
  960. for(new i1; i1<egosorok; i1++)
  961. {
  962. for(new i2; i2<egosor_szam[i1]; i2++)
  963. {
  964. entity_get_vector(egosor[i1][i2], EV_VEC_origin, Origin);
  965. rmodel = pev(egosor[i1][i2],pev_iuser2)
  966. formatex(szData, 128, "%f %f %f %d %d %d %d^n", Origin[0], Origin[1], Origin[2], rmodel, i1, pr[i1], pr_gyakorisag[i1])
  967. fputs(tfile, szData);
  968. szam_osszes++
  969. }
  970. szam_sor++
  971. }
  972.  
  973. client_print(0, print_chat, "[Egosor] Egosorok elmentve. [ %d egosor, es osszesen %d ego ]", szam_sor, szam_osszes);
  974.  
  975. fclose(tfile);
  976. }
  977.  
  978.  
  979. public betoltes(id)
  980. {
  981. //Letzeik a mnteett fajl
  982. if (file_exists(file))
  983. {
  984. delete_all(0)
  985. new szData[128];
  986. new tmpOrigin[3][16]
  987. new Float: Origin[3]
  988. new tmprmodel[2]
  989. new tmpegosor[4]
  990. new regosor
  991. new tmppr[2]
  992. new tmppr_gyakorisag[3]
  993. new f = fopen(file, "rt");
  994. new ent=-1
  995. new lastegosor=-1
  996.  
  997. new szam_sor
  998. new szam_osszes
  999.  
  1000. while (!feof(f))
  1001. {
  1002. fgets(f, szData, 128);
  1003. if(equal(szData, "", 1))
  1004. continue;
  1005.  
  1006. parse(szData, tmpOrigin[0], 16, tmpOrigin[1], 16, tmpOrigin[2], 16, tmprmodel, 2, tmpegosor, 4, tmppr, 2, tmppr_gyakorisag, 3)
  1007.  
  1008. Origin[0] = str_to_float(tmpOrigin[0]);
  1009. Origin[1] = str_to_float(tmpOrigin[1]);
  1010. Origin[2] = str_to_float(tmpOrigin[2]);
  1011.  
  1012. ent = autospawn(0, Origin, str_to_num(tmprmodel))
  1013. if(ent)
  1014. {
  1015. set_pev(ent, pev_iuser2, str_to_num(tmprmodel))
  1016. regosor = str_to_num(tmpegosor)
  1017. set_pev(ent, pev_iuser1, regosor)
  1018. if(lastegosor != regosor)
  1019. {
  1020. egosorok++
  1021. szam_sor++
  1022. }
  1023. szam_osszes++
  1024. lastegosor=(regosor)
  1025.  
  1026.  
  1027. egosor[regosor][egosor_szam[regosor]] = (ent)
  1028. egosor_szam[regosor]++
  1029.  
  1030. pr[regosor] = str_to_num(tmppr)
  1031. pr_gyakorisag[regosor] = str_to_num(tmppr_gyakorisag)
  1032. }
  1033. }
  1034. client_print(id, print_chat, "[Egosor] Egosorok elmentve. [ %d egosor, es osszesen %d ego ]", szam_sor, szam_osszes);
  1035. fclose(f);
  1036. }else{
  1037. client_print(id, print_chat, "[Egosor] Nem talalom a mentett fajlt (Lehet hogy meg nem volt mentve?): %s", file);
  1038. }
  1039. }


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2015.09.09. 15:48 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2014.03.07. 14:55
Hozzászólások: 939
Megköszönt másnak: 38 alkalommal
Megköszönték neki: 95 alkalommal
Nekem működik. Akkor fagyott ki nekem,mikor egy csomót felraktam a szerverre

_________________
Hmm.
Kép


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2015.09.09. 16:08 
Értem. Mennyi a maximum határ? Én felraktam 128 égőt és a szerver kifagyott.


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2015.09.09. 16:30 
Offline
Tud valamit
Avatar

Csatlakozott: 2015.02.04. 18:53
Hozzászólások: 116
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 3 alkalommal
Vendég írta:
Értem. Mennyi a maximum határ? Én felraktam 128 égőt és a szerver kifagyott.


SMA Forráskód: [ Mindet kijelol ]
  1. #define MAX_EGOSOR 64
  2. #define MAX_EGO 64


Ebből látod, hogy 64 :)

_________________
Ha esetleg segítettem volna,(ami 1 évben 2-3x fog esetleg megtörténni) akkor ne felejtsd el megköszönni. ;)


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 4 hozzászólás ] 


Ki van itt

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


Nyithatsz új témákat ebben a fórumban.
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