hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 13:56



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: nincs regisztrált felhasználó 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  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Kz Hook
HozzászólásElküldve: 2016.01.05. 07:43 
Offline
Nagyúr
Avatar

Csatlakozott: 2013.09.14. 08:21
Hozzászólások: 547
Megköszönt másnak: 95 alkalommal
Megköszönték neki: 71 alkalommal
  1. /*==================================================================================================
  2.  
  3.                 ==================================
  4.                 =     Kz-Arg Mod By ReymonARG    =
  5.                 ==================================
  6.                
  7.  
  8. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
  9.                 Copyright © 2008, ReymonARG
  10.                This file is provided as is (no warranties)
  11.  
  12.     Kz-Arg Mod is free software;
  13.     you can redistribute it and/or modify it under the terms of the
  14.     GNU General Public License as published by the Free Software Foundation.
  15.  
  16.     This program is distributed in the hope that it will be useful,
  17.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  18.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19.     GNU General Public License for more details.
  20.  
  21.     You should have received a copy of the GNU General Public License
  22.     along with Kz-Arg Mod; if not, write to the
  23.     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  24.     Boston, MA 02111-1307, USA.
  25.    
  26. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
  27.    
  28.     // Creadits
  29.     * Teame06
  30.     * Kz-Arg Server
  31.     * Nv-Arg Community
  32.     * KzM Servers that I get the Model of de PHP for Top15:D
  33.     * Xtreme-Jumps.eu
  34.     * All persons that help in  AMX Mod X > Scripting
  35.         arkshine, Emp`, danielkza, anakin_cstrike, Exolent[jNr], connorr,
  36.         |PJ| Shorty, stupok, SchlumPF, etc..
  37.  
  38.    
  39.     // Friends :D
  40.     * Ckx           ( Argentina )       Kz Player
  41.     * ChaosAD       ( Argentina )       Kz Player
  42.     * Kunqui        ( Argentina )       Kz Player
  43.     * RTK           ( Argentina )       Kz Player
  44.     * BLT           ( Argentina )       Kz Player
  45.     * Juann         ( Argentina )       Scripter
  46.     * Juanchox          ( ? )       Kz Player
  47.     * Pajaro^       ( Argentina )       Kz Player
  48.     * Limado        ( Argentina )       Kz Player
  49.     * Pepo          ( Argentina )       Kz Player
  50.     * Kuliaa        ( Argentina )       Kz Player
  51.     * Mucholote      ( Ecuador )        Kz Player
  52.     * Creative & Yeans    ( Spain )     Request me the Plugin, So I did :D
  53.                                                  
  54. ===============================================================================R=E=Y=M=O=N==A=R=G=*/
  55. #include <amxmodx>
  56. #include <fakemeta>
  57. #include <kzarg>
  58.  
  59. #define PLUGIN "Kz Hook Test"
  60. #define VERSION "1.1"
  61. #define AUTHOR "ReymonARG"
  62.  
  63. new Float:g_hook_speed[33];
  64. new g_changethinks[33][32];
  65. new g_canchenge[33];
  66. new g_hook_color[33];
  67. new g_naturalcolor[33][3];
  68. new bool:hook[33];
  69. new hook_to[33][3];
  70. new hashook[33];
  71. new beamsprite;
  72. new g_item
  73.  
  74. new darhook[33][32]
  75.  
  76. public plugin_init()
  77. {
  78.     register_plugin(PLUGIN, VERSION, AUTHOR)
  79.  
  80.     register_clcmd("kz_stuffchange", "kz_stuffchange")
  81.     register_clcmd("say /hookmenu", "hook_principal")
  82.    
  83.     register_concmd("+hook","hook_on");
  84.     register_concmd("-hook","hook_off");
  85.    
  86.     g_item = kz_rewards_item_register("Hook", "")
  87.    
  88.     register_clcmd("say /givehook", "set_hook")
  89. }
  90.  
  91. public plugin_precache()
  92. {
  93.     beamsprite = precache_model("sprites/plasma.spr")
  94. }
  95.  
  96. public set_hook(id)
  97. {
  98.     kz_adminhook(id, 0)
  99.    
  100.     return PLUGIN_HANDLED
  101. }
  102.  
  103.  
  104. stock kz_adminhook(id, page)
  105. {
  106.     if( !kz_get_user_vip(id) )
  107.     {
  108.         kz_set_hud_overtime(id, "Solo Vips Pueden tener Hook")
  109.         return PLUGIN_HANDLED;
  110.     }
  111.    
  112.     new menu = menu_create("\[Kz-Arg] \yGive Hook", "darmenuu")
  113.     new contador = 0   
  114.     darhook[id][0] = 0
  115.  
  116.     for(new i = 1; i <= 32 ; i++)
  117.     {
  118.         if( is_user_connected(i) )
  119.         {
  120.             contador++
  121.             new mostrarmsg[64], name[32], contadorr[4]
  122.             get_user_name(i, name, 31)
  123.             formatex(mostrarmsg, 63, "\w %s - %s", name, !hashook[i] && !kz_get_user_vip(i) ? "\dOFF" : "\yON")
  124.             num_to_str(contador, contadorr, 3)
  125.             menu_additem(menu, mostrarmsg, contadorr, 0)
  126.             darhook[id][contador] = i
  127.         }
  128.     }
  129.    
  130.     menu_display(id, menu, page)
  131.    
  132.     return PLUGIN_HANDLED;
  133. }
  134.    
  135. public darmenuu(id, menu, item)
  136. {
  137.     if(item == MENU_EXIT)
  138.     {
  139.         return PLUGIN_HANDLED
  140.     }
  141.    
  142.     new data[6], iName[64]
  143.     new access, callback
  144.    
  145.     menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
  146.    
  147.     new key = str_to_num(data)
  148.     new LALA = floatround(str_to_float(data)/7.0001, floatround_floor)
  149.    
  150.     new i = darhook[id][key]
  151.    
  152.     hashook[i] = !hashook[i]
  153.  
  154.     kz_adminhook(id, LALA)
  155.     return PLUGIN_HANDLED
  156. }
  157.  
  158. public kz_prestartclimb(id)
  159. {
  160.     hashook[id] = false
  161. }
  162.  
  163. public kz_itemrewardsmenu(id, item ,page)
  164. {
  165.     if( g_item == item )
  166.     {
  167.         hashook[id] = true
  168.         kz_set_hud_overtime(id, "Type /Hookmenu for more Info")
  169.     }
  170. }
  171.    
  172. public client_connect(id)
  173. {
  174.     g_hook_speed[id] = 600.0;
  175.     g_changethinks[id][0] = 0;
  176.     g_canchenge[id] = 0;
  177.     g_hook_color[id] = 0;
  178.     hashook[id] = false;
  179. }
  180.  
  181. public hook_on(id)
  182. {
  183.     if( !kz_get_user_vip(id) && !hashook[id])
  184.     {
  185.         kz_set_hud_overtime(id, "Solo Vips Pueden tener Hook")
  186.         return PLUGIN_HANDLED;
  187.     }
  188.        
  189.     if( hook[id] )
  190.     {
  191.         return PLUGIN_HANDLED;
  192.     }
  193.    
  194.     set_pev(id, pev_gravity, 0.0);
  195.     set_task(0.1,"hook_prethink",id+10000,"",0,"b");
  196.     hook[id]=true;
  197.     hook_to[id][0]=999999;
  198.     hook_prethink(id+10000);
  199.     return PLUGIN_HANDLED;
  200. }
  201.  
  202. public hook_principal(id)
  203. {
  204.     new msgspeed[64];
  205.     formatex(msgspeed, 63, "\r[Kz-Arg] \yHook \w- %s", !hashook[id] && !kz_get_user_vip(id) ? "\dOFF" : "\yON");
  206.     new menuhook = menu_create(msgspeed, "principal_hook", 0);
  207.     new msglala[2][64], msgcolor[32];
  208.     formatex(msglala[0], 63, "\wSpeed \yActual Speed: %.1f", g_hook_speed[id]);
  209.     formatex(msgcolor, 31, "%i %i %i", g_naturalcolor[id][0], g_naturalcolor[id][1], g_naturalcolor[id][2]);
  210.     formatex(msglala[1], 63, "\wColor's \yActual Colors: %s", g_hook_color[id] == 0 ? "Random" : msgcolor );
  211.    
  212.     menu_additem(menuhook, msglala[0], "1", 0);
  213.     menu_additem(menuhook, msglala[1], "2", 0);
  214.    
  215.     menu_display(id, menuhook, 0);
  216.    
  217.     return PLUGIN_HANDLED
  218. }
  219.  
  220. public principal_hook(id, menu, item)
  221. {
  222.     if(item == MENU_EXIT)
  223.     {
  224.         return PLUGIN_HANDLED;
  225.     }
  226.    
  227.     new data[6], iName[64];
  228.     new access, callback;
  229.    
  230.     menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
  231.    
  232.     new key = str_to_num(data);
  233.    
  234.     switch(key)
  235.     {
  236.         case 1:
  237.         {
  238.             hook_menu(id);
  239.         }
  240.         case 2:
  241.         {
  242.             hook_menu2(id);
  243.         }
  244.     }
  245.    
  246.     return PLUGIN_HANDLED;
  247. }
  248.  
  249. public hook_menu(id)
  250. {
  251.     new msgspeed[64];
  252.     formatex(msgspeed, 63, "\r[Kz-Arg] Hook \yActual Speed: %.1f", g_hook_speed[id]);
  253.     new menuhook = menu_create(msgspeed, "menu_hook", 0);
  254.     menu_additem(menuhook, "\wManual Edit^n^n\yDefaul's Speed:", "1", 0);
  255.    
  256.     new cuentahook = 1;
  257.    
  258.     for( new i=1; i <= 6; i++ )
  259.     {
  260.         new Float:new_speed = i * 300.0;
  261.        
  262.         new post[5], msg[64];
  263.         cuentahook++;
  264.         formatex(post, 4, "%i", cuentahook);
  265.        
  266.         if( g_hook_speed[id] != new_speed )
  267.         {
  268.             formatex(msg, 63, "\w%.1f", new_speed);
  269.         }
  270.         else
  271.         {
  272.             formatex(msg, 63, "\d%.1f \y(Actual)", new_speed);
  273.         }
  274.            
  275.         menu_additem(menuhook, msg, post, 0);
  276.            
  277.     }
  278.     menu_setprop(menuhook, MPROP_EXITNAME, "\wHook Menu");
  279.    
  280.     menu_display(id, menuhook, 0);
  281.    
  282. }
  283.  
  284. public menu_hook(id, menu, item)
  285. {
  286.     if(item == MENU_EXIT)
  287.     {
  288.         hook_principal(id);
  289.         return PLUGIN_HANDLED;
  290.     }
  291.    
  292.     new data[6], iName[64];
  293.     new access, callback;
  294.    
  295.     menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
  296.    
  297.     new key = str_to_num(data);
  298.    
  299.     switch(key)
  300.     {
  301.         case 1:
  302.         {
  303.             g_canchenge[id] = 1;
  304.             copy(g_changethinks[id],sizeof(g_changethinks[])-1,"kz_speed_hook");
  305.             client_cmd(id,"messagemode kz_stuffchange");
  306.             hook_menu(id);
  307.         }
  308.         default:
  309.         {
  310.             new Float:change_speed = (key - 1) * 300.0;
  311.             g_hook_speed[id] = change_speed;
  312.             hook_menu(id);
  313.         }
  314.     }
  315.    
  316.     return PLUGIN_HANDLED
  317. }
  318.  
  319. public hook_menu2(id)
  320. {
  321.     new msgspeed[64];
  322.     new msgcolor[32];
  323.     formatex(msgcolor, 31, "%i %i %i", g_naturalcolor[id][0], g_naturalcolor[id][1], g_naturalcolor[id][2]);
  324.     formatex(msgspeed, 63, "\r[Kz-Arg] Hook \yColors: %s", g_hook_color[id] == 0 ? "Random" : msgcolor );
  325.     new menuhook = menu_create(msgspeed, "menu_hook2", 0);
  326.    
  327.     menu_additem(menuhook, "\wManual Edit^n^n\yDefaul's Colors:", "1", 0);
  328.     menu_additem(menuhook, "\wRandom's Colors", "2", 0);
  329.     menu_additem(menuhook, "\wRed", "3", 0);
  330.     menu_additem(menuhook, "\wBlue", "4", 0);
  331.     menu_additem(menuhook, "\wGreen", "5", 0);
  332.     menu_additem(menuhook, "\wWhite", "6", 0);
  333.     menu_setprop(menuhook, MPROP_EXITNAME, "\wHook Menu");
  334.    
  335.     menu_display(id, menuhook, 0);
  336.    
  337. }
  338.  
  339. public menu_hook2(id, menu, item)
  340. {
  341.     if(item == MENU_EXIT)
  342.     {
  343.         hook_principal(id);
  344.         return PLUGIN_HANDLED;
  345.     }
  346.    
  347.     new data[6], iName[64];
  348.     new access, callback;
  349.    
  350.     menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
  351.    
  352.     new key = str_to_num(data);
  353.    
  354.     switch(key)
  355.     {
  356.         case 1:
  357.         {
  358.             g_canchenge[id] = 1;
  359.             copy(g_changethinks[id],sizeof(g_changethinks[])-1,"kz_color_hook");
  360.             client_cmd(id,"messagemode kz_stuffchange");
  361.             hook_menu2(id);
  362.         }
  363.         case 2:
  364.         {
  365.             g_hook_color[id] = 0;
  366.             hook_menu2(id);
  367.         }
  368.         case 3:
  369.         {
  370.             g_hook_color[id] = 1;
  371.             g_naturalcolor[id][0] = 255;
  372.             g_naturalcolor[id][1] = 0;
  373.             g_naturalcolor[id][2] = 0;
  374.             hook_menu2(id);
  375.         }
  376.         case 4:
  377.         {
  378.             g_hook_color[id] = 1;
  379.             g_naturalcolor[id][0] = 0;
  380.             g_naturalcolor[id][1] = 0;
  381.             g_naturalcolor[id][2] = 255;
  382.             hook_menu2(id);
  383.         }
  384.         case 5:
  385.         {
  386.             g_hook_color[id] = 1;
  387.             g_naturalcolor[id][0] = 0;
  388.             g_naturalcolor[id][1] = 255;
  389.             g_naturalcolor[id][2] = 0;
  390.             hook_menu2(id);
  391.         }
  392.         case 6:
  393.         {
  394.             g_hook_color[id] = 1;
  395.             g_naturalcolor[id][0] = 255;
  396.             g_naturalcolor[id][1] = 255;
  397.             g_naturalcolor[id][2] = 255;
  398.             hook_menu2(id);
  399.         }
  400.     }
  401.    
  402.     return PLUGIN_HANDLED;
  403. }
  404.  
  405. /*------------------------------------------------------------------------------------------------*/
  406.  
  407. public hook_off(id)
  408. {
  409.     set_pev(id, pev_gravity, 1.0);
  410.     hook[id] = false;
  411.     return PLUGIN_HANDLED;
  412. }
  413.  
  414. public hook_prethink(id)
  415. {
  416.     id -= 10000;
  417.    
  418.     kz_cheat_detection(id, "HooK");
  419.    
  420.     if(!is_user_alive(id))
  421.     {
  422.         hook[id]=false;
  423.     }
  424.    
  425.     if(!hook[id])
  426.     {
  427.         remove_task(id+10000);
  428.         return PLUGIN_HANDLED;
  429.     }
  430.  
  431.  
  432.     static origin1[3];
  433.     new Float:origin[3];
  434.     get_user_origin(id,origin1);
  435.     pev(id, pev_origin, origin);
  436.  
  437.     if(hook_to[id][0]==999999)
  438.     {
  439.         static origin2[3];
  440.         get_user_origin(id,origin2,3);
  441.         hook_to[id][0]=origin2[0];
  442.         hook_to[id][1]=origin2[1];
  443.         hook_to[id][2]=origin2[2];
  444.     }
  445.  
  446.     //Create blue beam
  447.     message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
  448.     write_byte(1);
  449.     write_short(id);
  450.     write_coord(hook_to[id][0]);
  451.     write_coord(hook_to[id][1]);
  452.     write_coord(hook_to[id][2]);
  453.     write_short(beamsprite);
  454.     write_byte(1);
  455.     write_byte(1);
  456.     write_byte(5);
  457.     write_byte(18);
  458.     write_byte(0);
  459.     if( g_hook_color[id] == 0 )
  460.     {
  461.         write_byte(random(256));
  462.         write_byte(random(256));
  463.         write_byte(random(256));
  464.     }
  465.     else if( g_hook_color[id] == 1 )
  466.     {
  467.         write_byte(g_naturalcolor[id][0]);
  468.         write_byte(g_naturalcolor[id][1]);
  469.         write_byte(g_naturalcolor[id][2]);
  470.     }
  471.     write_byte(200);
  472.     write_byte(0);
  473.     message_end();
  474.  
  475.     //Calculate Velocity
  476.     static Float:velocity[3];
  477.     velocity[0] = (float(hook_to[id][0]) - float(origin1[0])) * 3.0;
  478.     velocity[1] = (float(hook_to[id][1]) - float(origin1[1])) * 3.0;
  479.     velocity[2] = (float(hook_to[id][2]) - float(origin1[2])) * 3.0;
  480.  
  481.     static Float:y;
  482.     y = velocity[0]*velocity[0] + velocity[1]*velocity[1] + velocity[2]*velocity[2];
  483.  
  484.     static Float:x;
  485.     x = (g_hook_speed[id]) / floatsqroot(y);
  486.  
  487.     velocity[0] *= x;
  488.     velocity[1] *= x;
  489.     velocity[2] *= x;
  490.  
  491.     set_velo(id,velocity);
  492.  
  493.     return PLUGIN_CONTINUE;
  494. }
  495.  
  496. public set_velo(id,Float:velocity[3])
  497. {
  498.     return set_pev(id,pev_velocity,velocity);
  499. }
  500.  
  501. public kz_stuffchange(id)
  502. {
  503.     if(g_canchenge[id]==0)
  504.     {
  505.         return PLUGIN_CONTINUE;
  506.     }
  507.    
  508.     new Args[256];
  509.    
  510.     read_args(Args,sizeof(Args)-1);
  511.    
  512.     remove_quotes(Args);
  513.    
  514.     if (equali(Args,"!cancel",7) || equali(Args,"",0) )
  515.     {
  516.         //
  517.     }
  518.     else
  519.     {
  520.         if( equali(g_changethinks[id] , "kz_speed_hook", 13) )
  521.         {
  522.             g_hook_speed[id] = str_to_float(Args);
  523.             g_canchenge[id] = 0;
  524.             hook_menu(id);
  525.         }
  526.        
  527.         if( equali(g_changethinks[id] , "kz_color_hook", 13) )
  528.         {
  529.             new colormierda[3][6];
  530.             parse(Args, colormierda[0], 5, colormierda[1], 5, colormierda[2], 5);
  531.             g_naturalcolor[id][0] = str_to_num(colormierda[0]);
  532.             g_naturalcolor[id][1] = str_to_num(colormierda[1]);
  533.             g_naturalcolor[id][2] = str_to_num(colormierda[2]);
  534.             g_canchenge[id] = 0;
  535.             g_hook_color[id] = 1;
  536.             hook_menu2(id);
  537.         }
  538.     }
  539.    
  540.     return PLUGIN_HANDLED;
  541. }

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Kz Hook
HozzászólásElküldve: 2016.09.14. 23:24 
Offline
Őstag
Avatar

