hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.02. 19:03



Jelenlévő felhasználók

Jelenleg 553 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 552 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  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Use Button Hiba!
HozzászólásElküldve: 2014.02.01. 14:12 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.12.18. 17:35
Hozzászólások: 365
Megköszönt másnak: 152 alkalommal
Megköszönték neki: 31 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2.  
  3. #include <amxmodx>
  4.  
  5.  
  6. #include <amxmisc>
  7.  
  8.  
  9. #include <hamsandwich>
  10.  
  11.  
  12. #include <fakemeta>
  13.  
  14.  
  15. #include <colorchat>
  16.  
  17.  
  18. #include <fun>
  19.  
  20.  
  21.  
  22.  
  23.  
  24. #define PLUGIN "Use button once"
  25.  
  26.  
  27. #define VERSION "1.3"
  28.  
  29.  
  30. #define AUTHOR "R3X"
  31.  
  32.  
  33.  
  34.  
  35.  
  36. #define MAX_BUTTONS 100
  37.  
  38.  
  39. #define KeysButtonsMenu (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9) // Keys: 137890
  40.  
  41.  
  42. #define KeysOptionsMenu (1<<0)|(1<<1)|(1<<8) //129
  43.  
  44.  
  45. #define KeysDelayMenu (1<<0)|(1<<1)|(1<<2)|(1<<8) //1239
  46.  
  47.  
  48.  
  49.  
  50.  
  51. #define ANNOUNCE_TASK 10000
  52.  
  53.  
  54.  
  55.  
  56.  
  57. #define m_flWait 44
  58.  
  59.  
  60.  
  61.  
  62.  
  63. //Main
  64.  
  65.  
  66.  
  67.  
  68.  
  69. new gEnt[MAX_BUTTONS];
  70.  
  71.  
  72. new gUsed[MAX_BUTTONS];
  73.  
  74.  
  75. new giPointer=0;
  76.  
  77.  
  78. new gOnStart[MAX_BUTTONS];
  79.  
  80.  
  81. new Float:gDefaultDelay[MAX_BUTTONS];
  82.  
  83.  
  84. new Float:gDelay[MAX_BUTTONS];
  85.  
  86.  
  87.  
  88.  
  89.  
  90. new gInMenu[33];
  91.  
  92.  
  93.  
  94.  
  95.  
  96. new gszFile[128];
  97.  
  98.  
  99.  
  100.  
  101.  
  102. new giSprite;
  103.  
  104.  
  105.  
  106.  
  107.  
  108. new gcvarDefault, gcvarTeam, gcvarFreeRun;
  109.  
  110.  
  111. new gcvarLimit, gcvarLimitMode, gcvarPrivilege;
  112.  
  113.  
  114. new gcvarMessage, gcvarRestore;
  115.  
  116.  
  117.  
  118.  
  119.  
  120. //VOTE
  121.  
  122.  
  123.  
  124.  
  125.  
  126. #define TASK_SHOWMENU 432
  127.  
  128.  
  129. #define TASK_RES 123
  130.  
  131.  
  132.  
  133.  
  134.  
  135. #define MAX_ROUNDS 999
  136.  
  137.  
  138.  
  139.  
  140.  
  141. #define KeysFFVote (1<<0)|(1<<1) // Keys: 12
  142.  
  143.  
  144.  
  145.  
  146.  
  147. new gcvarFRVoteTime;
  148.  
  149.  
  150.  
  151.  
  152.  
  153. new giVoteStart, giVoteTime;
  154.  
  155.  
  156.  
  157.  
  158.  
  159. new bool:gbFreeRun=false;
  160.  
  161.  
  162. new bool:gbVote=false;
  163.  
  164.  
  165.  
  166.  
  167.  
  168. #define VOTE_ON 0
  169.  
  170.  
  171. #define VOTE_OFF 1
  172.  
  173.  
  174.  
  175.  
  176.  
  177. new giVotes[33][2];
  178.  
  179.  
  180.  
  181.  
  182.  
  183. new giRounds=MAX_ROUNDS, giTime=0;
  184.  
  185.  
  186.  
  187.  
  188.  
  189. new gCanFree;
  190.  
  191.  
  192.  
  193.  
  194.  
  195. public plugin_init() {
  196.  
  197.  
  198. register_plugin(PLUGIN, VERSION, AUTHOR);
  199.  
  200.  
  201.  
  202.  
  203.  
  204. register_dictionary("common.txt");
  205.  
  206.  
  207. register_dictionary("adminvote.txt");
  208.  
  209.  
  210. register_dictionary("use_button_once.txt");
  211.  
  212.  
  213.  
  214.  
  215.  
  216. register_menucmd(register_menuid("FRVote"), KeysFFVote, "PressedFRVote");
  217.  
  218.  
  219. register_menucmd(register_menuid("ButtonsMenu"), KeysButtonsMenu, "PressedButtonsMenu");
  220.  
  221.  
  222. register_menucmd(register_menuid("OptionsMenu"), KeysOptionsMenu, "PressedOptionsMenu");
  223.  
  224.  
  225. register_menucmd(register_menuid("DelayMenu"), KeysDelayMenu, "PressedDelayMenu");
  226.  
  227.  
  228.  
  229.  
  230.  
  231. register_clcmd("amx_buttons","cmd_amx_buttons",ADMIN_CFG,": Buttons Menu");
  232.  
  233.  
  234.  
  235.  
  236.  
  237. //Default count of uses
  238.  
  239.  
  240. gcvarDefault=register_cvar("amx_buttons_default","1");
  241.  
  242.  
  243. //Who plugin analyze
  244.  
  245.  
  246. //0 - anyone(plugin disabled?)
  247.  
  248.  
  249. //1 - Te
  250.  
  251.  
  252. //2 - Ct
  253.  
  254.  
  255. //3 - Te+Ct
  256.  
  257.  
  258. gcvarTeam=register_cvar("amx_buttons_team","1");
  259.  
  260.  
  261. //Enabled FreeRun mode?
  262.  
  263.  
  264. gcvarFreeRun=register_cvar("amx_buttons_freerun","1");
  265.  
  266.  
  267. //Vote time
  268.  
  269.  
  270. gcvarFRVoteTime=register_cvar("amx_freerun_votetime","10");
  271.  
  272.  
  273.  
  274.  
  275.  
  276. //Type of limit
  277.  
  278.  
  279. //0 - enabled after 'amx_freerun_limit' rounds
  280.  
  281.  
  282. //1 - enabled after 'amx_freerun_limit' minutes
  283.  
  284.  
  285. gcvarLimitMode=register_cvar("amx_freerun_limit_mode","0");
  286.  
  287.  
  288. //Size of Limit
  289.  
  290.  
  291. gcvarLimit=register_cvar("amx_freerun_limit","5");
  292.  
  293.  
  294.  
  295.  
  296.  
  297. //Interval of message
  298.  
  299.  
  300. gcvarMessage=register_cvar("amx_freerun_info","120.0",0,120.0);
  301.  
  302.  
  303.  
  304.  
  305.  
  306. //Terrorist`s privilege
  307.  
  308.  
  309. //if he use /free FreeRun will start without vote, can he?
  310.  
  311.  
  312. gcvarPrivilege=register_cvar("amx_freerun_tt_privilege","1");
  313.  
  314.  
  315.  
  316.  
  317.  
  318. //restore buttons on new round
  319.  
  320.  
  321. gcvarRestore=register_cvar("amx_restore_buttons","1");
  322.  
  323.  
  324.  
  325.  
  326.  
  327. register_clcmd("say /free","cmdVoteFreeRun");
  328.  
  329.  
  330. register_clcmd("say_team /free","cmdVoteFreeRun");
  331.  
  332.  
  333. register_clcmd("say free","cmdVoteFreeRun");
  334.  
  335.  
  336. register_clcmd("say_team free","cmdVoteFreeRun");
  337.  
  338.  
  339.  
  340.  
  341.  
  342. register_clcmd("say /freerun","cmdVoteFreeRun");
  343.  
  344.  
  345. register_clcmd("say_team /freerun","cmdVoteFreeRun");
  346.  
  347.  
  348. register_clcmd("say freerun","cmdVoteFreeRun");
  349.  
  350.  
  351. register_clcmd("say_team freerun","cmdVoteFreeRun");
  352.  
  353.  
  354.  
  355.  
  356.  
  357. register_clcmd("say /fr","cmdVoteFreeRun");
  358.  
  359.  
  360. register_clcmd("say_team /fr","cmdVoteFreeRun");
  361.  
  362.  
  363. register_clcmd("say fr","cmdVoteFreeRun");
  364.  
  365.  
  366. register_clcmd("say_team fr","cmdVoteFreeRun");
  367.  
  368.  
  369.  
  370.  
  371.  
  372. if( engfunc(EngFunc_FindEntityByString,-1 ,"classname", "func_button"))
  373.  
  374.  
  375. RegisterHam(Ham_Use, "func_button", "fwButtonUsed");
  376.  
  377.  
  378.  
  379.  
  380.  
  381. if(engfunc(EngFunc_FindEntityByString,-1 ,"classname","func_rot_button"))
  382.  
  383.  
  384. RegisterHam(Ham_Use, "func_rot_button", "fwButtonUsed");
  385.  
  386.  
  387.  
  388.  
  389.  
  390. if(engfunc(EngFunc_FindEntityByString,-1 ,"classname", "button_target"))
  391.  
  392.  
  393. RegisterHam(Ham_Use, "button_target", "fwButtonUsed");
  394.  
  395.  
  396.  
  397.  
  398.  
  399. register_logevent( "ResetButtons", 2, "0=World triggered", "1=Round_Start");
  400.  
  401.  
  402.  
  403.  
  404.  
  405. RegisterHam( Ham_Touch, "armoury_entity", "FwdHamPlayerPickup" );
  406.  
  407.  
  408. RegisterHam( Ham_Touch, "weaponbox", "FwdHamPlayerPickup" );
  409.  
  410.  
  411.  
  412.  
  413.  
  414. fillButtons("func_button");
  415.  
  416.  
  417. fillButtons("func_rot_button");
  418.  
  419.  
  420. fillButtons("button_target");
  421.  
  422.  
  423. }
  424.  
  425.  
  426.  
  427.  
  428.  
  429. public FwdHamPlayerPickup( iEntity, id )
  430.  
  431.  
  432. {
  433.  
  434.  
  435. if(gbFreeRun)
  436.  
  437.  
  438. return HAM_SUPERCEDE;
  439.  
  440.  
  441.  
  442.  
  443.  
  444. return HAM_IGNORED;
  445.  
  446.  
  447.  
  448.  
  449.  
  450. }
  451.  
  452.  
  453.  
  454.  
  455.  
  456. public plugin_cfg(){
  457.  
  458.  
  459. setButtons();
  460.  
  461.  
  462.  
  463.  
  464.  
  465. new iLen=0, iMax=charsmax(gszFile);
  466.  
  467.  
  468. iLen=get_configsdir(gszFile, iMax );
  469.  
  470.  
  471. iLen+=copy(gszFile[iLen], iMax-iLen, "/dr_buttons/");
  472.  
  473.  
  474.  
  475.  
  476.  
  477. if(!dir_exists(gszFile)){
  478.  
  479.  
  480. set_fail_state("Not found dir: configs/dr_buttons");
  481.  
  482.  
  483. return;
  484.  
  485.  
  486. }
  487.  
  488.  
  489. new szMap[32];
  490.  
  491.  
  492. get_mapname(szMap, 31);
  493.  
  494.  
  495. formatex(gszFile[iLen], charsmax(gszFile)-iLen, "%s.ini", szMap);
  496.  
  497.  
  498. if(!file_exists(gszFile)){
  499.  
  500.  
  501. return;
  502.  
  503.  
  504. }
  505.  
  506.  
  507. new szLine[51];
  508.  
  509.  
  510. new szButton[4], szTimes[3], szDelay[5];
  511.  
  512.  
  513. new Float:fDelay;
  514.  
  515.  
  516. for(new i=0;read_file(gszFile, i, szLine, 50, iLen);i++){
  517.  
  518.  
  519. if(iLen==0) continue;
  520.  
  521.  
  522. trim(szLine);
  523.  
  524.  
  525. if(szLine[0]==';') continue;
  526.  
  527.  
  528. parse(szLine, szButton, 3, szTimes, 2, szDelay, 4);
  529.  
  530.  
  531. fDelay=szDelay[0]?str_to_float(szDelay):-1.0;
  532.  
  533.  
  534. set_start_value(str_to_num(szButton), str_to_num(szTimes), fDelay);
  535.  
  536.  
  537. }
  538.  
  539.  
  540. new Float:fInterval=get_pcvar_float(gcvarMessage);
  541.  
  542.  
  543. if(fInterval > 0.0)
  544.  
  545.  
  546. set_task(120.0, "announceVote",ANNOUNCE_TASK,_,_,"b");
  547.  
  548.  
  549. }
  550.  
  551.  
  552. public plugin_precache(){
  553.  
  554.  
  555. giSprite=precache_model("sprites/flare1.spr");
  556.  
  557.  
  558.  
  559.  
  560.  
  561. }
  562.  
  563.  
  564. public client_putinserver(id){
  565.  
  566.  
  567. if(!is_user_bot(id))
  568.  
  569.  
  570. eventInGame(id);
  571.  
  572.  
  573. }
  574.  
  575.  
  576. public client_connect(id){
  577.  
  578.  
  579. giVotes[id][VOTE_ON]=0;
  580.  
  581.  
  582. giVotes[id][VOTE_OFF]=0;
  583.  
  584.  
  585. }
  586.  
  587.  
  588. public announceVote(){
  589.  
  590.  
  591. if(get_pcvar_num(gcvarFreeRun))
  592.  
  593.  
  594. ColorChat(0,GREEN, "[PlayNow FreeRun#]^x01 %L",LANG_SERVER, "ANNOUNCE");
  595.  
  596.  
  597. }
  598.  
  599.  
  600. setButtons(){
  601.  
  602.  
  603. new iDef=get_pcvar_num(gcvarDefault);
  604.  
  605.  
  606. for(new i=0;i<giPointer;i++){
  607.  
  608.  
  609. gUsed[i]=iDef;
  610.  
  611.  
  612. gOnStart[i]=iDef;
  613.  
  614.  
  615. gDelay[i]=get_pdata_float(gEnt[i],m_flWait);
  616.  
  617.  
  618. gDefaultDelay[i]=gDelay[i];
  619.  
  620.  
  621. }
  622.  
  623.  
  624. }
  625.  
  626.  
  627. fillButtons(const szClass[]){
  628.  
  629.  
  630. new ent = -1;
  631.  
  632.  
  633. while((ent = engfunc(EngFunc_FindEntityByString,ent ,"classname", szClass)) != 0){
  634.  
  635.  
  636. gEnt[giPointer++]=ent;
  637.  
  638.  
  639. set_pev(ent, pev_iuser4, giPointer);
  640.  
  641.  
  642. }
  643.  
  644.  
  645. }
  646.  
  647.  
  648. set_start_value(ent, times, Float:delay){
  649.  
  650.  
  651. new index=get_ent_index(ent);
  652.  
  653.  
  654. if(index!=-1){
  655.  
  656.  
  657. gOnStart[index]=times;
  658.  
  659.  
  660. if(delay>=0.0)
  661.  
  662.  
  663. gDelay[index]=delay;
  664.  
  665.  
  666. }
  667.  
  668.  
  669. }
  670.  
  671.  
  672. get_ent_index(ent){
  673.  
  674.  
  675. /*
  676.  
  677.  
  678.   for(new i=0;i<giPointer;i++)
  679.  
  680.  
  681.   if(gEnt[i]==ent) return i;
  682.  
  683.  
  684.   return -1;
  685.  
  686.  
  687.   */
  688.  
  689.  
  690. return pev(ent, pev_iuser4)-1;
  691.  
  692.  
  693. }
  694.  
  695.  
  696. restoreButton(ent){
  697.  
  698.  
  699. if(pev(ent, pev_frame) > 0.0){
  700.  
  701.  
  702. new Float:Life;
  703.  
  704.  
  705. pev(ent, pev_nextthink, Life);
  706.  
  707.  
  708. set_pev(ent, pev_ltime, Life-0.01);
  709.  
  710.  
  711. }
  712.  
  713.  
  714. }
  715.  
  716.  
  717. public ResetButtons(){
  718.  
  719.  
  720. gbFreeRun=false;
  721.  
  722.  
  723. gCanFree = true;
  724.  
  725.  
  726. set_task(10.0, "CannotFree");
  727.  
  728.  
  729. gbVote=false;
  730.  
  731.  
  732. new bool:bRestore=get_pcvar_num(gcvarRestore)!=0;
  733.  
  734.  
  735. for(new i=0;i<MAX_BUTTONS;i++){
  736.  
  737.  
  738. gUsed[i]=gOnStart[i];
  739.  
  740.  
  741. if(bRestore){
  742.  
  743.  
  744. restoreButton(gEnt[i]);
  745.  
  746.  
  747. }
  748.  
  749.  
  750. }
  751.  
  752.  
  753. giRounds++;
  754.  
  755.  
  756. }
  757.  
  758.  
  759.  
  760.  
  761.  
  762. public CannotFree()
  763.  
  764.  
  765. {
  766.  
  767.  
  768. gCanFree = false;
  769.  
  770.  
  771. return PLUGIN_HANDLED;
  772.  
  773.  
  774. }
  775.  
  776.  
  777.  
  778.  
  779.  
  780. public fwButtonUsed(this, idcaller, idactivator, use_type, Float:value){
  781.  
  782.  
  783. if(idcaller!=idactivator) return HAM_IGNORED;
  784.  
  785.  
  786.  
  787.  
  788.  
  789. if(pev(this, pev_frame) > 0.0)
  790.  
  791.  
  792. return HAM_IGNORED;
  793.  
  794.  
  795. new index=get_ent_index(this);
  796.  
  797.  
  798. if(index==-1)
  799.  
  800.  
  801. return HAM_IGNORED;
  802.  
  803.  
  804. if(get_user_team(idcaller)&get_pcvar_num(gcvarTeam)){
  805.  
  806.  
  807.  
  808.  
  809.  
  810. if(gbFreeRun){
  811.  
  812.  
  813. ColorChat(idcaller,GREEN, "[PlayNow FreeRun#]^x01 %L",idcaller, "BUTTON_FREERUN");
  814.  
  815.  
  816. return HAM_SUPERCEDE;
  817.  
  818.  
  819. }
  820.  
  821.  
  822. else if(gUsed[index]<=0 && gOnStart[index]!=-1){
  823.  
  824.  
  825. ColorChat(idcaller,GREEN, "[PlayNow Info#]^x01 %L",idcaller,"BUTTON_NOMORE");
  826.  
  827.  
  828. return HAM_SUPERCEDE;
  829.  
  830.  
  831. }
  832.  
  833.  
  834. else{
  835.  
  836.  
  837. if(gUsed[index]>0)
  838.  
  839.  
  840. if(--gUsed[index]){
  841.  
  842.  
  843. ColorChat(idcaller, GREEN, "[PlayNow Info#]^x01 %L", idcaller, "BUTTON_LEFT", gUsed[index]);
  844.  
  845.  
  846. }else
  847.  
  848.  
  849. ColorChat(idcaller, GREEN, "[PlayNow Info#]^x01 %L", idcaller, "BUTTON_ENDOFLIMIT");
  850.  
  851.  
  852. }
  853.  
  854.  
  855. }
  856.  
  857.  
  858.  
  859.  
  860.  
  861. set_task(0.1,"setDelay",this);
  862.  
  863.  
  864.  
  865.  
  866.  
  867. return HAM_IGNORED;
  868.  
  869.  
  870. }
  871.  
  872.  
  873. public setDelay(this){
  874.  
  875.  
  876. new index=get_ent_index(this);
  877.  
  878.  
  879. set_pev(this, pev_nextthink, pev(this, pev_ltime)+gDelay[index]+0.01);
  880.  
  881.  
  882. }
  883.  
  884.  
  885.  
  886.  
  887.  
  888. //MENU--------------
  889.  
  890.  
  891. public cmd_amx_buttons(id, level, cid){
  892.  
  893.  
  894. if(!cmd_access(id, level, cid, 1))
  895.  
  896.  
  897. return PLUGIN_HANDLED;
  898.  
  899.  
  900. if(giPointer==0)
  901.  
  902.  
  903. client_print(id, print_chat, "%L", id,"NO_BUTTONS");
  904.  
  905.  
  906. else
  907.  
  908.  
  909. ShowButtonsMenu(id);
  910.  
  911.  
  912. return PLUGIN_HANDLED;
  913.  
  914.  
  915. }
  916.  
  917.  
  918. ShowButtonsMenu(id, trace=1){
  919.  
  920.  
  921. if(!is_user_alive(id)){
  922.  
  923.  
  924. client_print(id, print_center, "%L",id, "MUST_B_ALIVE");
  925.  
  926.  
  927. return;
  928.  
  929.  
  930. }
  931.  
  932.  
  933. new iNow=gInMenu[id];
  934.  
  935.  
  936. new iKeys=(1<<0)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<9);
  937.  
  938.  
  939. new szMenu[196], iLen, iMax=(sizeof szMenu) - 1;
  940.  
  941.  
  942. new szNoLimit[32];
  943.  
  944.  
  945. formatex(szNoLimit,31,"(%L)",id,"NOLIMIT");
  946.  
  947.  
  948. iLen=copy(szMenu, iMax,"\yButtons Menu^n");
  949.  
  950.  
  951. iLen+=formatex(szMenu[iLen], iMax-iLen,"\wEnt#%d^n^n",gEnt[iNow]);
  952.  
  953.  
  954. iLen+=formatex(szMenu[iLen], iMax-iLen,"%L: %d %s^n\y1\w. %L ",id, "USAGE",gOnStart[iNow],(gOnStart[iNow]==-1)?szNoLimit:"", id, "MORE");
  955.  
  956.  
  957.  
  958.  
  959.  
  960. if(gOnStart[iNow]>=0){
  961.  
  962.  
  963. iLen+=formatex(szMenu[iLen], iMax-iLen,"\y2\w. %L",id, "WORD_LESS");
  964.  
  965.  
  966. iKeys|=(1<<1);
  967.  
  968.  
  969. }else
  970.  
  971.  
  972. iLen+=formatex(szMenu[iLen], iMax-iLen,"\d2. %L\w",id,"WORD_LESS");
  973.  
  974.  
  975. iLen+=formatex(szMenu[iLen], iMax-iLen,"^n^n3. %L^n^n4. %L^n^n",id, "DELAY_EDITOR",id,"OPTIONS");
  976.  
  977.  
  978.  
  979.  
  980.  
  981. iLen+=formatex(szMenu[iLen], iMax-iLen,"5. %sNo Clip\w^n",isNoClip(id)?"\r":"");
  982.  
  983.  
  984. iLen+=formatex(szMenu[iLen], iMax-iLen,"6. %sGodMode\w^n",isGodMode(id)?"\r":"");
  985.  
  986.  
  987.  
  988.  
  989.  
  990. iLen+=formatex(szMenu[iLen], iMax-iLen,"^n7. \r%L^n\w",id, "WORD_SAVE");
  991.  
  992.  
  993.  
  994.  
  995.  
  996. if(iNow>0){
  997.  
  998.  
  999. iLen+=formatex(szMenu[iLen], iMax-iLen,"^n8. %L",id, "BACK");
  1000.  
  1001.  
  1002. iKeys|=(1<<7);
  1003.  
  1004.  
  1005. }
  1006.  
  1007.  
  1008. if(iNow<giPointer-1){
  1009.  
  1010.  
  1011. iLen+=formatex(szMenu[iLen], iMax-iLen,"^n9. %L",id, "WORD_NEXT");
  1012.  
  1013.  
  1014. iKeys|=(1<<8);
  1015.  
  1016.  
  1017. }
  1018.  
  1019.  
  1020. iLen+=formatex(szMenu[iLen], iMax-iLen,"^n0. %L", id, "EXIT");
  1021.  
  1022.  
  1023. show_menu(id, iKeys, szMenu, -1, "ButtonsMenu");
  1024.  
  1025.  
  1026. if(trace){
  1027.  
  1028.  
  1029. new Float:fOrigin[3], Float:fOrigin2[3];
  1030.  
  1031.  
  1032. fm_get_brush_entity_origin(gEnt[gInMenu[id]], fOrigin);
  1033.  
  1034.  
  1035. pev(id, pev_origin, fOrigin2);
  1036.  
  1037.  
  1038. Create_TE_BEAMPOINTS(fOrigin, fOrigin2, giSprite, 0, 10, 20, 5, 1, 255, 0, 0, 100, 50);
  1039.  
  1040.  
  1041. }
  1042.  
  1043.  
  1044. }
  1045.  
  1046.  
  1047. bool:isNoClip(id)
  1048.  
  1049.  
  1050. return pev(id, pev_movetype)==MOVETYPE_NOCLIP;
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056. bool:isGodMode(id)
  1057.  
  1058.  
  1059. return pev(id, pev_takedamage)==0.0;
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065. public PressedButtonsMenu(id, key) {
  1066.  
  1067.  
  1068. if(!is_user_alive(id)){
  1069.  
  1070.  
  1071. client_print(id, print_center, "%L",id,"MUST_B_ALIVE");
  1072.  
  1073.  
  1074. return;
  1075.  
  1076.  
  1077. }
  1078.  
  1079.  
  1080. /* Menu:
  1081.  
  1082.  
  1083.   * Buttons Menu
  1084.  
  1085.  
  1086.   * Ent#<ent>
  1087.  
  1088.  
  1089.   *
  1090.  
  1091.  
  1092.   * Uzyc: <ile>
  1093.  
  1094.  
  1095.   * 1. Wiecej 2. Mniej
  1096.  
  1097.  
  1098.   *
  1099.  
  1100.  
  1101.   * 3. Editor
  1102.  
  1103.  
  1104.   *
  1105.  
  1106.  
  1107.   * 4. Options
  1108.  
  1109.  
  1110.   *
  1111.  
  1112.  
  1113.   * 5. NoClip
  1114.  
  1115.  
  1116.   * 6. GodMode
  1117.  
  1118.  
  1119.   *
  1120.  
  1121.  
  1122.   * 7. Zapisz
  1123.  
  1124.  
  1125.   *
  1126.  
  1127.  
  1128.   * 8. Poprzedni
  1129.  
  1130.  
  1131.   * 9. Nastepny
  1132.  
  1133.  
  1134.   * 0. Wyjdz
  1135.  
  1136.  
  1137.   */
  1138.  
  1139.  
  1140. new trace=0;
  1141.  
  1142.  
  1143. switch (key) {
  1144.  
  1145.  
  1146. case 0: { // 1
  1147.  
  1148.  
  1149. gOnStart[gInMenu[id]]++;
  1150.  
  1151.  
  1152. }
  1153.  
  1154.  
  1155. case 1: { // 2
  1156.  
  1157.  
  1158. gOnStart[gInMenu[id]]--;
  1159.  
  1160.  
  1161. }
  1162.  
  1163.  
  1164. case 2: { // 3
  1165.  
  1166.  
  1167. ShowDelayMenu(id);
  1168.  
  1169.  
  1170. return;
  1171.  
  1172.  
  1173. }
  1174.  
  1175.  
  1176. case 3:{ //4
  1177.  
  1178.  
  1179. ShowOptionsMenu(id);
  1180.  
  1181.  
  1182. return;
  1183.  
  1184.  
  1185. }
  1186.  
  1187.  
  1188. case 4:{ //5
  1189.  
  1190.  
  1191. set_pev(id, pev_movetype, isNoClip(id)?MOVETYPE_WALK:MOVETYPE_NOCLIP);
  1192.  
  1193.  
  1194. }
  1195.  
  1196.  
  1197. case 5:{ //6
  1198.  
  1199.  
  1200. set_pev(id, pev_takedamage, isGodMode(id)?1.0:0.0);
  1201.  
  1202.  
  1203. }
  1204.  
  1205.  
  1206. case 6: { // 7
  1207.  
  1208.  
  1209. save2File(id);
  1210.  
  1211.  
  1212. }
  1213.  
  1214.  
  1215. case 7: { // 8
  1216.  
  1217.  
  1218. gInMenu[id]--;
  1219.  
  1220.  
  1221. trace=1;
  1222.  
  1223.  
  1224. }
  1225.  
  1226.  
  1227. case 8: { // 9
  1228.  
  1229.  
  1230. gInMenu[id]++;
  1231.  
  1232.  
  1233. trace=1;
  1234.  
  1235.  
  1236. }
  1237.  
  1238.  
  1239. case 9: { // 0
  1240.  
  1241.  
  1242. return;
  1243.  
  1244.  
  1245. }
  1246.  
  1247.  
  1248. }
  1249.  
  1250.  
  1251. ShowButtonsMenu(id, trace);
  1252.  
  1253.  
  1254. }
  1255.  
  1256.  
  1257. //--------------
  1258.  
  1259.  
  1260. ShowOptionsMenu(id){
  1261.  
  1262.  
  1263. if(!is_user_alive(id)){
  1264.  
  1265.  
  1266. client_print(id, print_center, "%L",id,"MUST_B_ALIVE");
  1267.  
  1268.  
  1269. return;
  1270.  
  1271.  
  1272. }
  1273.  
  1274.  
  1275. new szMenu[196], iLen, iMax=(sizeof szMenu) - 1;
  1276.  
  1277.  
  1278. iLen+=formatex(szMenu[iLen], iMax-iLen,"\yOptions^n^n");
  1279.  
  1280.  
  1281. iLen+=formatex(szMenu[iLen], iMax-iLen,"\w1. %L^n",id, "GOTO");
  1282.  
  1283.  
  1284. iLen+=formatex(szMenu[iLen], iMax-iLen,"2. %L^n^n",id, "NEAREST");
  1285.  
  1286.  
  1287. iLen+=formatex(szMenu[iLen], iMax-iLen,"9. %L",id, "BACK");
  1288.  
  1289.  
  1290. show_menu(id, KeysOptionsMenu, szMenu, -1, "OptionsMenu");
  1291.  
  1292.  
  1293. }
  1294.  
  1295.  
  1296. public PressedOptionsMenu(id, key){
  1297.  
  1298.  
  1299. if(!is_user_alive(id)){
  1300.  
  1301.  
  1302. client_print(id, print_center, "%L",id,"MUST_B_ALIVE");
  1303.  
  1304.  
  1305. return;
  1306.  
  1307.  
  1308. }
  1309.  
  1310.  
  1311. new trace=0;
  1312.  
  1313.  
  1314. switch (key) {
  1315.  
  1316.  
  1317. case 0: { // 1
  1318.  
  1319.  
  1320. go2Button(id);
  1321.  
  1322.  
  1323. }
  1324.  
  1325.  
  1326. case 1: { // 2
  1327.  
  1328.  
  1329. gInMenu[id]=findTheClosest(id);
  1330.  
  1331.  
  1332. trace=1;
  1333.  
  1334.  
  1335. }
  1336.  
  1337.  
  1338. }
  1339.  
  1340.  
  1341. ShowButtonsMenu(id, trace);
  1342.  
  1343.  
  1344. }
  1345.  
  1346.  
  1347. //-------------
  1348.  
  1349.  
  1350. ShowDelayMenu(id){
  1351.  
  1352.  
  1353. if(!is_user_alive(id)){
  1354.  
  1355.  
  1356. client_print(id, print_center, "%L",id,"MUST_B_ALIVE");
  1357.  
  1358.  
  1359. return;
  1360.  
  1361.  
  1362. }
  1363.  
  1364.  
  1365. new iNow=gInMenu[id];
  1366.  
  1367.  
  1368. new iKeys=(1<<0)|(1<<2)|(1<<8);
  1369.  
  1370.  
  1371. new szMenu[196], iLen, iMax=(sizeof szMenu) - 1;
  1372.  
  1373.  
  1374. iLen=copy(szMenu, iMax,"\yDelay Menu^n");
  1375.  
  1376.  
  1377. iLen+=formatex(szMenu[iLen], iMax-iLen,"\wEnt#%d^n^n",gEnt[iNow]);
  1378.  
  1379.  
  1380. iLen+=formatex(szMenu[iLen], iMax-iLen,"%L: %.1f^n",id, "CURRENT_DELAY", gDelay[iNow]);
  1381.  
  1382.  
  1383. iLen+=formatex(szMenu[iLen], iMax-iLen,"\y1\w. %L ",id, "MORE");
  1384.  
  1385.  
  1386. if(gDelay[iNow]>0.0){
  1387.  
  1388.  
  1389. iLen+=formatex(szMenu[iLen], iMax-iLen,"\y2\w. %L",id, "WORD_LESS");
  1390.  
  1391.  
  1392. iKeys|=(1<<1);
  1393.  
  1394.  
  1395. }else
  1396.  
  1397.  
  1398. iLen+=formatex(szMenu[iLen], iMax-iLen,"\d2. %L\w",id,"WORD_LESS");
  1399.  
  1400.  
  1401. iLen+=formatex(szMenu[iLen], iMax-iLen,"^n3. %L",id, "DEFAULT");
  1402.  
  1403.  
  1404. iLen+=formatex(szMenu[iLen], iMax-iLen,"^n^n9. %L",id, "BACK");
  1405.  
  1406.  
  1407. show_menu(id, iKeys, szMenu, -1, "DelayMenu");
  1408.  
  1409.  
  1410. }
  1411.  
  1412.  
  1413. public PressedDelayMenu(id, key){
  1414.  
  1415.  
  1416. new iNow=gInMenu[id];
  1417.  
  1418.  
  1419. switch(key){
  1420.  
  1421.  
  1422. case 0:{
  1423.  
  1424.  
  1425. gDelay[iNow]+=1.0;
  1426.  
  1427.  
  1428. }
  1429.  
  1430.  
  1431. case 1:{
  1432.  
  1433.  
  1434. gDelay[iNow]-=1.0;
  1435.  
  1436.  
  1437. if(gDelay[iNow] < 0.0)
  1438.  
  1439.  
  1440. gDelay[iNow]=0.0;
  1441.  
  1442.  
  1443. }
  1444.  
  1445.  
  1446. case 2:{
  1447.  
  1448.  
  1449. gDelay[iNow]=gDefaultDelay[iNow];
  1450.  
  1451.  
  1452. }
  1453.  
  1454.  
  1455. case 8:{
  1456.  
  1457.  
  1458. ShowButtonsMenu(id, 0);
  1459.  
  1460.  
  1461. return;
  1462.  
  1463.  
  1464. }
  1465.  
  1466.  
  1467. }
  1468.  
  1469.  
  1470. ShowDelayMenu(id);
  1471.  
  1472.  
  1473. }
  1474.  
  1475.  
  1476. //-------------
  1477.  
  1478.  
  1479. save2File(id){
  1480.  
  1481.  
  1482. if(file_exists(gszFile))
  1483.  
  1484.  
  1485. delete_file(gszFile);
  1486.  
  1487.  
  1488. write_file(gszFile, ";<ent> <count> <delay>");
  1489.  
  1490.  
  1491. new szLine[35];
  1492.  
  1493.  
  1494. for(new i=0;i<giPointer;i++){
  1495.  
  1496.  
  1497. formatex(szLine, 34, "%d %d %.1f",gEnt[i], gOnStart[i], gDelay[i]);
  1498.  
  1499.  
  1500. write_file(gszFile, szLine);
  1501.  
  1502.  
  1503. }
  1504.  
  1505.  
  1506. client_print(id, print_center, "%L!",id,"WORD_SAVED");
  1507.  
  1508.  
  1509. }
  1510.  
  1511.  
  1512. findTheClosest(id){
  1513.  
  1514.  
  1515. new Float:fPlayerOrig[3];
  1516.  
  1517.  
  1518. pev(id, pev_origin, fPlayerOrig);
  1519.  
  1520.  
  1521. new Float:fOrigin[3];
  1522.  
  1523.  
  1524. fm_get_brush_entity_origin(gEnt[0], fOrigin);
  1525.  
  1526.  
  1527.  
  1528.  
  1529.  
  1530. new Float:fRange=get_distance_f(fOrigin, fPlayerOrig), index=0;
  1531.  
  1532.  
  1533. new Float:fNewRange;
  1534.  
  1535.  
  1536. for(new i=1;i<giPointer;i++){
  1537.  
  1538.  
  1539. fm_get_brush_entity_origin(gEnt[i], fOrigin);
  1540.  
  1541.  
  1542. fNewRange=get_distance_f( fOrigin, fPlayerOrig);
  1543.  
  1544.  
  1545. if(fNewRange < fRange){
  1546.  
  1547.  
  1548. fRange=fNewRange;
  1549.  
  1550.  
  1551. index=i;
  1552.  
  1553.  
  1554. }
  1555.  
  1556.  
  1557. }
  1558.  
  1559.  
  1560. return index;
  1561.  
  1562.  
  1563. }
  1564.  
  1565.  
  1566. go2Button(id, ent=-1){
  1567.  
  1568.  
  1569. if(ent==-1)
  1570.  
  1571.  
  1572. ent=gInMenu[id];
  1573.  
  1574.  
  1575. ent=gEnt[ent];
  1576.  
  1577.  
  1578. if(!pev_valid(ent)){
  1579.  
  1580.  
  1581. client_print(id, print_center, "%L",id,"NOTARGET");
  1582.  
  1583.  
  1584. return;
  1585.  
  1586.  
  1587. }
  1588.  
  1589.  
  1590. new Float:fOrigin[3];
  1591.  
  1592.  
  1593. fm_get_brush_entity_origin(ent, fOrigin);
  1594.  
  1595.  
  1596. set_pev(id, pev_origin, fOrigin);
  1597.  
  1598.  
  1599. client_print(id, print_chat, "PS. No Clip <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->");
  1600.  
  1601.  
  1602. }
  1603.  
  1604.  
  1605. //FreeRun
  1606.  
  1607.  
  1608. public cmdVoteFreeRun(id){
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614. if(!gCanFree)
  1615.  
  1616.  
  1617. {
  1618.  
  1619.  
  1620. ColorChat(id, GREEN, "[PlayNow FreeRun#]^x01Letelt az ido, mar nem tudsz free kort inditani!");
  1621.  
  1622.  
  1623. return PLUGIN_HANDLED;
  1624.  
  1625.  
  1626. }
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632. if(get_pcvar_num(gcvarFreeRun)==0){
  1633.  
  1634.  
  1635. ColorChat(id, GREEN, "[PlayNow FreeRun#]^x01 %L",id,"FREERUN_DISABLED");
  1636.  
  1637.  
  1638. return PLUGIN_HANDLED;
  1639.  
  1640.  
  1641. }
  1642.  
  1643.  
  1644. if(gbVote){
  1645.  
  1646.  
  1647. ColorChat(id, GREEN, "[PlayNow FreeRun#]^x01 %L",id,"FREERUN_VOTE_IS_NOW");
  1648.  
  1649.  
  1650. return PLUGIN_HANDLED;
  1651.  
  1652.  
  1653. }
  1654.  
  1655.  
  1656. if(!is_user_alive(id)){
  1657.  
  1658.  
  1659. client_print(id, print_center, "%L",id, "MUST_B_ALIVE");
  1660.  
  1661.  
  1662. return PLUGIN_HANDLED;
  1663.  
  1664.  
  1665. }
  1666.  
  1667.  
  1668. if(get_pcvar_num(gcvarPrivilege)!=0 && !gbFreeRun && get_user_team(id)==1){
  1669.  
  1670.  
  1671. ColorChat(id, GREEN, "[PlayNow FreeRun#]^x01 %L",id,"FREERUN_TT_DECIDED");
  1672.  
  1673.  
  1674. makeFreeRun(true);
  1675.  
  1676.  
  1677. return PLUGIN_HANDLED;
  1678.  
  1679.  
  1680. }
  1681.  
  1682.  
  1683. new iLimit=get_pcvar_num(gcvarLimit);
  1684.  
  1685.  
  1686. new iOffset=0;
  1687.  
  1688.  
  1689. if(get_pcvar_num(gcvarLimitMode)){
  1690.  
  1691.  
  1692. iOffset = ( giTime + iLimit * 60 ) - get_systime();
  1693.  
  1694.  
  1695. if( iOffset > 0 ){
  1696.  
  1697.  
  1698. ColorChat(id, GREEN, "[PlayNow FreeRun#]^x01 %L",id,"FREERUN_NEXT_VOTE_TIME", iOffset/60, iOffset%60);
  1699.  
  1700.  
  1701. return PLUGIN_HANDLED;
  1702.  
  1703.  
  1704. }
  1705.  
  1706.  
  1707. }
  1708.  
  1709.  
  1710. else{
  1711.  
  1712.  
  1713. iOffset = min(MAX_ROUNDS, iLimit) - giRounds;
  1714.  
  1715.  
  1716. if( iOffset > 0 ){
  1717.  
  1718.  
  1719. ColorChat(id, GREEN, "[PlayNow FreeRun#]^x01 %L",id,"FREERUN_NEXT_VOTE_ROUNDS", iOffset);
  1720.  
  1721.  
  1722. return PLUGIN_HANDLED;
  1723.  
  1724.  
  1725. }
  1726.  
  1727.  
  1728. }
  1729.  
  1730.  
  1731.  
  1732.  
  1733.  
  1734. makeVote();
  1735.  
  1736.  
  1737. return PLUGIN_CONTINUE;
  1738.  
  1739.  
  1740. }
  1741.  
  1742.  
  1743. //FREERUN
  1744.  
  1745.  
  1746. public makeVote(){
  1747.  
  1748.  
  1749. giVoteTime=get_pcvar_num(gcvarFRVoteTime);
  1750.  
  1751.  
  1752. gbVote=true;
  1753.  
  1754.  
  1755. giVoteStart=get_systime();
  1756.  
  1757.  
  1758. set_task(float(giVoteTime), "resultsOfVote", TASK_RES);
  1759.  
  1760.  
  1761. new Players[32], playerCount;
  1762.  
  1763.  
  1764. new id;
  1765.  
  1766.  
  1767. get_players(Players, playerCount);
  1768.  
  1769.  
  1770. for (new i=0; i<playerCount; i++){
  1771.  
  1772.  
  1773. id = Players[i];
  1774.  
  1775.  
  1776. eventInGame(id);
  1777.  
  1778.  
  1779. }
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785. }
  1786.  
  1787.  
  1788. public resultsOfVote(tid){
  1789.  
  1790.  
  1791. gbVote=false;
  1792.  
  1793.  
  1794.  
  1795.  
  1796.  
  1797. new giVotesOn=count(VOTE_ON);
  1798.  
  1799.  
  1800. new giVotesOff=count(VOTE_OFF);
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806. ColorChat(0,GREEN, "[PlayNow FreeRun#]^x01 %L %L(%d) vs %L(%d)",LANG_SERVER,"FREERUN_RESULTS",LANG_SERVER,"YES",giVotesOn,LANG_SERVER,"NO", giVotesOff);
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812. if( giVotesOn == giVotesOff ){
  1813.  
  1814.  
  1815. ColorChat(0,GREEN, "[PlayNow FreeRun#]^x01 %L",LANG_SERVER,"FREERUN_TIE");
  1816.  
  1817.  
  1818. return;
  1819.  
  1820.  
  1821. }
  1822.  
  1823.  
  1824. makeFreeRun((giVotesOn > giVotesOff));
  1825.  
  1826.  
  1827. ColorChat(0,GREEN, "[PlayNow FreeRun#]^x01 %L ^x03%L",LANG_SERVER,"FREERUN_WINOPTION",LANG_SERVER, gbFreeRun?"YES":"NO");
  1828.  
  1829.  
  1830. }
  1831.  
  1832.  
  1833. makeFreeRun(bool:bFR=true){
  1834.  
  1835.  
  1836. gbFreeRun=bFR;
  1837.  
  1838.  
  1839. reset();
  1840.  
  1841.  
  1842. giRounds=0;
  1843.  
  1844.  
  1845. giTime=get_systime();
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851. if(gbFreeRun){
  1852.  
  1853.  
  1854. set_hudmessage(random (256), random (256), random (256), 0.02, -1.0);
  1855.  
  1856.  
  1857. show_hudmessage(0, "Szabad Kor!");
  1858.  
  1859.  
  1860.  
  1861.  
  1862.  
  1863. new players[32], pnum;
  1864.  
  1865.  
  1866. get_players(players, pnum);
  1867.  
  1868.  
  1869. for(new i=0; i<pnum; i++)
  1870.  
  1871.  
  1872. {
  1873.  
  1874.  
  1875. new pid = players[i];
  1876.  
  1877.  
  1878. strip_user_weapons(pid);
  1879.  
  1880.  
  1881. give_item(pid, "weapon_knife");
  1882.  
  1883.  
  1884. }
  1885.  
  1886.  
  1887. }
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893. }
  1894.  
  1895.  
  1896. count(VOTE_STATE){
  1897.  
  1898.  
  1899. new iCounter=0;
  1900.  
  1901.  
  1902. for(new i=1;i<33;i++)
  1903.  
  1904.  
  1905. if(giVotes[i][VOTE_STATE])
  1906.  
  1907.  
  1908. iCounter++;
  1909.  
  1910.  
  1911. return iCounter;
  1912.  
  1913.  
  1914. }
  1915.  
  1916.  
  1917. reset(){
  1918.  
  1919.  
  1920. for(new i=1;i<33;i++){
  1921.  
  1922.  
  1923. giVotes[i][VOTE_ON]=0;
  1924.  
  1925.  
  1926. giVotes[i][VOTE_OFF]=0;
  1927.  
  1928.  
  1929. }
  1930.  
  1931.  
  1932. }
  1933.  
  1934.  
  1935. public show_menu_(tid){
  1936.  
  1937.  
  1938. new id=tid-TASK_SHOWMENU;
  1939.  
  1940.  
  1941. new iTeam=get_user_team(id);
  1942.  
  1943.  
  1944. new menu_id, keys;
  1945.  
  1946.  
  1947. new menuUp = player_menu_info( id, menu_id, keys );
  1948.  
  1949.  
  1950. // Only display menu if another isn't shown
  1951.  
  1952.  
  1953. if ( iTeam && (menuUp <= 0 || menu_id < 0) ){
  1954.  
  1955.  
  1956. new iTime=get_pcvar_num(gcvarFRVoteTime);
  1957.  
  1958.  
  1959. new iOffset=get_systime()-giVoteStart;
  1960.  
  1961.  
  1962. iTime-=iOffset;
  1963.  
  1964.  
  1965. new szMenu[128];
  1966.  
  1967.  
  1968. formatex(szMenu, 127, "\y%L^n^n\w1. %L^n2. %L",id,"FREERUN_VOTEMENU",id,"IGEN",id,"NEM");
  1969.  
  1970.  
  1971. show_menu(id, KeysFFVote, szMenu, iTime, "FRVote");
  1972.  
  1973.  
  1974. }else
  1975.  
  1976.  
  1977. set_task(1.0, "show_menu_", tid);
  1978.  
  1979.  
  1980. }
  1981.  
  1982.  
  1983. public eventInGame(id){
  1984.  
  1985.  
  1986. if(giVotes[id][VOTE_ON] || giVotes[id][VOTE_OFF])
  1987.  
  1988.  
  1989. return;
  1990.  
  1991.  
  1992. if(gbVote)
  1993.  
  1994.  
  1995. set_task(1.0, "show_menu_", id+TASK_SHOWMENU);
  1996.  
  1997.  
  1998. }
  1999.  
  2000.  
  2001. public PressedFRVote(id, key) {
  2002.  
  2003.  
  2004. if(gbVote==false) return;
  2005.  
  2006.  
  2007. switch (key) {
  2008.  
  2009.  
  2010. case VOTE_ON: { // 1
  2011.  
  2012.  
  2013. giVotes[id][VOTE_ON]=1;
  2014.  
  2015.  
  2016. }
  2017.  
  2018.  
  2019. case VOTE_OFF: { // 2
  2020.  
  2021.  
  2022. giVotes[id][VOTE_OFF]=1;
  2023.  
  2024.  
  2025. }
  2026.  
  2027.  
  2028. default:{
  2029.  
  2030.  
  2031. return;
  2032.  
  2033.  
  2034. }
  2035.  
  2036.  
  2037. }
  2038.  
  2039.  
  2040. new szName[32];
  2041.  
  2042.  
  2043. get_user_name(id, szName, 31);
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049. client_print(0, print_chat, "* %L",LANG_PLAYER,(key==VOTE_ON)?"VOTED_FOR":"VOTED_AGAINST", szName);
  2050.  
  2051.  
  2052. }
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058. stock Create_TE_BEAMPOINTS(Float:start[3], Float:end[3], iSprite, startFrame, frameRate, life, width, noise, red, green, blue, alpha, speed){
  2059.  
  2060.  
  2061. message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
  2062.  
  2063.  
  2064. write_byte( TE_BEAMPOINTS )
  2065.  
  2066.  
  2067. write_coord( floatround(start[0]) )
  2068.  
  2069.  
  2070. write_coord( floatround(start[1]) )
  2071.  
  2072.  
  2073. write_coord( floatround(start[2]) )
  2074.  
  2075.  
  2076. write_coord( floatround(end[0]) )
  2077.  
  2078.  
  2079. write_coord( floatround(end[1]) )
  2080.  
  2081.  
  2082. write_coord( floatround(end[2]) )
  2083.  
  2084.  
  2085. write_short( iSprite ) // model
  2086.  
  2087.  
  2088. write_byte( startFrame ) // start frame
  2089.  
  2090.  
  2091. write_byte( frameRate ) // framerate
  2092.  
  2093.  
  2094. write_byte( life ) // life
  2095.  
  2096.  
  2097. write_byte( width ) // width
  2098.  
  2099.  
  2100. write_byte( noise ) // noise
  2101.  
  2102.  
  2103. write_byte( red) // red
  2104.  
  2105.  
  2106. write_byte( green ) // green
  2107.  
  2108.  
  2109. write_byte( blue ) // blue
  2110.  
  2111.  
  2112. write_byte( alpha ) // brightness
  2113.  
  2114.  
  2115. write_byte( speed ) // speed
  2116.  
  2117.  
  2118. message_end()
  2119.  
  2120.  
  2121. }
  2122.  
  2123.  
  2124. stock fm_get_brush_entity_origin(ent, Float:fOrigin[3]){
  2125.  
  2126.  
  2127. new Float:fMins[3], Float:fMaxs[3];
  2128.  
  2129.  
  2130. pev(ent, pev_mins, fMins);
  2131.  
  2132.  
  2133. pev(ent, pev_maxs, fMaxs);
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139. for(new i=0;i<3;i++)
  2140.  
  2141.  
  2142. fOrigin[i]=(fMins[i]+fMaxs[i])/2;
  2143.  
  2144.  
  2145. }
  2146.  
  2147.  
  2148.  




Mi a hiba?

_________________
Ha segítettem használd a gombot!

Kép
KépKép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Use Button Hiba!
HozzászólásElküldve: 2014.02.01. 14:44 
Offline
Senior Tag
Avatar

Csatlakozott: 2013.12.06. 18:38
Hozzászólások: 229
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 16 alkalommal
Ezt próbáld: https://forums.alliedmods.net/showthread.php?p=873614


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Use Button Hiba!
HozzászólásElküldve: 2014.02.01. 14:54 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.12.18. 17:35
Hozzászólások: 365
Megköszönt másnak: 152 alkalommal
Megköszönték neki: 31 alkalommal
nem:S

_________________
Ha segítettem használd a gombot!

Kép
KépKép


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  [ 3 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 28 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