hlmod.hu
https://hlmod.hu/

Knife skins menü hiba!
https://hlmod.hu/viewtopic.php?f=29&t=27941
Oldal: 1 / 1

Szerző:  luxi [ 2017.07.13. 10:19 ]
Hozzászólás témája:  Knife skins menü hiba!

Sziasztok!
Ha valaki feljön a szerverre és szerezz pontot és kap 1 ládát meg egy kulcsot ki tudja nyitni de nem tudja aktiválni.
és ha lemegy a szerverről eltünnek a dolgaii..
aki segit megy a gomb
  1. /*
  2.    Fordította: BBk
  3. */
  4.  
  5. #include <amxmodx>
  6. #include <amxmisc>
  7. #include <engine>  
  8. #include <vault>
  9. #include <hamsandwich>
  10. #include <fvault>
  11.  
  12. #pragma tabsize 0
  13.  
  14. #define is_valid_player(%1) (1 <= %1 <= 32)
  15.  
  16. new knife_model[33];
  17.  
  18. new const g_VAULTNAME[] = "knife-Skins";
  19. new const VERSION[] = "2.2"
  20. new const AUTHOR[] = "Asafmazon."
  21.  
  22.  
  23. new iLevel[33];
  24. new iXp[33];
  25.  
  26. new knife_on;
  27.  
  28. new MaxLevel;
  29. new StartedLevel;
  30.  
  31. new cvar_KillXp;
  32. new cvar_HsXp;
  33. new cvar_knifeXp;
  34.  
  35. new Forward_spawn;
  36. new Forward_levelup;
  37. new ForwardReturn;
  38.  
  39. new const g_knifeNames[][32] =
  40. {
  41. "|FPS| knife",
  42. "|Átlátszó| knife",
  43. "|Buzis| knife",
  44. "|Sörös| knife",
  45. "|Tetkós| knife",
  46. "|Neon| knife",
  47. "|DJ| knife",
  48. "|Haláli| knife",
  49. "|Fidget Spinner| knife",
  50. "|Tiger| knife",
  51. "|Karma| knife",
  52. "|Fénykard| knife",
  53. "|Farkaskarom| knife",
  54. "|Proton| knife"
  55. };
  56.  
  57. new const g_knifevModels[][256] =
  58. {
  59. "models/v_knife.mdl",
  60. "models/andkes2.mdl",
  61. "models/andkes3.mdl",
  62. "models/andkes4.mdl",
  63. "models/andkes5.mdl",
  64. "models/andkes6.mdl",
  65. "models/andkes7.mdl",
  66. "models/andkes8.mdl",
  67. "models/andkes9.mdl",
  68. "models/andkes10.mdl",
  69. "models/andkes11.mdl",
  70. "models/v_lightsaber.mdl",
  71. "models/v_wolverine.mdl",
  72. "models/v_proton.mdl"
  73. }
  74.  
  75. native register_maxlevels( maxlevel = 99, started_xp_level = 100 );
  76. native get_user_level( index );
  77. native get_user_xp( index );
  78.  
  79. public plugin_init() {  
  80.    
  81.     register_plugin(g_VAULTNAME, VERSION, AUTHOR);
  82.     register_cvar("knife_skins", VERSION, FCVAR_SERVER); // Find Servers on Game-Monitor
  83.     set_cvar_string("knife_skins", VERSION); // Find Servers on Game-Monitor
  84.    
  85.     // register max levels 13 is the top level, 100 is the started level xp.
  86.     register_maxlevels( 13, 100 );
  87.    
  88.     //Admin commands
  89.    
  90.     register_concmd("knife_givexp" ,"givexp",ADMIN_RCON,"xp adasa")
  91.     register_concmd("knife_takexp", "takexp",ADMIN_RCON,"xp megvonasa")
  92.    
  93.     //Clcmd's
  94.    
  95.     knife_on = register_cvar( "knife_skins", "1" );
  96.    
  97.     register_clcmd("say","HandleSay");
  98.     register_clcmd("say_team","HandleSay")
  99.     register_clcmd("say /kes", "knifesMenu");
  100.     register_clcmd("say /szintek", "PlayerLevelsMenu");
  101.    
  102.     //Event's
  103.    
  104.     register_event("CurWeapon","CurWeapon","be","1=1");
  105.     register_event( "DeathMsg", "EventDeathMsg", "a" );
  106.    
  107.     //Cvar's
  108.    
  109.     cvar_KillXp = register_cvar( "kill_xp", "5" );
  110.     cvar_HsXp = register_cvar( "hs_xp", "2" );
  111.     cvar_knifeXp = register_cvar( "knife_xp", "3" );
  112.    
  113.     //Ham's
  114.    
  115.     RegisterHam( Ham_Spawn, "player", "FwdPlayerSpawn", 1 );
  116.     RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
  117.    
  118.     //Forward's
  119.    
  120.     Forward_levelup = CreateMultiForward( "forward_client_levelup", ET_IGNORE, FP_CELL, FP_CELL, FP_CELL );
  121.     Forward_spawn = CreateMultiForward( "forward_client_spawn", ET_IGNORE, FP_CELL , FP_CELL, FP_CELL );
  122.    
  123.     set_task(15.0, "Knifemessage", 0, _, _, "b")
  124.     set_task(35.0, "Levelmessage", 0, _, _, "b")
  125. }
  126.  
  127. public plugin_precache() {  
  128.    
  129.     precache_model("models/andkes2.mdl")  
  130.     precache_model("models/andkes3.mdl")  
  131.     precache_model("models/andkes4.mdl")
  132.     precache_model("models/andkes5.mdl")
  133.     precache_model("models/andkes6.mdl")
  134.     precache_model("models/andkes7.mdl")
  135.     precache_model("models/andkes8.mdl")
  136.     precache_model("models/andkes9.mdl")
  137.     precache_model("models/andkes10.mdl")
  138.     precache_model("models/andkes11.mdl")
  139.     precache_model("models/v_lightsaber.mdl")
  140.     precache_model("models/v_wolverine.mdl")
  141.     precache_model("models/v_proton.mdl")
  142.    
  143. }
  144.  
  145. public plugin_natives( )
  146. {
  147.     //Native's
  148.    
  149.     register_library( "Knife-Skins" );
  150.    
  151.     register_native( "register_maxlevels", "_register_maxlevels" );
  152.     register_native( "get_user_level", "_get_user_level" );
  153.     register_native( "set_user_level", "_set_user_level" );
  154.     register_native( "get_user_xp", "_get_user_xp" );
  155.     register_native( "set_user_xp", "_set_user_xp" );
  156. }
  157.  
  158. public _register_maxlevels( plugin, params )
  159. {
  160.     if( MaxLevel != 0 && StartedLevel != 0 )
  161.     {
  162.         return;
  163.     }
  164.     else
  165.     {
  166.         MaxLevel = get_param( 1 );
  167.         StartedLevel = get_param( 2 );
  168.     }
  169. }
  170.  
  171. public _get_user_level( plugin, params )
  172. {
  173.     return iLevel[ get_param( 1 ) ];
  174. }
  175.  
  176. public _set_user_level( plugin, params )
  177. {
  178.     iLevel[ get_param( 1 ) ] = max( get_param( 2 ), MaxLevel );
  179.    
  180.     FlsahLevelUp( get_param( 1 ) );
  181.    
  182.     SaveData( get_param( 1 ) );
  183.    
  184.     LoadData( get_param( 1 ) );
  185. }
  186.  
  187. public _get_user_xp( plugin, params )
  188. {
  189.     return iXp[ get_param( 1 ) ];
  190. }
  191.  
  192. public _set_user_xp( plugin, params )
  193. {
  194.     iXp[ get_param( 1 ) ] = get_param( 2 );
  195.    
  196.     CheckLevel( get_param( 1 ) );
  197.    
  198.     SaveData( get_param( 1 ) );
  199.    
  200.     LoadData( get_param( 1 ) );
  201. }
  202.  
  203. public CheckLevel( id )
  204. {
  205.     if( iLevel[id] == MaxLevel )
  206.     {
  207.         return;
  208.     }
  209.     else
  210.     {
  211.         new level = iLevel[id] > 0 ? iLevel[id] : 1;
  212.        
  213.         new xp = level * StartedLevel;
  214.        
  215.         if( iLevel[id] > 0 )
  216.         {
  217.             xp +=  ( xp * 4 / 2 );
  218.         }
  219.        
  220.         while( iXp[id] >= xp )
  221.         {
  222.             iLevel[id]++;
  223.            
  224.             ColorChat(id,"^4Gratulálunk!^1 Szintet léptél! Új^4 SZINT^1 : ^3%i^1.", iLevel[id]);
  225.             ColorChat(0,"^3%s^1 felugrott a^4 LEVEL^3 %i^1 szintre!",get_player_name(id), iLevel[id]);
  226.            
  227.             FlsahLevelUp(id);
  228.            
  229.             ExecuteForward( Forward_levelup, ForwardReturn, id, iLevel[id], iXp[id] );
  230.            
  231.             SaveData( id );
  232.            
  233.             CheckLevel( id );
  234.            
  235.             break;
  236.         }
  237.     }
  238. }
  239.  
  240. public FlsahLevelUp( id )
  241. {
  242.     message_begin( MSG_ONE, get_user_msgid( "ScreenFade" ), { 0, 0, 0}, id );
  243.     write_short( 1 << 10 );
  244.     write_short( 1 << 10 );
  245.     write_short( 0 );
  246.     write_byte( 0 );
  247.     write_byte( 255 );
  248.     write_byte( 215 );
  249.     write_byte( 100 );
  250.     message_end( );
  251. }
  252.  
  253.  
  254. public HandleSay(id){
  255.    
  256.     if (get_pcvar_num(knife_on) == 0)
  257.     {
  258.         ColorChat(id, "A mod kikapcsolva.");
  259.         return PLUGIN_HANDLED;
  260.     }
  261.    
  262.     new iMsg[200], iArgs[4][60];
  263.     new level = iLevel[id] > 0 ? iLevel[id] : 1;
  264.    
  265.     new xp = level * StartedLevel;
  266.    
  267.     if( iLevel[id] > 0 )
  268.     {
  269.         xp +=  ( xp * 4 / 2 );
  270.     }
  271.    
  272.     read_argv(1,iMsg ,sizeof iMsg - 1);
  273.     parse(iMsg,iArgs[0],charsmax(iArgs[]),iArgs[1],charsmax(iArgs[]),iArgs[2],charsmax(iArgs[]),iArgs[3],charsmax(iArgs[]));
  274.    
  275.     if (equali(iArgs[0],"/szintek") || equali(iArgs[0],"/szint") || equali(iArgs[0],"/xp"))
  276.     {    
  277.         new player = cmd_target(id,iArgs[1],CMDTARGET_NO_BOTS);
  278.        
  279.         if (!player)
  280.         {
  281.             ColorChat( id, "A te^4 szinted^1:^3 %i^4 |^1 Az^4 XP^1 -d:^3 %i^1/^3%i^1.", iLevel[id], iXp[id], xp );
  282.         }
  283.     }
  284.    
  285.     return 0;
  286. }
  287.  
  288. public EventDeathMsg(id)
  289. {
  290.     if (get_pcvar_num(knife_on) == 0)
  291.         return PLUGIN_HANDLED;
  292.    
  293.     new killer = read_data( 1 );
  294.     new victim = read_data( 2 );
  295.    
  296.     if( killer == victim || ! is_user_connected( killer ) || ! is_user_connected( victim ) )
  297.     {
  298.         return PLUGIN_HANDLED;
  299.         //return;
  300.     }
  301.    
  302.     new XpAmount = get_pcvar_num( cvar_KillXp );
  303.    
  304.     if( read_data( 3 ) )
  305.     {
  306.         XpAmount += get_pcvar_num( cvar_HsXp );
  307.     }
  308.    
  309.     static sWeapon[ 26 ];
  310.    
  311.     read_data( 4, sWeapon, sizeof( sWeapon ) - 1 );
  312.    
  313.    
  314.     if( equal( sWeapon, "knife" ) )  
  315.     {
  316.         XpAmount += get_pcvar_num( cvar_knifeXp );
  317.     }
  318.    
  319.     iXp[ killer ] += XpAmount;
  320.    
  321.     CheckLevel( killer );
  322.    
  323.     SaveData( killer );
  324.    
  325.     ColorChat( killer, "Nyertél^3 %i^1 XP-t.", XpAmount );
  326.    
  327.     return PLUGIN_HANDLED;
  328. }
  329.  
  330. public FwdPlayerSpawn( id )
  331. {
  332.     ExecuteForward( Forward_spawn, ForwardReturn, id, iLevel[id], iXp[id] );
  333. }
  334.  
  335. public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
  336. {
  337.     if( get_pcvar_num( knife_on ) == 0 )
  338.         return HAM_IGNORED;
  339.     if( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_KNIFE )
  340.     {
  341.         SetHamParamFloat(4, damage + knife_model[attacker]);
  342.        
  343.         return HAM_HANDLED;
  344.     }
  345.    
  346.     return HAM_IGNORED;
  347. }
  348.  
  349. public andskinkinsMenu(id) {
  350.    
  351.     if (get_pcvar_num(knife_on) == 0)
  352.     {
  353.         ColorChat(id, "A mod kikapcsolva.");
  354.         return PLUGIN_HANDLED;
  355.     }
  356.    
  357.     new szItem[256], szAlien[50], szEllium[50], szDark[50], szTransparent[50], szGenuine[50], szHunt[50], szShadow[50], szSlaughterer[50], szKatana[50], szAssasins[50],
  358.     szLightsaber[50], szWolverine[50], szProton[50];
  359.    
  360.     new level = iLevel[id] > 0 ? iLevel[id] : 1;
  361.    
  362.     new xp = level * StartedLevel;
  363.    
  364.     if( iLevel[id] > 0 )
  365.     {
  366.         xp +=  ( xp * 4 / 2 );
  367.     }
  368.    
  369.     formatex(szItem, charsmax(szItem), "\w[ \r%s \w] \y|\rKésrendszer\y| \rv%s^n\ySzinted: \r%d \w- \yXP: \r%d\w/\r%d\w.^n\yOldal:\r", g_VAULTNAME, VERSION,iLevel[id],iXp[id], xp);
  370.     formatex(szAlien, charsmax(szAlien),"%s", iLevel[id] >= 1 ? "\w|\yÁtlátszó\w| \rKés \w[\dFeloldva\w]" : "\d|Átlátszó| Kés [\rSzükséges szint: 1\d]");
  371.     formatex(szEllium, charsmax(szEllium),"%s", iLevel[id] >= 2 ? "\w|\yBuzis\w| \rKés \w[\dFeloldva\w]" : "\d|Buzis| Kés [\rSzükséges szint: 2\d]");
  372.     formatex(szDark, charsmax(szDark),"%s", iLevel[id] >= 3 ? "\w|\ySörös\w| \rKés \w[\dFeloldva\w]" : "\d|Sörös| Kés [\rSzükséges szint: 3\d]");
  373.     formatex(szTransparent, charsmax(szTransparent),"%s", iLevel[id] >= 4 ? "\w|\yTetkós\w| \rKés \w[\dFeloldva\w]" : "\d|Tetkós| Kés [\rSzükséges szint: 4\d]");
  374.     formatex(szGenuine, charsmax(szGenuine),"%s", iLevel[id] >= 5 ? "\w|\yNeon\w| \rKés \w[\dFeloldva\w]" : "\d|Neon| Kés [\rSzükséges szint: 5\d]");
  375.     formatex(szHunt, charsmax(szHunt),"%s", iLevel[id] >= 6 ? "\w|\yDJ\w| \rKés \w[\dFeloldva\w]" : "\d|DJ| Kés [\rSzükséges szint: 6\d]");
  376.     formatex(szShadow, charsmax(szShadow),"%s", iLevel[id] >= 7 ? "\w|\Haláli\w| \rKés \w[\dFeloldva\w]" : "\d|Haláli| Kés [\rSzükséges szint: 7\d]");
  377.     formatex(szSlaughterer, charsmax(szSlaughterer),"%s", iLevel[id] >= 8 ? "\w|\yFigdet Spinner\w| \rKés \w[\dFeloldva\w]" : "\d|Fidget Spinner| Kés [\rSzükséges szint: 8\d]");
  378.     formatex(szKatana, charsmax(szKatana),"%s", iLevel[id] >= 9 ? "\w|\yTiger\w| \rKés \w[\dFeloldva\w]" : "\d|Tiger| Kés [\rSzükséges szint: 9\d]");
  379.     formatex(szAssasins, charsmax(szAssasins),"%s", iLevel[id] >= 10 ? "\w|\yKarma\w| \rKés \w[\dFeloldva\w]" : "\d|Karma| Kés [\rSzükséges szint: 10\d]");
  380.     formatex(szLightsaber, charsmax(szLightsaber),"%s", iLevel[id] >= 11 ? "\w|\yFénykard\w| \rKés \w[\dFeloldva\w]" : "\d|Fénykard| Kés [\rSzükséges szint: 11\d]");
  381.     formatex(szWolverine, charsmax(szWolverine),"%s", iLevel[id] >= 12 ? "\w|\yFarkaskarom\w| \rKés \w[\dFeloldva\w]" : "\d|FarkasKarom| Kés [\rSzükséges szint: 12\d]");
  382.     formatex(szProton, charsmax(szProton),"%s", iLevel[id] >= 13 ? "\w|\yProton\w| \rKés \w[\dFeloldva\w]" : "\d|Proton| Kés [\rSzükséges szint: 13\d]");
  383.    
  384.     new menu = menu_create( szItem, "andskinkinsMenu_Handler" );
  385.     menu_additem(menu, "\wNormal knife \w[\dFeloldva\w]", "", 0 );
  386.     menu_additem(menu, szAlien, "", iLevel[id] >= 1 ? 0 : 1);
  387.     menu_additem(menu, szEllium, "", iLevel[id] >= 2 ? 0 : 1);
  388.     menu_additem(menu, szDark, "", iLevel[id] >= 3 ? 0 : 1);
  389.     menu_additem(menu, szTransparent, "", iLevel[id] >= 4 ? 0 : 1);
  390.     menu_additem(menu, szGenuine, "", iLevel[id] >= 5 ? 0 : 1);
  391.     menu_additem(menu, szHunt, "", iLevel[id] >= 6 ? 0 : 1);
  392.     menu_additem(menu, szShadow, "", iLevel[id] >= 7 ? 0 : 1);
  393.     menu_additem(menu, szSlaughterer, "", iLevel[id] >= 8 ? 0 : 1);
  394.     menu_additem(menu, szKatana, "", iLevel[id] >= 9 ? 0 : 1);
  395.     menu_additem(menu, szAssasins, "", iLevel[id] >= 10 ? 0 : 1);
  396.     menu_additem(menu, szLightsaber, "", iLevel[id] >= 11 ? 0 : 1);
  397.     menu_additem(menu, szWolverine, "", iLevel[id] >= 12 ? 0 : 1);
  398.     menu_additem(menu, szProton, "", iLevel[id] >= 13 ? 0 : 1);
  399.    
  400.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  401.     menu_display(id, menu, 0 );
  402.    
  403.     return PLUGIN_HANDLED;
  404. }
  405.  
  406. public andskinkinsMenu_Handler(id, menu, item)
  407. {
  408.     if(item == MENU_EXIT)
  409.     {
  410.         menu_destroy(menu)
  411.         return PLUGIN_HANDLED
  412.     }
  413.    
  414.     Setknife(id, item);
  415.     ColorChat(id, "A kiválasztott knife: ^4%s^1.", g_knifeNames[item]);
  416.    
  417.     SaveData(id);
  418.     return PLUGIN_HANDLED;
  419. }
  420.  
  421. public Setknife(id, item) {
  422.    
  423.     knife_model[id] = item
  424.    
  425.     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)  
  426.     if ( Weapon != CSW_KNIFE )
  427.         return PLUGIN_HANDLED
  428.    
  429.     new vModel[56],pModel[56]
  430.    
  431.     if (get_pcvar_num(knife_on) == 0)
  432.     {
  433.         format(vModel,55,"models/v_knife.mdl")
  434.         return PLUGIN_HANDLED;
  435.     }
  436.    
  437.     format(vModel,55, g_knifevModels[item])
  438.     format(pModel,55,"models/p_knife.mdl")
  439.     entity_set_string(id, EV_SZ_viewmodel, vModel)
  440.     entity_set_string(id, EV_SZ_weaponmodel, pModel)
  441.    
  442.     return PLUGIN_HANDLED;  
  443. }
  444.  
  445. public PlayerLevelsMenu(id)
  446. {  
  447.     if (get_pcvar_num(knife_on) == 0)
  448.     {
  449.         ColorChat(id, "A mod kikapcsolva.");
  450.         return PLUGIN_HANDLED;
  451.     }
  452.    
  453.     new some[256], menu;
  454.    
  455.     static players[32],szTemp[10],pnum;
  456.     get_players(players,pnum,"ch");
  457.    
  458.     formatex(some,255,"\w[ \r%s \w] \yA játékos szintje:\r", g_VAULTNAME);
  459.    
  460.     menu = menu_create(some,"PlayerLevelsMenu_Handler");
  461.    
  462.     for (new i; i < pnum; i++)
  463.     {
  464.         new level = iLevel[players[i]] > 0 ? iLevel[players[i]] : 1;
  465.        
  466.         new xp = level * StartedLevel;
  467.        
  468.         if( iLevel[players[i]] > 0 )
  469.         {
  470.             xp +=  ( xp * 4 / 2 );
  471.         }
  472.        
  473.         formatex(some,256,"%s \y(Szint: \r%i\y) \w- \y(XP: \r%i\w/\r%i\y)",get_player_name(players[i]), iLevel[players[i]], iXp[players[i]], xp);
  474.         num_to_str(players[i],szTemp,charsmax(szTemp));
  475.         menu_additem(menu, some, szTemp);
  476.     }
  477.    
  478.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  479.     menu_display(id, menu);
  480.    
  481.     return PLUGIN_HANDLED;
  482. }
  483.  
  484. public PlayerLevelsMenu_Handler(id,menu, item){
  485.     if (item == MENU_EXIT)
  486.     {
  487.         menu_destroy(menu);
  488.         return;
  489.     }
  490.    
  491.     new data[6] ,szName[64],access,callback;
  492.    
  493.     menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback);
  494.    
  495.     new player = str_to_num(data);
  496.    
  497.     new level = iLevel[player] > 0 ? iLevel[player] : 1;
  498.    
  499.     new xp = level * StartedLevel;
  500.    
  501.     if( iLevel[player] > 0 )
  502.     {
  503.         xp +=  ( xp * 4 / 2 );
  504.     }
  505.    
  506.     ColorChat(id,"^3%s ^4SZINTJE ^1: ^3%i ^1%i^1/^3%i ^4XP-vel^1.",get_player_name(player), iLevel[player], iXp[player], xp);
  507.     PlayerLevelsMenu(id);
  508. }
  509.  
  510. public CurWeapon(id)
  511. {
  512.     // Set knife Model
  513.     Setknife(id, knife_model[id])
  514. }
  515.  
  516. public givexp(id) {
  517.     if (get_pcvar_num(knife_on) == 0)
  518.     {
  519.         ColorChat(id, "A mod kikapcsolva.");
  520.         return PLUGIN_HANDLED;
  521.     }
  522.    
  523.     if( get_user_flags( id ) & ADMIN_RCON ) {
  524.        
  525.         new PlayerToGive[32], XP[32]
  526.         read_argv(1,PlayerToGive,31)
  527.         read_argv(2,XP, 31)
  528.         new Player = cmd_target(id,PlayerToGive,9)
  529.        
  530.         if(!Player) {
  531.            
  532.             return PLUGIN_HANDLED
  533.            
  534.         }
  535.        
  536.         new XPtoGive = str_to_num(XP)
  537.         new name[32],owner[32]
  538.         get_user_name(id,owner,31)
  539.         get_user_name(Player,name,31)
  540.         ColorChat(0,"^4ADMIN^3 %s^1 adott^4 %s XP-t^3 %s^1 jatekosnak.", owner,XP,name );
  541.         iXp[Player]+= XPtoGive
  542.         CheckLevel(Player);
  543.         SaveData(id)
  544.        
  545.     }
  546.    
  547.     else {
  548.        
  549.         client_print(id,print_console,"Nincs hozzaferesed ehhez a parancshoz")
  550.        
  551.         return PLUGIN_HANDLED
  552.     }
  553.    
  554.     return PLUGIN_HANDLED;
  555. }
  556.  
  557. public takexp(id) {
  558.     if (get_pcvar_num(knife_on) == 0)
  559.     {
  560.         ColorChat(id, "A mod kikapcsolva.");
  561.         return PLUGIN_HANDLED;
  562.     }
  563.    
  564.     if(get_user_flags(id) & ADMIN_RCON ) {
  565.        
  566.        
  567.         new PlayerToTake[32], XP[32]
  568.         read_argv(1,PlayerToTake,31 )
  569.         read_argv(2,XP,31 )
  570.         new Player = cmd_target(id,PlayerToTake,9)
  571.        
  572.         if(!Player) {
  573.            
  574.             return PLUGIN_HANDLED
  575.            
  576.         }
  577.        
  578.         new XPtoTake = str_to_num(XP)
  579.         new name[32],owner[32]
  580.         get_user_name(id,owner,31)
  581.         get_user_name(Player,name,31)
  582.         ColorChat(0,"^4ADMIN^3 %s^1 megvont^4 %s XP-t^3 %s^1 jatekostol.", owner,XP,name );
  583.         iXp[ Player ]-=XPtoTake
  584.         CheckLevel(Player);
  585.         SaveData(id)
  586.        
  587.     }
  588.    
  589.     else {
  590.        
  591.         client_print(id,print_console,"Nincs hozzaferesed ehhez a parancshoz.")
  592.        
  593.         return PLUGIN_HANDLED
  594.        
  595.     }
  596.    
  597.     return PLUGIN_HANDLED;
  598. }
  599.  
  600. public client_disconnect(id) {  
  601.    
  602.     if(task_exists(id)){
  603.         remove_task(id)
  604.     }
  605.     SaveData(id);
  606. }  
  607.  
  608.  
  609. public knifemessage(id) {
  610.    
  611.     if (get_pcvar_num(knife_on) == 0)
  612.         return PLUGIN_HANDLED;
  613.    
  614.     ColorChat(0, "Ird be ^3/knife ^1hogy megnyisd a ^4knife-skinek menut^1.");
  615.     ColorChat(0, "Ezen a szerveren ^4%s ^3v%s^1 by ^4%s^1 mod fut.",g_VAULTNAME, VERSION, AUTHOR)
  616.     return PLUGIN_HANDLED;
  617. }  
  618.  
  619. public Levelmessage(id) {
  620.    
  621.     if (get_pcvar_num(knife_on) == 0)
  622.         return PLUGIN_HANDLED;
  623.    
  624.     ColorChat(0,"Megtekintheted a ^4Jatekosok szintjeit. ^1Ird be ^3/szintek ^1.");
  625.     return PLUGIN_HANDLED;
  626. }
  627.  
  628. public client_putinserver(id) LoadData(id);
  629.  
  630. public SaveData(id){
  631.    
  632.     new authid[32]
  633.     get_user_authid(id, authid, 31)
  634.    
  635.     new vaultkey[64]
  636.     new vaultdata[64]
  637.    
  638.     format(vaultkey, 63, "knifeMOD_%s", authid)
  639.     format(vaultdata, 63, "%d", knife_model[id])
  640.     set_vaultdata(vaultkey, vaultdata)
  641.    
  642.     new data[ 16 ];
  643.    
  644.     get_user_authid( id, authid, sizeof( authid ) - 1 );
  645.    
  646.     formatex( data, sizeof( data ) - 1, "%d %d", iLevel[id], iXp[id] );
  647.    
  648.     fvault_set_data(g_VAULTNAME, authid, data );
  649.    
  650.     return;
  651.    
  652.    
  653. }
  654.  
  655. public LoadData(id){
  656.    
  657.     new authid[32]  
  658.     get_user_authid(id,authid,31)
  659.    
  660.     new vaultkey[64], vaultdata[64]
  661.    
  662.     format(vaultkey, 63, "knifeMOD_%s", authid)
  663.     get_vaultdata(vaultkey, vaultdata, 63)
  664.     knife_model[id] = str_to_num(vaultdata)
  665.    
  666.     new data[ 16 ], szLevel[ 8 ], szXp[ 8 ];
  667.    
  668.     get_user_authid( id, authid, sizeof( authid ) - 1 );
  669.    
  670.     if( fvault_get_data(g_VAULTNAME, authid, data, sizeof( data ) - 1 ) )
  671.     {
  672.         strbreak( data, szLevel, sizeof( szLevel ) - 1, szXp, sizeof( szXp ) - 1 );
  673.        
  674.         iLevel[id] = str_to_num( szLevel );
  675.         iXp[id] = str_to_num( szXp );
  676.        
  677.         return;
  678.     }
  679.     else
  680.     {
  681.         iLevel[id] = 0;
  682.         iXp[id] = 0;
  683.        
  684.         return;
  685.     }
  686. }
  687.  
  688. stock get_player_name(id){
  689.     static szName[32];
  690.     get_user_name(id,szName,31);
  691.     return szName;
  692. }
  693.  
  694. stock ColorChat( const id, const string[ ], { Float, Sql, Resul, _ } : ... )
  695. {
  696. new msg[ 191 ], players[ 32 ], count = 1;
  697.  
  698. static len;
  699. len = formatex( msg, charsmax( msg ), "^x04[^x01Kés^x04 ]^x01 " );
  700. vformat( msg[ len ], charsmax( msg ) - len, string, 3 );
  701.  
  702. if( id )
  703.     players[ 0 ] = id;
  704.     else
  705.         get_players( players,count,"ch" );
  706.    
  707.     for( new i = 0; i < count; i++ )
  708.     {
  709.         if( is_user_connected( players[i] ) )
  710.         {
  711.             message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _ , players[ i ] );
  712.             write_byte( players[ i ] );
  713.             write_string( msg );
  714.             message_end( );
  715.         }
  716.     }
  717. }
  718. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  719. *{\\ rtf1\\ fbidis\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ ltrpar\\ lang1033\\ f0\\ fs16 \n\\ par }
  720. */

