hlmod.hu
https://hlmod.hu/

Kz Hook
https://hlmod.hu/viewtopic.php?f=31&t=23423
Oldal: 1 / 1

Szerző:  elit [ 2016.01.05. 07:43 ]
Hozzászólás témája:  Kz Hook

  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. }

Szerző:  regener [ 2016.09.14. 23:24 ]
Hozzászólás témája:  Re: Kz Hook

  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. }

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/