Csatlakozott: 2015.07.27. 22:56
Hozzászólások: 1367
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 351 alkalommal
  1. /*==================================================================================================
  2.  
  3.                                 ==================================
  4.                                 =     Kz-Arg Mod By ReymonARG    =
  5.                                 ==================================
  6.  
  7.  
  8. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
  9.                                 Copyright © 2008, ReymonARG
  10.                              This file is provided as is (no warranties)
  11.  
  12.         Kz-Arg Mod is free software;
  13.         you can redistribute it and/or modify it under the terms of the
  14.         GNU General Public License as published by the Free Software Foundation.
  15.  
  16.         This program is distributed in the hope that it will be useful,
  17.         but WITHOUT ANY WARRANTY; without even the implied warranty of
  18.         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19.         GNU General Public License for more details.
  20.  
  21.         You should have received a copy of the GNU General Public License
  22.         along with Kz-Arg Mod; if not, write to the
  23.         Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  24.         Boston, MA 02111-1307, USA.
  25.  
  26. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
  27.  
  28.         // Creadits
  29.         * Teame06
  30.         * Kz-Arg Server
  31.         * Nv-Arg Community
  32.         * KzM Servers that I get the Model of de PHP for Top15:D
  33.         * Xtreme-Jumps.eu
  34.         * All persons that help in  AMX Mod X > Scripting
  35.                 arkshine, Emp`, danielkza, anakin_cstrike, Exolent[jNr], connorr,
  36.                 |PJ| Shorty, stupok, SchlumPF, etc..
  37.  
  38.  
  39.         // Friends :D
  40.         * Ckx           ( Argentina )       Kz Player
  41.         * ChaosAD       ( Argentina )       Kz Player
  42.         * Kunqui        ( Argentina )       Kz Player
  43.         * RTK           ( Argentina )       Kz Player
  44.         * BLT           ( Argentina )       Kz Player
  45.         * Juann         ( Argentina )       Scripter
  46.         * Juanchox          ( ? )       Kz Player
  47.         * Pajaro^       ( Argentina )       Kz Player
  48.         * Limado        ( Argentina )       Kz Player
  49.         * Pepo          ( Argentina )       Kz Player
  50.         * Kuliaa        ( Argentina )       Kz Player
  51.         * Mucholote      ( Ecuador )        Kz Player
  52.         * Creative & Yeans    ( Spain )     Request me the Plugin, So I did :D
  53.  
  54. ===============================================================================R=E=Y=M=O=N==A=R=G=*/
  55. #include <amxmodx>
  56. #include <fakemeta>
  57. #include <kzarg>
  58.  
  59. #define PLUGIN "Kz Hook Test"
  60. #define VERSION "1.1"
  61. #define AUTHOR "ReymonARG"
  62.  
  63. new Float:g_hook_speed[33];
  64. new g_changethinks[33][32];
  65. new g_canchenge[33];
  66. new g_hook_color[33];
  67. new g_naturalcolor[33][3];
  68. new bool:hook[33];
  69. new hook_to[33][3];
  70. new hashook[33];
  71. new beamsprite;
  72. new g_item
  73.  
  74. new darhook[33][32]
  75.  
  76. public plugin_init()
  77. {
  78.         register_plugin(PLUGIN, VERSION, AUTHOR)
  79.  
  80.         register_clcmd("kz_stuffchange", "kz_stuffchange")
  81.         register_clcmd("say /hookmenu", "hook_principal")
  82.  
  83.         register_concmd("+hook","hook_on");
  84.         register_concmd("-hook","hook_off");
  85.  
  86.         g_item = kz_rewards_item_register("Hook", "")
  87.  
  88.         register_clcmd("say /givehook", "set_hook")
  89. }
  90.  
  91. public plugin_precache()
  92. {
  93.         beamsprite = precache_model("sprites/plasma.spr")
  94. }
  95.  
  96. public set_hook(id)
  97. {
  98.         kz_adminhook(id, 0)
  99.  
  100.         return PLUGIN_HANDLED
  101. }
  102.  
  103.  
  104. stock kz_adminhook(id, page)
  105. {
  106.         if( !kz_get_user_vip(id) )
  107.         {
  108.                 kz_set_hud_overtime(id, "Csak a VIP-eknek lehet Hookja")
  109.                 return PLUGIN_HANDLED;
  110.         }
  111.  
  112.         new menu = menu_create("\[Kz-Arg] \yHook Adása", "darmenuu")
  113.         new contador = 0
  114.         darhook[id][0] = 0
  115.  
  116.         for(new i = 1; i <= 32 ; i++)
  117.         {
  118.                 if( is_user_connected(i) )
  119.                 {
  120.                         contador++
  121.                         new mostrarmsg[64], name[32], contadorr[4]
  122.                         get_user_name(i, name, 31)
  123.                         formatex(mostrarmsg, 63, "\w %s - %s", name, !hashook[i] && !kz_get_user_vip(i) ? "\dOFF" : "\yON")
  124.                         num_to_str(contador, contadorr, 3)
  125.                         menu_additem(menu, mostrarmsg, contadorr, 0)
  126.                         darhook[id][contador] = i
  127.                 }
  128.         }
  129.  
  130.         menu_display(id, menu, page)
  131.  
  132.         return PLUGIN_HANDLED;
  133. }
  134.  
  135. public darmenuu(id, menu, item)
  136. {
  137.         if(item == MENU_EXIT)
  138.         {
  139.                 return PLUGIN_HANDLED
  140.         }
  141.  
  142.         new data[6], iName[64]
  143.         new access, callback
  144.  
  145.         menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
  146.  
  147.         new key = str_to_num(data)
  148.         new LALA = floatround(str_to_float(data)/7.0001, floatround_floor)
  149.  
  150.         new i = darhook[id][key]
  151.  
  152.         hashook[i] = !hashook[i]
  153.  
  154.         kz_adminhook(id, LALA)
  155.         return PLUGIN_HANDLED
  156. }
  157.  
  158. public kz_prestartclimb(id)
  159. {
  160.         hashook[id] = false
  161. }
  162.  
  163. public kz_itemrewardsmenu(id, item ,page)
  164. {
  165.         if( g_item == item )
  166.         {
  167.                 hashook[id] = true
  168.                 kz_set_hud_overtime(id, "Több információért írd be /Hookmenu")
  169.         }
  170. }
  171.  
  172. public client_connect(id)
  173. {
  174.         g_hook_speed[id] = 600.0;
  175.         g_changethinks[id][0] = 0;
  176.         g_canchenge[id] = 0;
  177.         g_hook_color[id] = 0;
  178.         hashook[id] = false;
  179. }
  180.  
  181. public hook_on(id)
  182. {
  183.         if( !kz_get_user_vip(id) && !hashook[id])
  184.         {
  185.                 kz_set_hud_overtime(id, "Csak a VIP-eknek lehet Hookja")
  186.                 return PLUGIN_HANDLED;
  187.         }
  188.  
  189.         if( hook[id] )
  190.         {
  191.                 return PLUGIN_HANDLED;
  192.         }
  193.  
  194.         set_pev(id, pev_gravity, 0.0);
  195.         set_task(0.1,"hook_prethink",id+10000,"",0,"b");
  196.         hook[id]=true;
  197.         hook_to[id][0]=999999;
  198.         hook_prethink(id+10000);
  199.         return PLUGIN_HANDLED;
  200. }
  201.  
  202. public hook_principal(id)
  203. {
  204.         new msgspeed[64];
  205.         formatex(msgspeed, 63, "\r[Kz-Arg] \yHook \w- %s", !hashook[id] && !kz_get_user_vip(id) ? "\dKI" : "\yBE");
  206.         new menuhook = menu_create(msgspeed, "principal_hook", 0);
  207.         new msglala[2][64], msgcolor[32];
  208.         formatex(msglala[0], 63, "\wSebesség \yAktuális Sebesség: %.1f", g_hook_speed[id]);
  209.         formatex(msgcolor, 31, "%i %i %i", g_naturalcolor[id][0], g_naturalcolor[id][1], g_naturalcolor[id][2]);
  210.         formatex(msglala[1], 63, "\wSzín \yAktuális Szín: %s", g_hook_color[id] == 0 ? "Random" : msgcolor );
  211.  
  212.         menu_additem(menuhook, msglala[0], "1", 0);
  213.         menu_additem(menuhook, msglala[1], "2", 0);
  214.  
  215.         menu_display(id, menuhook, 0);
  216.  
  217.         return PLUGIN_HANDLED
  218. }
  219.  
  220. public principal_hook(id, menu, item)
  221. {
  222.         if(item == MENU_EXIT)
  223.         {
  224.                 return PLUGIN_HANDLED;
  225.         }
  226.  
  227.         new data[6], iName[64];
  228.         new access, callback;
  229.  
  230.         menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
  231.  
  232.         new key = str_to_num(data);
  233.  
  234.         switch(key)
  235.         {
  236.                 case 1:
  237.                 {
  238.                         hook_menu(id);
  239.                 }
  240.                 case 2:
  241.                 {
  242.                         hook_menu2(id);
  243.                 }
  244.         }
  245.  
  246.         return PLUGIN_HANDLED;
  247. }
  248.  
  249. public hook_menu(id)
  250. {
  251.         new msgspeed[64];
  252.         formatex(msgspeed, 63, "\r[Kz-Arg] Hook \yAktuális Sebesség: %.1f", g_hook_speed[id]);
  253.         new menuhook = menu_create(msgspeed, "menu_hook", 0);
  254.         menu_additem(menuhook, "\wKézi Szerkesztés^n^n\yAlap Sebesség:", "1", 0);
  255.  
  256.         new cuentahook = 1;
  257.  
  258.         for( new i=1; i <= 6; i++ )
  259.         {
  260.                 new Float:new_speed = i * 300.0;
  261.  
  262.                 new post[5], msg[64];
  263.                 cuentahook++;
  264.                 formatex(post, 4, "%i", cuentahook);
  265.  
  266.                 if( g_hook_speed[id] != new_speed )
  267.                 {
  268.                         formatex(msg, 63, "\w%.1f", new_speed);
  269.                 }
  270.                 else
  271.                 {
  272.                         formatex(msg, 63, "\d%.1f \y(Aktuális)", new_speed);
  273.                 }
  274.  
  275.                 menu_additem(menuhook, msg, post, 0);
  276.  
  277.         }
  278.         menu_setprop(menuhook, MPROP_EXITNAME, "\wHook Menü");
  279.  
  280.         menu_display(id, menuhook, 0);
  281.  
  282. }
  283.  
  284. public menu_hook(id, menu, item)
  285. {
  286.         if(item == MENU_EXIT)
  287.         {
  288.                 hook_principal(id);
  289.                 return PLUGIN_HANDLED;
  290.         }
  291.  
  292.         new data[6], iName[64];
  293.         new access, callback;
  294.  
  295.         menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
  296.  
  297.         new key = str_to_num(data);
  298.  
  299.         switch(key)
  300.         {
  301.                 case 1:
  302.                 {
  303.                         g_canchenge[id] = 1;
  304.                         copy(g_changethinks[id],sizeof(g_changethinks[])-1,"kz_speed_hook");
  305.                         client_cmd(id,"messagemode kz_stuffchange");
  306.                         hook_menu(id);
  307.                 }
  308.                 default:
  309.                 {
  310.                         new Float:change_speed = (key - 1) * 300.0;
  311.                         g_hook_speed[id] = change_speed;
  312.                         hook_menu(id);
  313.                 }
  314.         }
  315.  
  316.         return PLUGIN_HANDLED
  317. }
  318.  
  319. public hook_menu2(id)
  320. {
  321.         new msgspeed[64];
  322.         new msgcolor[32];
  323.         formatex(msgcolor, 31, "%i %i %i", g_naturalcolor[id][0], g_naturalcolor[id][1], g_naturalcolor[id][2]);
  324.         formatex(msgspeed, 63, "\r[Kz-Arg] Hook \ySzínek: %s", g_hook_color[id] == 0 ? "Véletlenszerű" : msgcolor );
  325.         new menuhook = menu_create(msgspeed, "menu_hook2", 0);
  326.  
  327.         menu_additem(menuhook, "\wKézi Szerkesztés^n^n\yAlap színek:", "1", 0);
  328.         menu_additem(menuhook, "\wVéletlenszerű Színek", "2", 0);
  329.         menu_additem(menuhook, "\wPiros", "3", 0);
  330.         menu_additem(menuhook, "\wKék", "4", 0);
  331.         menu_additem(menuhook, "\wZöld", "5", 0);
  332.         menu_additem(menuhook, "\wFehér", "6", 0);
  333.         menu_setprop(menuhook, MPROP_EXITNAME, "\wHook Menü");
  334.  
  335.         menu_display(id, menuhook, 0);
  336.  
  337. }
  338.  
  339. public menu_hook2(id, menu, item)
  340. {
  341.         if(item == MENU_EXIT)
  342.         {
  343.                 hook_principal(id);
  344.                 return PLUGIN_HANDLED;
  345.         }
  346.  
  347.         new data[6], iName[64];
  348.         new access, callback;
  349.  
  350.         menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
  351.  
  352.         new key = str_to_num(data);
  353.  
  354.         switch(key)
  355.         {
  356.                 case 1:
  357.                 {
  358.                         g_canchenge[id] = 1;
  359.                         copy(g_changethinks[id],sizeof(g_changethinks[])-1,"kz_color_hook");
  360.                         client_cmd(id,"messagemode kz_stuffchange");
  361.                         hook_menu2(id);
  362.                 }
  363.                 case 2:
  364.                 {
  365.                         g_hook_color[id] = 0;
  366.                         hook_menu2(id);
  367.                 }
  368.                 case 3:
  369.                 {
  370.                         g_hook_color[id] = 1;
  371.                         g_naturalcolor[id][0] = 255;
  372.                         g_naturalcolor[id][1] = 0;
  373.                         g_naturalcolor[id][2] = 0;
  374.                         hook_menu2(id);
  375.                 }
  376.                 case 4:
  377.                 {
  378.                         g_hook_color[id] = 1;
  379.                         g_naturalcolor[id][0] = 0;
  380.                         g_naturalcolor[id][1] = 0;
  381.                         g_naturalcolor[id][2] = 255;
  382.                         hook_menu2(id);
  383.                 }
  384.                 case 5:
  385.                 {
  386.                         g_hook_color[id] = 1;
  387.                         g_naturalcolor[id][0] = 0;
  388.                         g_naturalcolor[id][1] = 255;
  389.                         g_naturalcolor[id][2] = 0;
  390.                         hook_menu2(id);
  391.                 }
  392.                 case 6:
  393.                 {
  394.                         g_hook_color[id] = 1;
  395.                         g_naturalcolor[id][0] = 255;
  396.                         g_naturalcolor[id][1] = 255;
  397.                         g_naturalcolor[id][2] = 255;
  398.                         hook_menu2(id);
  399.                 }
  400.         }
  401.  
  402.         return PLUGIN_HANDLED;
  403. }
  404.  
  405. /*------------------------------------------------------------------------------------------------*/
  406.  
  407. public hook_off(id)
  408. {
  409.         set_pev(id, pev_gravity, 1.0);
  410.         hook[id] = false;
  411.         return PLUGIN_HANDLED;
  412. }
  413.  
  414. public hook_prethink(id)
  415. {
  416.         id -= 10000;
  417.  
  418.         kz_cheat_detection(id, "HooK");
  419.  
  420.         if(!is_user_alive(id))
  421.         {
  422.                 hook[id]=false;
  423.         }
  424.  
  425.         if(!hook[id])
  426.         {
  427.                 remove_task(id+10000);
  428.                 return PLUGIN_HANDLED;
  429.         }
  430.  
  431.  
  432.         static origin1[3];
  433.         new Float:origin[3];
  434.         get_user_origin(id,origin1);
  435.         pev(id, pev_origin, origin);
  436.  
  437.         if(hook_to[id][0]==999999)
  438.         {
  439.                 static origin2[3];
  440.                 get_user_origin(id,origin2,3);
  441.                 hook_to[id][0]=origin2[0];
  442.                 hook_to[id][1]=origin2[1];
  443.                 hook_to[id][2]=origin2[2];
  444.         }
  445.  
  446.         //Create blue beam
  447.         message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
  448.         write_byte(1);
  449.         write_short(id);
  450.         write_coord(hook_to[id][0]);
  451.         write_coord(hook_to[id][1]);
  452.         write_coord(hook_to[id][2]);
  453.         write_short(beamsprite);
  454.         write_byte(1);
  455.         write_byte(1);
  456.         write_byte(5);
  457.         write_byte(18);
  458.         write_byte(0);
  459.         if( g_hook_color[id] == 0 )
  460.         {
  461.                 write_byte(random(256));
  462.                 write_byte(random(256));
  463.                 write_byte(random(256));
  464.         }
  465.         else if( g_hook_color[id] == 1 )
  466.         {
  467.                 write_byte(g_naturalcolor[id][0]);
  468.                 write_byte(g_naturalcolor[id][1]);
  469.                 write_byte(g_naturalcolor[id][2]);
  470.         }
  471.         write_byte(200);
  472.         write_byte(0);
  473.         message_end();
  474.  
  475.         //Calculate Velocity
  476.         static Float:velocity[3];
  477.         velocity[0] = (float(hook_to[id][0]) - float(origin1[0])) * 3.0;
  478.         velocity[1] = (float(hook_to[id][1]) - float(origin1[1])) * 3.0;
  479.         velocity[2] = (float(hook_to[id][2]) - float(origin1[2])) * 3.0;
  480.  
  481.         static Float:y;
  482.         y = velocity[0]*velocity[0] + velocity[1]*velocity[1] + velocity[2]*velocity[2];
  483.  
  484.         static Float:x;
  485.         x = (g_hook_speed[id]) / floatsqroot(y);
  486.  
  487.         velocity[0] *= x;
  488.         velocity[1] *= x;
  489.         velocity[2] *= x;
  490.  
  491.         set_velo(id,velocity);
  492.  
  493.         return PLUGIN_CONTINUE;
  494. }
  495.  
  496. public set_velo(id,Float:velocity[3])
  497. {
  498.         return set_pev(id,pev_velocity,velocity);
  499. }
  500.  
  501. public kz_stuffchange(id)
  502. {
  503.         if(g_canchenge[id]==0)
  504.         {
  505.                 return PLUGIN_CONTINUE;
  506.         }
  507.  
  508.         new Args[256];
  509.  
  510.         read_args(Args,sizeof(Args)-1);
  511.  
  512.         remove_quotes(Args);
  513.  
  514.         if (equali(Args,"!cancel",7) || equali(Args,"",0) )
  515.         {
  516.                 //
  517.         }
  518.         else
  519.         {
  520.                 if( equali(g_changethinks[id] , "kz_speed_hook", 13) )
  521.                 {
  522.                         g_hook_speed[id] = str_to_float(Args);
  523.                         g_canchenge[id] = 0;
  524.                         hook_menu(id);
  525.                 }
  526.  
  527.                 if( equali(g_changethinks[id] , "kz_color_hook", 13) )
  528.                 {
  529.                         new colormierda[3][6];
  530.                         parse(Args, colormierda[0], 5, colormierda[1], 5, colormierda[2], 5);
  531.                         g_naturalcolor[id][0] = str_to_num(colormierda[0]);
  532.                         g_naturalcolor[id][1] = str_to_num(colormierda[1]);
  533.                         g_naturalcolor[id][2] = str_to_num(colormierda[2]);
  534.                         g_canchenge[id] = 0;
  535.                         g_hook_color[id] = 1;
  536.                         hook_menu2(id);
  537.                 }
  538.         }
  539.  
  540.         return PLUGIN_HANDLED;
  541. }

Ők köszönték meg regener nek ezt a hozzászólást: elit (2016.09.15. 05:10)
  Népszerűség: 2.27%


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


Ki van itt

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