Szerző:  qkly [ 2017.07.13. 11:13 ]
Hozzászólás témája:  Re: Knife skins menü hiba!

luxi írta:
Sziasztok!
Ha valaki feljön a szerverre és szerezz pontot és kap 1 ládát meg egy kulcsot ki tudja nyitni de nem tudja aktiválni.
és ha lemegy a szerverről eltünnek a dolgaii..
aki segit megy a gomb
  1. /*
  2.    Fordította: BBk
  3. */
  4.  
  5. #include <amxmodx>
  6. #include <amxmisc>
  7. #include <engine>  
  8. #include <vault>
  9. #include <hamsandwich>
  10. #include <fvault>
  11.  
  12. #pragma tabsize 0
  13.  
  14. #define is_valid_player(%1) (1 <= %1 <= 32)
  15.  
  16. new knife_model[33];
  17.  
  18. new const g_VAULTNAME[] = "knife-Skins";
  19. new const VERSION[] = "2.2"
  20. new const AUTHOR[] = "Asafmazon."
  21.  
  22.  
  23. new iLevel[33];
  24. new iXp[33];
  25.  
  26. new knife_on;
  27.  
  28. new MaxLevel;
  29. new StartedLevel;
  30.  
  31. new cvar_KillXp;
  32. new cvar_HsXp;
  33. new cvar_knifeXp;
  34.  
  35. new Forward_spawn;
  36. new Forward_levelup;
  37. new ForwardReturn;
  38.  
  39. new const g_knifeNames[][32] =
  40. {
  41. "|FPS| knife",
  42. "|Átlátszó| knife",
  43. "|Buzis| knife",
  44. "|Sörös| knife",
  45. "|Tetkós| knife",
  46. "|Neon| knife",
  47. "|DJ| knife",
  48. "|Haláli| knife",
  49. "|Fidget Spinner| knife",
  50. "|Tiger| knife",
  51. "|Karma| knife",
  52. "|Fénykard| knife",
  53. "|Farkaskarom| knife",
  54. "|Proton| knife"
  55. };
  56.  
  57. new const g_knifevModels[][256] =
  58. {
  59. "models/v_knife.mdl",
  60. "models/andkes2.mdl",
  61. "models/andkes3.mdl",
  62. "models/andkes4.mdl",
  63. "models/andkes5.mdl",
  64. "models/andkes6.mdl",
  65. "models/andkes7.mdl",
  66. "models/andkes8.mdl",
  67. "models/andkes9.mdl",
  68. "models/andkes10.mdl",
  69. "models/andkes11.mdl",
  70. "models/v_lightsaber.mdl",
  71. "models/v_wolverine.mdl",
  72. "models/v_proton.mdl"
  73. }
  74.  
  75. native register_maxlevels( maxlevel = 99, started_xp_level = 100 );
  76. native get_user_level( index );
  77. native get_user_xp( index );
  78.  
  79. public plugin_init() {  
  80.    
  81.     register_plugin(g_VAULTNAME, VERSION, AUTHOR);
  82.     register_cvar("knife_skins", VERSION, FCVAR_SERVER); // Find Servers on Game-Monitor
  83.     set_cvar_string("knife_skins", VERSION); // Find Servers on Game-Monitor
  84.    
  85.     // register max levels 13 is the top level, 100 is the started level xp.
  86.     register_maxlevels( 13, 100 );
  87.    
  88.     //Admin commands
  89.    
  90.     register_concmd("knife_givexp" ,"givexp",ADMIN_RCON,"xp adasa")
  91.     register_concmd("knife_takexp", "takexp",ADMIN_RCON,"xp megvonasa")
  92.    
  93.     //Clcmd's
  94.    
  95.     knife_on = register_cvar( "knife_skins", "1" );
  96.    
  97.     register_clcmd("say","HandleSay");
  98.     register_clcmd("say_team","HandleSay")
  99.     register_clcmd("say /kes", "knifesMenu");
  100.     register_clcmd("say /szintek", "PlayerLevelsMenu");
  101.    
  102.     //Event's
  103.    
  104.     register_event("CurWeapon","CurWeapon","be","1=1");
  105.     register_event( "DeathMsg", "EventDeathMsg", "a" );
  106.    
  107.     //Cvar's
  108.    
  109.     cvar_KillXp = register_cvar( "kill_xp", "5" );
  110.     cvar_HsXp = register_cvar( "hs_xp", "2" );
  111.     cvar_knifeXp = register_cvar( "knife_xp", "3" );
  112.    
  113.     //Ham's
  114.    
  115.     RegisterHam( Ham_Spawn, "player", "FwdPlayerSpawn", 1 );
  116.     RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
  117.    
  118.     //Forward's
  119.    
  120.     Forward_levelup = CreateMultiForward( "forward_client_levelup", ET_IGNORE, FP_CELL, FP_CELL, FP_CELL );
  121.     Forward_spawn = CreateMultiForward( "forward_client_spawn", ET_IGNORE, FP_CELL , FP_CELL, FP_CELL );
  122.    
  123.     set_task(15.0, "Knifemessage", 0, _, _, "b")
  124.     set_task(35.0, "Levelmessage", 0, _, _, "b")
  125. }
  126.  
  127. public plugin_precache() {  
  128.    
  129.     precache_model("models/andkes2.mdl")  
  130.     precache_model("models/andkes3.mdl")  
  131.     precache_model("models/andkes4.mdl")
  132.     precache_model("models/andkes5.mdl")
  133.     precache_model("models/andkes6.mdl")
  134.     precache_model("models/andkes7.mdl")
  135.     precache_model("models/andkes8.mdl")
  136.     precache_model("models/andkes9.mdl")
  137.     precache_model("models/andkes10.mdl")
  138.     precache_model("models/andkes11.mdl")
  139.     precache_model("models/v_lightsaber.mdl")
  140.     precache_model("models/v_wolverine.mdl")
  141.     precache_model("models/v_proton.mdl")
  142.    
  143. }
  144.  
  145. public plugin_natives( )
  146. {
  147.     //Native's
  148.    
  149.     register_library( "Knife-Skins" );
  150.    
  151.     register_native( "register_maxlevels", "_register_maxlevels" );
  152.     register_native( "get_user_level", "_get_user_level" );
  153.     register_native( "set_user_level", "_set_user_level" );
  154.     register_native( "get_user_xp", "_get_user_xp" );
  155.     register_native( "set_user_xp", "_set_user_xp" );
  156. }
  157.  
  158. public _register_maxlevels( plugin, params )
  159. {
  160.     if( MaxLevel != 0 && StartedLevel != 0 )
  161.     {
  162.         return;
  163.     }
  164.     else
  165.     {
  166.         MaxLevel = get_param( 1 );
  167.         StartedLevel = get_param( 2 );
  168.     }
  169. }
  170.  
  171. public _get_user_level( plugin, params )
  172. {
  173.     return iLevel[ get_param( 1 ) ];
  174. }
  175.  
  176. public _set_user_level( plugin, params )
  177. {
  178.     iLevel[ get_param( 1 ) ] = max( get_param( 2 ), MaxLevel );
  179.    
  180.     FlsahLevelUp( get_param( 1 ) );
  181.    
  182.     SaveData( get_param( 1 ) );
  183.    
  184.     LoadData( get_param( 1 ) );
  185. }
  186.  
  187. public _get_user_xp( plugin, params )
  188. {
  189.     return iXp[ get_param( 1 ) ];
  190. }
  191.  
  192. public _set_user_xp( plugin, params )
  193. {
  194.     iXp[ get_param( 1 ) ] = get_param( 2 );
  195.    
  196.     CheckLevel( get_param( 1 ) );
  197.    
  198.     SaveData( get_param( 1 ) );
  199.    
  200.     LoadData( get_param( 1 ) );
  201. }
  202.  
  203. public CheckLevel( id )
  204. {
  205.     if( iLevel[id] == MaxLevel )
  206.     {
  207.         return;
  208.     }
  209.     else
  210.     {
  211.         new level = iLevel[id] > 0 ? iLevel[id] : 1;
  212.        
  213.         new xp = level * StartedLevel;
  214.        
  215.         if( iLevel[id] > 0 )
  216.         {
  217.             xp +=  ( xp * 4 / 2 );
  218.         }
  219.        
  220.         while( iXp[id] >= xp )
  221.         {
  222.             iLevel[id]++;
  223.            
  224.             ColorChat(id,"^4Gratulálunk!^1 Szintet léptél! Új^4 SZINT^1 : ^3%i^1.", iLevel[id]);
  225.             ColorChat(0,"^3%s^1 felugrott a^4 LEVEL^3 %i^1 szintre!",get_player_name(id), iLevel[id]);
  226.            
  227.             FlsahLevelUp(id);
  228.            
  229.             ExecuteForward( Forward_levelup, ForwardReturn, id, iLevel[id], iXp[id] );
  230.            
  231.             SaveData( id );
  232.            
  233.             CheckLevel( id );
  234.            
  235.             break;
  236.         }
  237.     }
  238. }
  239.  
  240. public FlsahLevelUp( id )
  241. {
  242.     message_begin( MSG_ONE, get_user_msgid( "ScreenFade" ), { 0, 0, 0}, id );
  243.     write_short( 1 << 10 );
  244.     write_short( 1 << 10 );
  245.     write_short( 0 );
  246.     write_byte( 0 );
  247.     write_byte( 255 );
  248.     write_byte( 215 );
  249.     write_byte( 100 );
  250.     message_end( );
  251. }
  252.  
  253.  
  254. public HandleSay(id){
  255.    
  256.     if (get_pcvar_num(knife_on) == 0)
  257.     {
  258.         ColorChat(id, "A mod kikapcsolva.");
  259.         return PLUGIN_HANDLED;
  260.     }
  261.    
  262.     new iMsg[200], iArgs[4][60];
  263.     new level = iLevel[id] > 0 ? iLevel[id] : 1;
  264.    
  265.     new xp = level * StartedLevel;
  266.    
  267.     if( iLevel[id] > 0 )
  268.     {
  269.         xp +=  ( xp * 4 / 2 );
  270.     }
  271.    
  272.     read_argv(1,iMsg ,sizeof iMsg - 1);
  273.     parse(iMsg,iArgs[0],charsmax(iArgs[]),iArgs[1],charsmax(iArgs[]),iArgs[2],charsmax(iArgs[]),iArgs[3],charsmax(iArgs[]));
  274.    
  275.     if (equali(iArgs[0],"/szintek") || equali(iArgs[0],"/szint") || equali(iArgs[0],"/xp"))
  276.     {    
  277.         new player = cmd_target(id,iArgs[1],CMDTARGET_NO_BOTS);
  278.        
  279.         if (!player)
  280.         {
  281.             ColorChat( id, "A te^4 szinted^1:^3 %i^4 |^1 Az^4 XP^1 -d:^3 %i^1/^3%i^1.", iLevel[id], iXp[id], xp );
  282.         }
  283.     }
  284.    
  285.     return 0;
  286. }
  287.  
  288. public EventDeathMsg(id)
  289. {
  290.     if (get_pcvar_num(knife_on) == 0)
  291.         return PLUGIN_HANDLED;
  292.    
  293.     new killer = read_data( 1 );
  294.     new victim = read_data( 2 );
  295.    
  296.     if( killer == victim || ! is_user_connected( killer ) || ! is_user_connected( victim ) )
  297.     {
  298.         return PLUGIN_HANDLED;
  299.         //return;
  300.     }
  301.    
  302.     new XpAmount = get_pcvar_num( cvar_KillXp );
  303.    
  304.     if( read_data( 3 ) )
  305.     {
  306.         XpAmount += get_pcvar_num( cvar_HsXp );
  307.     }
  308.    
  309.     static sWeapon[ 26 ];
  310.    
  311.     read_data( 4, sWeapon, sizeof( sWeapon ) - 1 );
  312.    
  313.    
  314.     if( equal( sWeapon, "knife" ) )  
  315.     {
  316.         XpAmount += get_pcvar_num( cvar_knifeXp );
  317.     }
  318.    
  319.     iXp[ killer ] += XpAmount;
  320.    
  321.     CheckLevel( killer );
  322.    
  323.     SaveData( killer );
  324.    
  325.     ColorChat( killer, "Nyertél^3 %i^1 XP-t.", XpAmount );
  326.    
  327.     return PLUGIN_HANDLED;
  328. }
  329.  
  330. public FwdPlayerSpawn( id )
  331. {
  332.     ExecuteForward( Forward_spawn, ForwardReturn, id, iLevel[id], iXp[id] );
  333. }
  334.  
  335. public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
  336. {
  337.     if( get_pcvar_num( knife_on ) == 0 )
  338.         return HAM_IGNORED;
  339.     if( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_KNIFE )
  340.     {
  341.         SetHamParamFloat(4, damage + knife_model[attacker]);
  342.        
  343.         return HAM_HANDLED;
  344.     }
  345.    
  346.     return HAM_IGNORED;
  347. }
  348.  
  349. public andskinkinsMenu(id) {
  350.    
  351.     if (get_pcvar_num(knife_on) == 0)
  352.     {
  353.         ColorChat(id, "A mod kikapcsolva.");
  354.         return PLUGIN_HANDLED;
  355.     }
  356.    
  357.     new szItem[256], szAlien[50], szEllium[50], szDark[50], szTransparent[50], szGenuine[50], szHunt[50], szShadow[50], szSlaughterer[50], szKatana[50], szAssasins[50],
  358.     szLightsaber[50], szWolverine[50], szProton[50];
  359.    
  360.     new level = iLevel[id] > 0 ? iLevel[id] : 1;
  361.    
  362.     new xp = level * StartedLevel;
  363.    
  364.     if( iLevel[id] > 0 )
  365.     {
  366.         xp +=  ( xp * 4 / 2 );
  367.     }
  368.    
  369.     formatex(szItem, charsmax(szItem), "\w[ \r%s \w] \y|\rKésrendszer\y| \rv%s^n\ySzinted: \r%d \w- \yXP: \r%d\w/\r%d\w.^n\yOldal:\r", g_VAULTNAME, VERSION,iLevel[id],iXp[id], xp);
  370.     formatex(szAlien, charsmax(szAlien),"%s", iLevel[id] >= 1 ? "\w|\yÁtlátszó\w| \rKés \w[\dFeloldva\w]" : "\d|Átlátszó| Kés [\rSzükséges szint: 1\d]");
  371.     formatex(szEllium, charsmax(szEllium),"%s", iLevel[id] >= 2 ? "\w|\yBuzis\w| \rKés \w[\dFeloldva\w]" : "\d|Buzis| Kés [\rSzükséges szint: 2\d]");
  372.     formatex(szDark, charsmax(szDark),"%s", iLevel[id] >= 3 ? "\w|\ySörös\w| \rKés \w[\dFeloldva\w]" : "\d|Sörös| Kés [\rSzükséges szint: 3\d]");
  373.     formatex(szTransparent, charsmax(szTransparent),"%s", iLevel[id] >= 4 ? "\w|\yTetkós\w| \rKés \w[\dFeloldva\w]" : "\d|Tetkós| Kés [\rSzükséges szint: 4\d]");
  374.     formatex(szGenuine, charsmax(szGenuine),"%s", iLevel[id] >= 5 ? "\w|\yNeon\w| \rKés \w[\dFeloldva\w]" : "\d|Neon| Kés [\rSzükséges szint: 5\d]");
  375.     formatex(szHunt, charsmax(szHunt),"%s", iLevel[id] >= 6 ? "\w|\yDJ\w| \rKés \w[\dFeloldva\w]" : "\d|DJ| Kés [\rSzükséges szint: 6\d]");
  376.     formatex(szShadow, charsmax(szShadow),"%s", iLevel[id] >= 7 ? "\w|\Haláli\w| \rKés \w[\dFeloldva\w]" : "\d|Haláli| Kés [\rSzükséges szint: 7\d]");
  377.     formatex(szSlaughterer, charsmax(szSlaughterer),"%s", iLevel[id] >= 8 ? "\w|\yFigdet Spinner\w| \rKés \w[\dFeloldva\w]" : "\d|Fidget Spinner| Kés [\rSzükséges szint: 8\d]");
  378.     formatex(szKatana, charsmax(szKatana),"%s", iLevel[id] >= 9 ? "\w|\yTiger\w| \rKés \w[\dFeloldva\w]" : "\d|Tiger| Kés [\rSzükséges szint: 9\d]");
  379.     formatex(szAssasins, charsmax(szAssasins),"%s", iLevel[id] >= 10 ? "\w|\yKarma\w| \rKés \w[\dFeloldva\w]" : "\d|Karma| Kés [\rSzükséges szint: 10\d]");
  380.     formatex(szLightsaber, charsmax(szLightsaber),"%s", iLevel[id] >= 11 ? "\w|\yFénykard\w| \rKés \w[\dFeloldva\w]" : "\d|Fénykard| Kés [\rSzükséges szint: 11\d]");
  381.     formatex(szWolverine, charsmax(szWolverine),"%s", iLevel[id] >= 12 ? "\w|\yFarkaskarom\w| \rKés \w[\dFeloldva\w]" : "\d|FarkasKarom| Kés [\rSzükséges szint: 12\d]");
  382.     formatex(szProton, charsmax(szProton),"%s", iLevel[id] >= 13 ? "\w|\yProton\w| \rKés \w[\dFeloldva\w]" : "\d|Proton| Kés [\rSzükséges szint: 13\d]");
  383.    
  384.     new menu = menu_create( szItem, "andskinkinsMenu_Handler" );
  385.     menu_additem(menu, "\wNormal knife \w[\dFeloldva\w]", "", 0 );
  386.     menu_additem(menu, szAlien, "", iLevel[id] >= 1 ? 0 : 1);
  387.     menu_additem(menu, szEllium, "", iLevel[id] >= 2 ? 0 : 1);
  388.     menu_additem(menu, szDark, "", iLevel[id] >= 3 ? 0 : 1);
  389.     menu_additem(menu, szTransparent, "", iLevel[id] >= 4 ? 0 : 1);
  390.     menu_additem(menu, szGenuine, "", iLevel[id] >= 5 ? 0 : 1);
  391.     menu_additem(menu, szHunt, "", iLevel[id] >= 6 ? 0 : 1);
  392.     menu_additem(menu, szShadow, "", iLevel[id] >= 7 ? 0 : 1);
  393.     menu_additem(menu, szSlaughterer, "", iLevel[id] >= 8 ? 0 : 1);
  394.     menu_additem(menu, szKatana, "", iLevel[id] >= 9 ? 0 : 1);
  395.     menu_additem(menu, szAssasins, "", iLevel[id] >= 10 ? 0 : 1);
  396.     menu_additem(menu, szLightsaber, "", iLevel[id] >= 11 ? 0 : 1);
  397.     menu_additem(menu, szWolverine, "", iLevel[id] >= 12 ? 0 : 1);
  398.     menu_additem(menu, szProton, "", iLevel[id] >= 13 ? 0 : 1);
  399.    
  400.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  401.     menu_display(id, menu, 0 );
  402.    
  403.     return PLUGIN_HANDLED;
  404. }
  405.  
  406. public andskinkinsMenu_Handler(id, menu, item)
  407. {
  408.     if(item == MENU_EXIT)
  409.     {
  410.         menu_destroy(menu)
  411.         return PLUGIN_HANDLED
  412.     }
  413.    
  414.     Setknife(id, item);
  415.     ColorChat(id, "A kiválasztott knife: ^4%s^1.", g_knifeNames[item]);
  416.    
  417.     SaveData(id);
  418.     return PLUGIN_HANDLED;
  419. }
  420.  
  421. public Setknife(id, item) {
  422.    
  423.     knife_model[id] = item
  424.    
  425.     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)  
  426.     if ( Weapon != CSW_KNIFE )
  427.         return PLUGIN_HANDLED
  428.    
  429.     new vModel[56],pModel[56]
  430.    
  431.     if (get_pcvar_num(knife_on) == 0)
  432.     {
  433.         format(vModel,55,"models/v_knife.mdl")
  434.         return PLUGIN_HANDLED;
  435.     }
  436.    
  437.     format(vModel,55, g_knifevModels[item])
  438.     format(pModel,55,"models/p_knife.mdl")
  439.     entity_set_string(id, EV_SZ_viewmodel, vModel)
  440.     entity_set_string(id, EV_SZ_weaponmodel, pModel)
  441.    
  442.     return PLUGIN_HANDLED;  
  443. }
  444.  
  445. public PlayerLevelsMenu(id)
  446. {  
  447.     if (get_pcvar_num(knife_on) == 0)
  448.     {
  449.         ColorChat(id, "A mod kikapcsolva.");
  450.         return PLUGIN_HANDLED;
  451.     }
  452.    
  453.     new some[256], menu;
  454.    
  455.     static players[32],szTemp[10],pnum;
  456.     get_players(players,pnum,"ch");
  457.    
  458.     formatex(some,255,"\w[ \r%s \w] \yA játékos szintje:\r", g_VAULTNAME);
  459.    
  460.     menu = menu_create(some,"PlayerLevelsMenu_Handler");
  461.    
  462.     for (new i; i < pnum; i++)
  463.     {
  464.         new level = iLevel[players[i]] > 0 ? iLevel[players[i]] : 1;
  465.        
  466.         new xp = level * StartedLevel;
  467.        
  468.         if( iLevel[players[i]] > 0 )
  469.         {
  470.             xp +=  ( xp * 4 / 2 );
  471.         }
  472.        
  473.         formatex(some,256,"%s \y(Szint: \r%i\y) \w- \y(XP: \r%i\w/\r%i\y)",get_player_name(players[i]), iLevel[players[i]], iXp[players[i]], xp);
  474.         num_to_str(players[i],szTemp,charsmax(szTemp));
  475.         menu_additem(menu, some, szTemp);
  476.     }
  477.    
  478.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  479.     menu_display(id, menu);
  480.    
  481.     return PLUGIN_HANDLED;
  482. }
  483.  
  484. public PlayerLevelsMenu_Handler(id,menu, item){
  485.     if (item == MENU_EXIT)
  486.     {
  487.         menu_destroy(menu);
  488.         return;
  489.     }
  490.    
  491.     new data[6] ,szName[64],access,callback;
  492.    
  493.     menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback);
  494.    
  495.     new player = str_to_num(data);
  496.    
  497.     new level = iLevel[player] > 0 ? iLevel[player] : 1;
  498.    
  499.     new xp = level * StartedLevel;
  500.    
  501.     if( iLevel[player] > 0 )
  502.     {
  503.         xp +=  ( xp * 4 / 2 );
  504.     }
  505.    
  506.     ColorChat(id,"^3%s ^4SZINTJE ^1: ^3%i ^1%i^1/^3%i ^4XP-vel^1.",get_player_name(player), iLevel[player], iXp[player], xp);
  507.     PlayerLevelsMenu(id);
  508. }
  509.  
  510. public CurWeapon(id)
  511. {
  512.     // Set knife Model
  513.     Setknife(id, knife_model[id])
  514. }
  515.  
  516. public givexp(id) {
  517.     if (get_pcvar_num(knife_on) == 0)
  518.     {
  519.         ColorChat(id, "A mod kikapcsolva.");
  520.         return PLUGIN_HANDLED;
  521.     }
  522.    
  523.     if( get_user_flags( id ) & ADMIN_RCON ) {
  524.        
  525.         new PlayerToGive[32], XP[32]
  526.         read_argv(1,PlayerToGive,31)
  527.         read_argv(2,XP, 31)
  528.         new Player = cmd_target(id,PlayerToGive,9)
  529.        
  530.         if(!Player) {
  531.            
  532.             return PLUGIN_HANDLED
  533.            
  534.         }
  535.        
  536.         new XPtoGive = str_to_num(XP)
  537.         new name[32],owner[32]
  538.         get_user_name(id,owner,31)
  539.         get_user_name(Player,name,31)
  540.         ColorChat(0,"^4ADMIN^3 %s^1 adott^4 %s XP-t^3 %s^1 jatekosnak.", owner,XP,name );
  541.         iXp[Player]+= XPtoGive
  542.         CheckLevel(Player);
  543.         SaveData(id)
  544.        
  545.     }
  546.    
  547.     else {
  548.        
  549.         client_print(id,print_console,"Nincs hozzaferesed ehhez a parancshoz")
  550.        
  551.         return PLUGIN_HANDLED
  552.     }
  553.    
  554.     return PLUGIN_HANDLED;
  555. }
  556.  
  557. public takexp(id) {
  558.     if (get_pcvar_num(knife_on) == 0)
  559.     {
  560.         ColorChat(id, "A mod kikapcsolva.");
  561.         return PLUGIN_HANDLED;
  562.     }
  563.    
  564.     if(get_user_flags(id) & ADMIN_RCON ) {
  565.        
  566.        
  567.         new PlayerToTake[32], XP[32]
  568.         read_argv(1,PlayerToTake,31 )
  569.         read_argv(2,XP,31 )
  570.         new Player = cmd_target(id,PlayerToTake,9)
  571.        
  572.         if(!Player) {
  573.            
  574.             return PLUGIN_HANDLED
  575.            
  576.         }
  577.        
  578.         new XPtoTake = str_to_num(XP)
  579.         new name[32],owner[32]
  580.         get_user_name(id,owner,31)
  581.         get_user_name(Player,name,31)
  582.         ColorChat(0,"^4ADMIN^3 %s^1 megvont^4 %s XP-t^3 %s^1 jatekostol.", owner,XP,name );
  583.         iXp[ Player ]-=XPtoTake
  584.         CheckLevel(Player);
  585.         SaveData(id)
  586.        
  587.     }
  588.    
  589.     else {
  590.        
  591.         client_print(id,print_console,"Nincs hozzaferesed ehhez a parancshoz.")
  592.        
  593.         return PLUGIN_HANDLED
  594.        
  595.     }
  596.    
  597.     return PLUGIN_HANDLED;
  598. }
  599.  
  600. public client_disconnect(id) {  
  601.    
  602.     if(task_exists(id)){
  603.         remove_task(id)
  604.     }
  605.     SaveData(id);
  606. }  
  607.  
  608.  
  609. public knifemessage(id) {
  610.    
  611.     if (get_pcvar_num(knife_on) == 0)
  612.         return PLUGIN_HANDLED;
  613.    
  614.     ColorChat(0, "Ird be ^3/knife ^1hogy megnyisd a ^4knife-skinek menut^1.");
  615.     ColorChat(0, "Ezen a szerveren ^4%s ^3v%s^1 by ^4%s^1 mod fut.",g_VAULTNAME, VERSION, AUTHOR)
  616.     return PLUGIN_HANDLED;
  617. }  
  618.  
  619. public Levelmessage(id) {
  620.    
  621.     if (get_pcvar_num(knife_on) == 0)
  622.         return PLUGIN_HANDLED;
  623.    
  624.     ColorChat(0,"Megtekintheted a ^4Jatekosok szintjeit. ^1Ird be ^3/szintek ^1.");
  625.     return PLUGIN_HANDLED;
  626. }
  627.  
  628. public client_putinserver(id) LoadData(id);
  629.  
  630. public SaveData(id){
  631.    
  632.     new authid[32]
  633.     get_user_authid(id, authid, 31)
  634.    
  635.     new vaultkey[64]
  636.     new vaultdata[64]
  637.    
  638.     format(vaultkey, 63, "knifeMOD_%s", authid)
  639.     format(vaultdata, 63, "%d", knife_model[id])
  640.     set_vaultdata(vaultkey, vaultdata)
  641.    
  642.     new data[ 16 ];
  643.    
  644.     get_user_authid( id, authid, sizeof( authid ) - 1 );
  645.    
  646.     formatex( data, sizeof( data ) - 1, "%d %d", iLevel[id], iXp[id] );
  647.    
  648.     fvault_set_data(g_VAULTNAME, authid, data );
  649.    
  650.     return;
  651.    
  652.    
  653. }
  654.  
  655. public LoadData(id){
  656.    
  657.     new authid[32]  
  658.     get_user_authid(id,authid,31)
  659.    
  660.     new vaultkey[64], vaultdata[64]
  661.    
  662.     format(vaultkey, 63, "knifeMOD_%s", authid)
  663.     get_vaultdata(vaultkey, vaultdata, 63)
  664.     knife_model[id] = str_to_num(vaultdata)
  665.    
  666.     new data[ 16 ], szLevel[ 8 ], szXp[ 8 ];
  667.    
  668.     get_user_authid( id, authid, sizeof( authid ) - 1 );
  669.    
  670.     if( fvault_get_data(g_VAULTNAME, authid, data, sizeof( data ) - 1 ) )
  671.     {
  672.         strbreak( data, szLevel, sizeof( szLevel ) - 1, szXp, sizeof( szXp ) - 1 );
  673.        
  674.         iLevel[id] = str_to_num( szLevel );
  675.         iXp[id] = str_to_num( szXp );
  676.        
  677.         return;
  678.     }
  679.     else
  680.     {
  681.         iLevel[id] = 0;
  682.         iXp[id] = 0;
  683.        
  684.         return;
  685.     }
  686. }
  687.  
  688. stock get_player_name(id){
  689.     static szName[32];
  690.     get_user_name(id,szName,31);
  691.     return szName;
  692. }
  693.  
  694. stock ColorChat( const id, const string[ ], { Float, Sql, Resul, _ } : ... )
  695. {
  696. new msg[ 191 ], players[ 32 ], count = 1;
  697.  
  698. static len;
  699. len = formatex( msg, charsmax( msg ), "^x04[^x01Kés^x04 ]^x01 " );
  700. vformat( msg[ len ], charsmax( msg ) - len, string, 3 );
  701.  
  702. if( id )
  703.     players[ 0 ] = id;
  704.     else
  705.         get_players( players,count,"ch" );
  706.    
  707.     for( new i = 0; i < count; i++ )
  708.     {
  709.         if( is_user_connected( players[i] ) )
  710.         {
  711.             message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _ , players[ i ] );
  712.             write_byte( players[ i ] );
  713.             write_string( msg );
  714.             message_end( );
  715.         }
  716.     }
  717. }
  718. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  719. *{\\ rtf1\\ fbidis\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ ltrpar\\ lang1033\\ f0\\ fs16 \n\\ par }
  720. */


Gondolom azért tünnek el mert nincs mentés, vagy eleve meg sem kapja.

Szerző:  luxi [ 2017.07.13. 12:22 ]
Hozzászólás témája:  Re: Knife skins menü hiba!

nemtudom

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