hlmod.hu
https://hlmod.hu/

Kés menü
https://hlmod.hu/viewtopic.php?f=93&t=29122
Oldal: 1 / 1

Szerző:  Dance[bwsk] [ 2018.07.03. 21:38 ]
Hozzászólás témája:  Kés menü

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

Szerző:  Supra [ 2018.07.03. 21:54 ]
Hozzászólás témája:  Re: Kés menü

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

mit ir ki hibanak ?

Szerző:  Dance[bwsk] [ 2018.07.04. 10:16 ]
Hozzászólás témája:  Re: Kés menü

AMX Mod X Compiler 1.8.3-manual
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2013 AMX Mod X Team

Modified for www.Freakz.ro / amx.freakz.ro

include_183/ham_const.inc(1859) : warning 200: symbol "Ham_DOD_Weapon_PlayerIsWaterSni" is truncated to 31 characters
include_183/ham_const.inc(2628) : warning 200: symbol "Ham_ESF_Weapon_HolsterWhenMelee" is truncated to 31 characters
include_183/ham_const.inc(2697) : warning 200: symbol "Ham_NS_EffectivePlayerClassChan" is truncated to 31 characters
include_183/ham_const.inc(2802) : warning 200: symbol "Ham_NS_Weapon_GetWeaponPrimeTim" is truncated to 31 characters
include_183/ham_const.inc(2826) : warning 200: symbol "Ham_NS_Weapon_GetIsWeaponPrimin" is truncated to 31 characters
include_183/ham_const.inc(3271) : warning 200: symbol "Ham_SC_CheckAndApplyGenericAtta" is truncated to 31 characters
include_183/ham_const.inc(3320) : warning 200: symbol "Ham_SC_Player_MenuInputPerforme" is truncated to 31 characters
include_183/ham_const.inc(3416) : warning 200: symbol "Ham_SC_Player_TimeToStartNextVo" is truncated to 31 characters
include_183/ham_const.inc(3448) : warning 200: symbol "Ham_SC_Player_DisableCollisionW" is truncated to 31 characters
include_183/ham_const.inc(3456) : warning 200: symbol "Ham_SC_Player_EnableCollisionWi" is truncated to 31 characters
include_183/ham_const.inc(3530) : warning 200: symbol "Ham_SC_Weapon_PrecacheCustomMod" is truncated to 31 characters
include_183/ham_const.inc(3631) : warning 200: symbol "Ham_TFC_Weapon_GetNextAttackDel" is truncated to 31 characters
include_183/ham_const.inc(3699) : warning 200: symbol "Ham_OPF_MySquadTalkMonsterPoint" is truncated to 31 characters
amxmodx_19136-Knife-Skins.sma(54) : error 029: invalid expression, assumed zero
amxmodx_19136-Knife-Skins.sma(54) : error 008: must be a constant expression; assumed zero
amxmodx_19136-Knife-Skins.sma(73) : error 029: invalid expression, assumed zero
amxmodx_19136-Knife-Skins.sma(73) : warning 218: old style prototypes used with optional semicolumns
amxmodx_19136-Knife-Skins.sma(84) : error 004: function "register_maxlevels" is not implemented
amxmodx_19136-Knife-Skins.sma(385) : error 017: undefined symbol "szSplatch"
amxmodx_19136-Knife-Skins.sma(385) : warning 215: expression has no effect
amxmodx_19136-Knife-Skins.sma(385) : warning 215: expression has no effect
amxmodx_19136-Knife-Skins.sma(385) : error 001: expected token: ";", but found ")"
amxmodx_19136-Knife-Skins.sma(385) : error 029: invalid expression, assumed zero
amxmodx_19136-Knife-Skins.sma(385) : fatal error 107: too many error messages on one line

Compilation aborted.
8 Errors.
Done.

Szerző:  Supra [ 2018.07.04. 12:23 ]
Hozzászólás témája:  Re: Kés menü

  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. "Splatch Kes",
  42. "Shadow Kes",
  43. "Karambit1",
  44. "Marbel",
  45. "kunai Kes",
  46. "Karambit2",
  47. "Karacsonyi kes",
  48. "Bayonet",
  49. "Specialis kes",
  50. "Aonikenk kes",
  51. "Magma kes",
  52. "Axe Balta",
  53. "Autotronic kes"
  54. };
  55.  
  56. new const g_KnifevModels[][256] =
  57. {
  58. "models/v_knife.mdl",
  59. "models/black_knifes/v_knife_splatch.mdl",  
  60. "models/black_knifes/v_knife_shadow.mdl",
  61. "models/black_knifes/v_knife_navi.mdl",
  62. "models/black_knifes/v_knife_marbel.mdl",
  63. "models/black_knifes/v_knife_kunai.mdl",
  64. "models/black_knifes/v_knife_karambit.mdl",
  65. "models/black_knifes/v_knife_karacsony.mdl",
  66. "models/black_knifes/v_knife_bayonet.mdl",
  67. "models/black_knifes/v_knife_specialist.mdl",
  68. "models/black_knifes/v_knife_aonikenk.mdl",
  69. "models/black_knifes/v_knife_magma.mdl",
  70. "models/black_knifes/v_knife_axe.mdl",
  71. "models/black_knifes/v_knife_autotronic.mdl"
  72.  
  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", "black_knifeskinsMenu");
  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/black_knifes/v_knife_splatch.mdl")  
  130.     precache_model("models/black_knifes/v_knife_shadow.mdl")  
  131.     precache_model("models/black_knifes/v_knife_navi.mdl")
  132.     precache_model("models/black_knifes/v_knife_marbel.mdl")
  133.     precache_model("models/black_knifes/v_knife_kunai.mdl")
  134.     precache_model("models/black_knifes/v_knife_karambit.mdl")
  135.     precache_model("models/black_knifes/v_knife_karacsony.mdl")
  136.     precache_model("models/black_knifes/v_knife_bayonet.mdl")
  137.     precache_model("models/black_knifes/v_knife_specialist.mdl")
  138.     precache_model("models/black_knifes/v_knife_aonikenk.mdl")
  139.     precache_model("models/black_knifes/v_knife_magma.mdl")
  140.     precache_model("models/black_knifes/v_knife_axe.mdl")
  141.     precache_model("models/black_knifes/v_knife_autotronic.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,"^4Gratulalunk!^1 Szintet leptel! Uj^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, "Nyertel^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.    
  340.     if( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_KNIFE )
  341.     {
  342.         SetHamParamFloat(4, damage + knife_model[attacker]);
  343.        
  344.         return HAM_HANDLED;
  345.     }
  346.    
  347.     return HAM_IGNORED;
  348. }
  349.  
  350. public black_knifeskinsMenu(id) {
  351.    
  352.     if (get_pcvar_num(knife_on) == 0)
  353.     {
  354.         ColorChat(id, "A mod kikapcsolva.");
  355.         return PLUGIN_HANDLED;
  356.     }
  357.    
  358.     new szItem[256], szAlien[50], szEllium[50], szDark[50], szTransparent[50], szGenuine[50], szHunt[50], szShadow[50], szSlaughterer[50], szKatana[50], szAssasins[50],
  359.     szLightsaber[50], szWolverine[50], szProton[50];
  360.    
  361.     new level = iLevel[id] > 0 ? iLevel[id] : 1;
  362.    
  363.     new xp = level * StartedLevel;
  364.    
  365.     if( iLevel[id] > 0 )
  366.     {
  367.         xp +=  ( xp * 4 / 2 );
  368.     }
  369.    
  370.     formatex(szItem, charsmax(szItem), "\w[ \r%s \w] \yKes-skinek menu by milky \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);
  371.     formatex(szAlien, charsmax(szAlien),"%s", iLevel[id] >= 1 ? "\wSplatch Kes [\yFELOLDVA\w]" : "\d???? ????? [\rSZUKSEGES SZINT: 1\d]");
  372.     formatex(szEllium, charsmax(szEllium),"%s", iLevel[id] >= 2 ? "\wShadow Kes [\yFELOLDVA\w]" : "\d?????? ?????? [\rSZUKSEGES SZINT: 2\d]");
  373.     formatex(szDark, charsmax(szDark),"%s", iLevel[id] >= 3 ? "\wKarambit1 [\yFELOLDVA\w]" : "\d???? ?????? [\rSZUKSEGES SZINT: 3\d]");
  374.     formatex(szTransparent, charsmax(szTransparent),"%s", iLevel[id] >= 4 ? "\wMarbel [\yFELOLDVA\w]" : "\d??????????? ????? [\rSZUKSEGES SZINT: 4\d]");
  375.     formatex(szGenuine, charsmax(szGenuine),"%s", iLevel[id] >= 5 ? "\wkunai Kes [\yFELOLDVA\w]" : "\d??????? ?????? [\rSZUKSEGES SZINT: 5\d]");
  376.     formatex(szHunt, charsmax(szHunt),"%s", iLevel[id] >= 6 ? "\wKarambit2 [\yFELOLDVA\w]" : "\d???? ????? [\rSZUKSEGES SZINT: 6\d]");
  377.     formatex(szShadow, charsmax(szShadow),"%s", iLevel[id] >= 7 ? "\wKaracsonyi kes [\yFELOLDVA\w]" : "\d?????? ????? [\rSZUKSEGES SZINT: 7\d]");
  378.     formatex(szSlaughterer, charsmax(szSlaughterer),"%s", iLevel[id] >= 8 ? "\wBayonet [\yFELOLDVA\w]" : "\d??????????? ??? [\rSZUKSEGES SZINT: 8\d]");
  379.     formatex(szKatana, charsmax(szKatana),"%s", iLevel[id] >= 9 ? "\wSpecialis kes [\yFELOLDVA\w]" : "\d?????? ?????? [\rSZUKSEGES SZINT: 9\d]");
  380.     formatex(szAssasins, charsmax(szAssasins),"%s", iLevel[id] >= 10 ? "\wAonikenk kes [\yFELOLDVA\w]" : "\d???????? ????? [\rSZUKSEGES SZINT: 10\d]");
  381.     formatex(szLightsaber, charsmax(szLightsaber),"%s", iLevel[id] >= 11 ? "\wMagma kes [\yFELOLDVA\w]" : "\d?????????? [\rSZUKSEGES SZINT: 11\d]");
  382.     formatex(szWolverine, charsmax(szWolverine),"%s", iLevel[id] >= 12 ? "\wAxe Balta [\yFELOLDVA\w]" : "\d?????? ????????? ????? [\rSZUKSEGES SZINT: 12\d]");
  383.     formatex(szProton, charsmax(szProton),"%s", iLevel[id] >= 13 ? "\wAutotronic kes [\yFELOLDVA\w]" : "\d?????? ??? [\rSZUKSEGES SZINT: 13\d]");
  384.    
  385.     new menu = menu_create( szItem, "black_knifeskinsMenu_Handler" );
  386.     menu_additem(menu, "\wNormal Kes [\yFELOLDVA\w]", "", 0 );
  387.     menu_additem(menu, szAlien, "", iLevel[id] >= 1 ? 0 : 1);
  388.     menu_additem(menu, szEllium, "", iLevel[id] >= 2 ? 0 : 1);
  389.     menu_additem(menu, szDark, "", iLevel[id] >= 3 ? 0 : 1);
  390.     menu_additem(menu, szTransparent, "", iLevel[id] >= 4 ? 0 : 1);
  391.     menu_additem(menu, szGenuine, "", iLevel[id] >= 5 ? 0 : 1);
  392.     menu_additem(menu, szHunt, "", iLevel[id] >= 6 ? 0 : 1);
  393.     menu_additem(menu, szShadow, "", iLevel[id] >= 7 ? 0 : 1);
  394.     menu_additem(menu, szSlaughterer, "", iLevel[id] >= 8 ? 0 : 1);
  395.     menu_additem(menu, szKatana, "", iLevel[id] >= 9 ? 0 : 1);
  396.     menu_additem(menu, szAssasins, "", iLevel[id] >= 10 ? 0 : 1);
  397.     menu_additem(menu, szLightsaber, "", iLevel[id] >= 11 ? 0 : 1);
  398.     menu_additem(menu, szWolverine, "", iLevel[id] >= 12 ? 0 : 1);
  399.     menu_additem(menu, szProton, "", iLevel[id] >= 13 ? 0 : 1);
  400.    
  401.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  402.     menu_display(id, menu, 0 );
  403.    
  404.     return PLUGIN_HANDLED;
  405. }
  406.  
  407. public black_knifeskinsMenu_Handler(id, menu, item)
  408. {
  409.     if(item == MENU_EXIT)
  410.     {
  411.         menu_destroy(menu)
  412.         return PLUGIN_HANDLED
  413.     }
  414.    
  415.     SetKnife(id, item);
  416.     ColorChat(id, "A kivalasztott kes: ^4%s^1.", g_KnifeNames[item]);
  417.    
  418.     SaveData(id);
  419.     return PLUGIN_HANDLED;
  420. }
  421.  
  422. public SetKnife(id, item) {
  423.    
  424.     knife_model[id] = item
  425.    
  426.     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)  
  427.     if ( Weapon != CSW_KNIFE )
  428.         return PLUGIN_HANDLED
  429.    
  430.     new vModel[56],pModel[56]
  431.    
  432.     if (get_pcvar_num(knife_on) == 0)
  433.     {
  434.         format(vModel,55,"models/v_knife.mdl")
  435.         return PLUGIN_HANDLED;
  436.     }
  437.    
  438.     format(vModel,55, g_KnifevModels[item])
  439.     format(pModel,55,"models/p_knife.mdl")
  440.     entity_set_string(id, EV_SZ_viewmodel, vModel)
  441.     entity_set_string(id, EV_SZ_weaponmodel, pModel)
  442.    
  443.     return PLUGIN_HANDLED;  
  444. }
  445.  
  446. public PlayerLevelsMenu(id)
  447. {  
  448.     if (get_pcvar_num(knife_on) == 0)
  449.     {
  450.         ColorChat(id, "A mod kikapcsolva.");
  451.         return PLUGIN_HANDLED;
  452.     }
  453.    
  454.     new some[256], menu;
  455.    
  456.     static players[32],szTemp[10],pnum;
  457.     get_players(players,pnum,"ch");
  458.    
  459.     formatex(some,255,"\w[ \r%s \w] \yA jatekos szintje:\r", g_VAULTNAME);
  460.    
  461.     menu = menu_create(some,"PlayerLevelsMenu_Handler");
  462.    
  463.     for (new i; i < pnum; i++)
  464.     {
  465.         new level = iLevel[players[i]] > 0 ? iLevel[players[i]] : 1;
  466.        
  467.         new xp = level * StartedLevel;
  468.        
  469.         if( iLevel[players[i]] > 0 )
  470.         {
  471.             xp +=  ( xp * 4 / 2 );
  472.         }
  473.        
  474.         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);
  475.         num_to_str(players[i],szTemp,charsmax(szTemp));
  476.         menu_additem(menu, some, szTemp);
  477.     }
  478.    
  479.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  480.     menu_display(id, menu);
  481.    
  482.     return PLUGIN_HANDLED;
  483. }
  484.  
  485. public PlayerLevelsMenu_Handler(id,menu, item){
  486.     if (item == MENU_EXIT)
  487.     {
  488.         menu_destroy(menu);
  489.         return;
  490.     }
  491.    
  492.     new data[6] ,szName[64],access,callback;
  493.    
  494.     menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback);
  495.    
  496.     new player = str_to_num(data);
  497.    
  498.     new level = iLevel[player] > 0 ? iLevel[player] : 1;
  499.    
  500.     new xp = level * StartedLevel;
  501.    
  502.     if( iLevel[player] > 0 )
  503.     {
  504.         xp +=  ( xp * 4 / 2 );
  505.     }
  506.    
  507.     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);
  508.     PlayerLevelsMenu(id);
  509. }
  510.  
  511. public CurWeapon(id)
  512. {
  513.     // Set Knife Model
  514.     SetKnife(id, knife_model[id])
  515. }
  516.  
  517. public givexp(id) {
  518.     if (get_pcvar_num(knife_on) == 0)
  519.     {
  520.         ColorChat(id, "A mod kikapcsolva.");
  521.         return PLUGIN_HANDLED;
  522.     }
  523.    
  524.     if( get_user_flags( id ) & ADMIN_RCON ) {
  525.        
  526.         new PlayerToGive[32], XP[32]
  527.         read_argv(1,PlayerToGive,31)
  528.         read_argv(2,XP, 31)
  529.         new Player = cmd_target(id,PlayerToGive,9)
  530.        
  531.         if(!Player) {
  532.            
  533.             return PLUGIN_HANDLED
  534.            
  535.         }
  536.        
  537.         new XPtoGive = str_to_num(XP)
  538.         new name[32],owner[32]
  539.         get_user_name(id,owner,31)
  540.         get_user_name(Player,name,31)
  541.         ColorChat(0,"^4ADMIN^3 %s^1 adott^4 %s XP-t^3 %s^1 jatekosnak.", owner,XP,name );
  542.         iXp[Player]+= XPtoGive
  543.         CheckLevel(Player);
  544.         SaveData(id)
  545.        
  546.     }
  547.    
  548.     else {
  549.        
  550.         client_print(id,print_console,"Nincs hozzaferesed ehhez a parancshoz")
  551.        
  552.         return PLUGIN_HANDLED
  553.     }
  554.    
  555.     return PLUGIN_HANDLED;
  556. }
  557.  
  558. public takexp(id) {
  559.     if (get_pcvar_num(knife_on) == 0)
  560.     {
  561.         ColorChat(id, "A mod kikapcsolva.");
  562.         return PLUGIN_HANDLED;
  563.     }
  564.    
  565.     if(get_user_flags(id) & ADMIN_RCON ) {
  566.        
  567.        
  568.         new PlayerToTake[32], XP[32]
  569.         read_argv(1,PlayerToTake,31 )
  570.         read_argv(2,XP,31 )
  571.         new Player = cmd_target(id,PlayerToTake,9)
  572.        
  573.         if(!Player) {
  574.            
  575.             return PLUGIN_HANDLED
  576.            
  577.         }
  578.        
  579.         new XPtoTake = str_to_num(XP)
  580.         new name[32],owner[32]
  581.         get_user_name(id,owner,31)
  582.         get_user_name(Player,name,31)
  583.         ColorChat(0,"^4ADMIN^3 %s^1 megvont^4 %s XP-t^3 %s^1 jatekostol.", owner,XP,name );
  584.         iXp[ Player ]-=XPtoTake
  585.         CheckLevel(Player);
  586.         SaveData(id)
  587.        
  588.     }
  589.    
  590.     else {
  591.        
  592.         client_print(id,print_console,"Nincs hozzaferesed ehhez a parancshoz.")
  593.        
  594.         return PLUGIN_HANDLED
  595.        
  596.     }
  597.    
  598.     return PLUGIN_HANDLED;
  599. }
  600.  
  601. public client_disconnect(id) {  
  602.    
  603.     if(task_exists(id)){
  604.         remove_task(id)
  605.     }
  606.     SaveData(id);
  607. }  
  608.  
  609.  
  610. public Knifemessage(id) {
  611.    
  612.     if (get_pcvar_num(knife_on) == 0)
  613.         return PLUGIN_HANDLED;
  614.    
  615.     ColorChat(0, "Ird be ^3/kes ^1hogy megnyisd a ^4Kes-skinek menut^1.");
  616.     ColorChat(0, "Ezen a szerveren ^4%s ^3v%s^1 by ^4%s^1 mod fut.",g_VAULTNAME, VERSION, AUTHOR)
  617.     return PLUGIN_HANDLED;
  618. }  
  619.  
  620. public Levelmessage(id) {
  621.    
  622.     if (get_pcvar_num(knife_on) == 0)
  623.         return PLUGIN_HANDLED;
  624.    
  625.     ColorChat(0,"Megtekintheted a ^4Jatekosok szintjeit. ^1Ird be ^3/szintek ^1.");
  626.     return PLUGIN_HANDLED;
  627. }
  628.  
  629. public client_putinserver(id) LoadData(id);
  630.  
  631. public SaveData(id){
  632.    
  633.     new authid[32]
  634.     get_user_authid(id, authid, 31)
  635.    
  636.     new vaultkey[64]
  637.     new vaultdata[64]
  638.    
  639.     format(vaultkey, 63, "KNIFEMOD_%s", authid)
  640.     format(vaultdata, 63, "%d", knife_model[id])
  641.     set_vaultdata(vaultkey, vaultdata)
  642.    
  643.     new data[ 16 ];
  644.    
  645.     get_user_authid( id, authid, sizeof( authid ) - 1 );
  646.    
  647.     formatex( data, sizeof( data ) - 1, "%d %d", iLevel[id], iXp[id] );
  648.    
  649.     fvault_set_data(g_VAULTNAME, authid, data );
  650.    
  651.     return;
  652.    
  653.    
  654. }
  655.  
  656. public LoadData(id){
  657.    
  658.     new authid[32]  
  659.     get_user_authid(id,authid,31)
  660.    
  661.     new vaultkey[64], vaultdata[64]
  662.    
  663.     format(vaultkey, 63, "KNIFEMOD_%s", authid)
  664.     get_vaultdata(vaultkey, vaultdata, 63)
  665.     knife_model[id] = str_to_num(vaultdata)
  666.    
  667.     new data[ 16 ], szLevel[ 8 ], szXp[ 8 ];
  668.    
  669.     get_user_authid( id, authid, sizeof( authid ) - 1 );
  670.    
  671.     if( fvault_get_data(g_VAULTNAME, authid, data, sizeof( data ) - 1 ) )
  672.     {
  673.         strbreak( data, szLevel, sizeof( szLevel ) - 1, szXp, sizeof( szXp ) - 1 );
  674.        
  675.         iLevel[id] = str_to_num( szLevel );
  676.         iXp[id] = str_to_num( szXp );
  677.        
  678.         return;
  679.     }
  680.     else
  681.     {
  682.         iLevel[id] = 0;
  683.         iXp[id] = 0;
  684.        
  685.         return;
  686.     }
  687. }
  688.  
  689. stock get_player_name(id){
  690.     static szName[32];
  691.     get_user_name(id,szName,31);
  692.     return szName;
  693. }
  694.  
  695. stock ColorChat( const id, const string[ ], { Float, Sql, Resul, _ } : ... )
  696. {
  697. new msg[ 191 ], players[ 32 ], count = 1;
  698.  
  699. static len;
  700. len = formatex( msg, charsmax( msg ), "^x04[^x01 Kes-skinek^x04 ]^x01 " );
  701. vformat( msg[ len ], charsmax( msg ) - len, string, 3 );
  702.  
  703. if( id )
  704.     players[ 0 ] = id;
  705.     else
  706.         get_players( players,count,"ch" );
  707.    
  708.     for( new i = 0; i < count; i++ )
  709.     {
  710.         if( is_user_connected( players[i] ) )
  711.         {
  712.             message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _ , players[ i ] );
  713.             write_byte( players[ i ] );
  714.             write_string( msg );
  715.             message_end( );
  716.         }
  717.     }
  718. }

tessek

Szerző:  Dance[bwsk] [ 2018.07.07. 09:01 ]
Hozzászólás témája:  Re: Kés menü

Supra írta:
  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. "Splatch Kes",
  42. "Shadow Kes",
  43. "Karambit1",
  44. "Marbel",
  45. "kunai Kes",
  46. "Karambit2",
  47. "Karacsonyi kes",
  48. "Bayonet",
  49. "Specialis kes",
  50. "Aonikenk kes",
  51. "Magma kes",
  52. "Axe Balta",
  53. "Autotronic kes"
  54. };
  55.  
  56. new const g_KnifevModels[][256] =
  57. {
  58. "models/v_knife.mdl",
  59. "models/black_knifes/v_knife_splatch.mdl",  
  60. "models/black_knifes/v_knife_shadow.mdl",
  61. "models/black_knifes/v_knife_navi.mdl",
  62. "models/black_knifes/v_knife_marbel.mdl",
  63. "models/black_knifes/v_knife_kunai.mdl",
  64. "models/black_knifes/v_knife_karambit.mdl",
  65. "models/black_knifes/v_knife_karacsony.mdl",
  66. "models/black_knifes/v_knife_bayonet.mdl",
  67. "models/black_knifes/v_knife_specialist.mdl",
  68. "models/black_knifes/v_knife_aonikenk.mdl",
  69. "models/black_knifes/v_knife_magma.mdl",
  70. "models/black_knifes/v_knife_axe.mdl",
  71. "models/black_knifes/v_knife_autotronic.mdl"
  72.  
  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", "black_knifeskinsMenu");
  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/black_knifes/v_knife_splatch.mdl")  
  130.     precache_model("models/black_knifes/v_knife_shadow.mdl")  
  131.     precache_model("models/black_knifes/v_knife_navi.mdl")
  132.     precache_model("models/black_knifes/v_knife_marbel.mdl")
  133.     precache_model("models/black_knifes/v_knife_kunai.mdl")
  134.     precache_model("models/black_knifes/v_knife_karambit.mdl")
  135.     precache_model("models/black_knifes/v_knife_karacsony.mdl")
  136.     precache_model("models/black_knifes/v_knife_bayonet.mdl")
  137.     precache_model("models/black_knifes/v_knife_specialist.mdl")
  138.     precache_model("models/black_knifes/v_knife_aonikenk.mdl")
  139.     precache_model("models/black_knifes/v_knife_magma.mdl")
  140.     precache_model("models/black_knifes/v_knife_axe.mdl")
  141.     precache_model("models/black_knifes/v_knife_autotronic.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,"^4Gratulalunk!^1 Szintet leptel! Uj^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, "Nyertel^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.    
  340.     if( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_KNIFE )
  341.     {
  342.         SetHamParamFloat(4, damage + knife_model[attacker]);
  343.        
  344.         return HAM_HANDLED;
  345.     }
  346.    
  347.     return HAM_IGNORED;
  348. }
  349.  
  350. public black_knifeskinsMenu(id) {
  351.    
  352.     if (get_pcvar_num(knife_on) == 0)
  353.     {
  354.         ColorChat(id, "A mod kikapcsolva.");
  355.         return PLUGIN_HANDLED;
  356.     }
  357.    
  358.     new szItem[256], szAlien[50], szEllium[50], szDark[50], szTransparent[50], szGenuine[50], szHunt[50], szShadow[50], szSlaughterer[50], szKatana[50], szAssasins[50],
  359.     szLightsaber[50], szWolverine[50], szProton[50];
  360.    
  361.     new level = iLevel[id] > 0 ? iLevel[id] : 1;
  362.    
  363.     new xp = level * StartedLevel;
  364.    
  365.     if( iLevel[id] > 0 )
  366.     {
  367.         xp +=  ( xp * 4 / 2 );
  368.     }
  369.    
  370.     formatex(szItem, charsmax(szItem), "\w[ \r%s \w] \yKes-skinek menu by milky \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);
  371.     formatex(szAlien, charsmax(szAlien),"%s", iLevel[id] >= 1 ? "\wSplatch Kes [\yFELOLDVA\w]" : "\d???? ????? [\rSZUKSEGES SZINT: 1\d]");
  372.     formatex(szEllium, charsmax(szEllium),"%s", iLevel[id] >= 2 ? "\wShadow Kes [\yFELOLDVA\w]" : "\d?????? ?????? [\rSZUKSEGES SZINT: 2\d]");
  373.     formatex(szDark, charsmax(szDark),"%s", iLevel[id] >= 3 ? "\wKarambit1 [\yFELOLDVA\w]" : "\d???? ?????? [\rSZUKSEGES SZINT: 3\d]");
  374.     formatex(szTransparent, charsmax(szTransparent),"%s", iLevel[id] >= 4 ? "\wMarbel [\yFELOLDVA\w]" : "\d??????????? ????? [\rSZUKSEGES SZINT: 4\d]");
  375.     formatex(szGenuine, charsmax(szGenuine),"%s", iLevel[id] >= 5 ? "\wkunai Kes [\yFELOLDVA\w]" : "\d??????? ?????? [\rSZUKSEGES SZINT: 5\d]");
  376.     formatex(szHunt, charsmax(szHunt),"%s", iLevel[id] >= 6 ? "\wKarambit2 [\yFELOLDVA\w]" : "\d???? ????? [\rSZUKSEGES SZINT: 6\d]");
  377.     formatex(szShadow, charsmax(szShadow),"%s", iLevel[id] >= 7 ? "\wKaracsonyi kes [\yFELOLDVA\w]" : "\d?????? ????? [\rSZUKSEGES SZINT: 7\d]");
  378.     formatex(szSlaughterer, charsmax(szSlaughterer),"%s", iLevel[id] >= 8 ? "\wBayonet [\yFELOLDVA\w]" : "\d??????????? ??? [\rSZUKSEGES SZINT: 8\d]");
  379.     formatex(szKatana, charsmax(szKatana),"%s", iLevel[id] >= 9 ? "\wSpecialis kes [\yFELOLDVA\w]" : "\d?????? ?????? [\rSZUKSEGES SZINT: 9\d]");
  380.     formatex(szAssasins, charsmax(szAssasins),"%s", iLevel[id] >= 10 ? "\wAonikenk kes [\yFELOLDVA\w]" : "\d???????? ????? [\rSZUKSEGES SZINT: 10\d]");
  381.     formatex(szLightsaber, charsmax(szLightsaber),"%s", iLevel[id] >= 11 ? "\wMagma kes [\yFELOLDVA\w]" : "\d?????????? [\rSZUKSEGES SZINT: 11\d]");
  382.     formatex(szWolverine, charsmax(szWolverine),"%s", iLevel[id] >= 12 ? "\wAxe Balta [\yFELOLDVA\w]" : "\d?????? ????????? ????? [\rSZUKSEGES SZINT: 12\d]");
  383.     formatex(szProton, charsmax(szProton),"%s", iLevel[id] >= 13 ? "\wAutotronic kes [\yFELOLDVA\w]" : "\d?????? ??? [\rSZUKSEGES SZINT: 13\d]");
  384.    
  385.     new menu = menu_create( szItem, "black_knifeskinsMenu_Handler" );
  386.     menu_additem(menu, "\wNormal Kes [\yFELOLDVA\w]", "", 0 );
  387.     menu_additem(menu, szAlien, "", iLevel[id] >= 1 ? 0 : 1);
  388.     menu_additem(menu, szEllium, "", iLevel[id] >= 2 ? 0 : 1);
  389.     menu_additem(menu, szDark, "", iLevel[id] >= 3 ? 0 : 1);
  390.     menu_additem(menu, szTransparent, "", iLevel[id] >= 4 ? 0 : 1);
  391.     menu_additem(menu, szGenuine, "", iLevel[id] >= 5 ? 0 : 1);
  392.     menu_additem(menu, szHunt, "", iLevel[id] >= 6 ? 0 : 1);
  393.     menu_additem(menu, szShadow, "", iLevel[id] >= 7 ? 0 : 1);
  394.     menu_additem(menu, szSlaughterer, "", iLevel[id] >= 8 ? 0 : 1);
  395.     menu_additem(menu, szKatana, "", iLevel[id] >= 9 ? 0 : 1);
  396.     menu_additem(menu, szAssasins, "", iLevel[id] >= 10 ? 0 : 1);
  397.     menu_additem(menu, szLightsaber, "", iLevel[id] >= 11 ? 0 : 1);
  398.     menu_additem(menu, szWolverine, "", iLevel[id] >= 12 ? 0 : 1);
  399.     menu_additem(menu, szProton, "", iLevel[id] >= 13 ? 0 : 1);
  400.    
  401.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  402.     menu_display(id, menu, 0 );
  403.    
  404.     return PLUGIN_HANDLED;
  405. }
  406.  
  407. public black_knifeskinsMenu_Handler(id, menu, item)
  408. {
  409.     if(item == MENU_EXIT)
  410.     {
  411.         menu_destroy(menu)
  412.         return PLUGIN_HANDLED
  413.     }
  414.    
  415.     SetKnife(id, item);
  416.     ColorChat(id, "A kivalasztott kes: ^4%s^1.", g_KnifeNames[item]);
  417.    
  418.     SaveData(id);
  419.     return PLUGIN_HANDLED;
  420. }
  421.  
  422. public SetKnife(id, item) {
  423.    
  424.     knife_model[id] = item
  425.    
  426.     new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)  
  427.     if ( Weapon != CSW_KNIFE )
  428.         return PLUGIN_HANDLED
  429.    
  430.     new vModel[56],pModel[56]
  431.    
  432.     if (get_pcvar_num(knife_on) == 0)
  433.     {
  434.         format(vModel,55,"models/v_knife.mdl")
  435.         return PLUGIN_HANDLED;
  436.     }
  437.    
  438.     format(vModel,55, g_KnifevModels[item])
  439.     format(pModel,55,"models/p_knife.mdl")
  440.     entity_set_string(id, EV_SZ_viewmodel, vModel)
  441.     entity_set_string(id, EV_SZ_weaponmodel, pModel)
  442.    
  443.     return PLUGIN_HANDLED;  
  444. }
  445.  
  446. public PlayerLevelsMenu(id)
  447. {  
  448.     if (get_pcvar_num(knife_on) == 0)
  449.     {
  450.         ColorChat(id, "A mod kikapcsolva.");
  451.         return PLUGIN_HANDLED;
  452.     }
  453.    
  454.     new some[256], menu;
  455.    
  456.     static players[32],szTemp[10],pnum;
  457.     get_players(players,pnum,"ch");
  458.    
  459.     formatex(some,255,"\w[ \r%s \w] \yA jatekos szintje:\r", g_VAULTNAME);
  460.    
  461.     menu = menu_create(some,"PlayerLevelsMenu_Handler");
  462.    
  463.     for (new i; i < pnum; i++)
  464.     {
  465.         new level = iLevel[players[i]] > 0 ? iLevel[players[i]] : 1;
  466.        
  467.         new xp = level * StartedLevel;
  468.        
  469.         if( iLevel[players[i]] > 0 )
  470.         {
  471.             xp +=  ( xp * 4 / 2 );
  472.         }
  473.        
  474.         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);
  475.         num_to_str(players[i],szTemp,charsmax(szTemp));
  476.         menu_additem(menu, some, szTemp);
  477.     }
  478.    
  479.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
  480.     menu_display(id, menu);
  481.    
  482.     return PLUGIN_HANDLED;
  483. }
  484.  
  485. public PlayerLevelsMenu_Handler(id,menu, item){
  486.     if (item == MENU_EXIT)
  487.     {
  488.         menu_destroy(menu);
  489.         return;
  490.     }
  491.    
  492.     new data[6] ,szName[64],access,callback;
  493.    
  494.     menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback);
  495.    
  496.     new player = str_to_num(data);
  497.    
  498.     new level = iLevel[player] > 0 ? iLevel[player] : 1;
  499.    
  500.     new xp = level * StartedLevel;
  501.    
  502.     if( iLevel[player] > 0 )
  503.     {
  504.         xp +=  ( xp * 4 / 2 );
  505.     }
  506.    
  507.     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);
  508.     PlayerLevelsMenu(id);
  509. }
  510.  
  511. public CurWeapon(id)
  512. {
  513.     // Set Knife Model
  514.     SetKnife(id, knife_model[id])
  515. }
  516.  
  517. public givexp(id) {
  518.     if (get_pcvar_num(knife_on) == 0)
  519.     {
  520.         ColorChat(id, "A mod kikapcsolva.");
  521.         return PLUGIN_HANDLED;
  522.     }
  523.    
  524.     if( get_user_flags( id ) & ADMIN_RCON ) {
  525.        
  526.         new PlayerToGive[32], XP[32]
  527.         read_argv(1,PlayerToGive,31)
  528.         read_argv(2,XP, 31)
  529.         new Player = cmd_target(id,PlayerToGive,9)
  530.        
  531.         if(!Player) {
  532.            
  533.             return PLUGIN_HANDLED
  534.            
  535.         }
  536.        
  537.         new XPtoGive = str_to_num(XP)
  538.         new name[32],owner[32]
  539.         get_user_name(id,owner,31)
  540.         get_user_name(Player,name,31)
  541.         ColorChat(0,"^4ADMIN^3 %s^1 adott^4 %s XP-t^3 %s^1 jatekosnak.", owner,XP,name );
  542.         iXp[Player]+= XPtoGive
  543.         CheckLevel(Player);
  544.         SaveData(id)
  545.        
  546.     }
  547.    
  548.     else {
  549.        
  550.         client_print(id,print_console,"Nincs hozzaferesed ehhez a parancshoz")
  551.        
  552.         return PLUGIN_HANDLED
  553.     }
  554.    
  555.     return PLUGIN_HANDLED;
  556. }
  557.  
  558. public takexp(id) {
  559.     if (get_pcvar_num(knife_on) == 0)
  560.     {
  561.         ColorChat(id, "A mod kikapcsolva.");
  562.         return PLUGIN_HANDLED;
  563.     }
  564.    
  565.     if(get_user_flags(id) & ADMIN_RCON ) {
  566.        
  567.        
  568.         new PlayerToTake[32], XP[32]
  569.         read_argv(1,PlayerToTake,31 )
  570.         read_argv(2,XP,31 )
  571.         new Player = cmd_target(id,PlayerToTake,9)
  572.        
  573.         if(!Player) {
  574.            
  575.             return PLUGIN_HANDLED
  576.            
  577.         }
  578.        
  579.         new XPtoTake = str_to_num(XP)
  580.         new name[32],owner[32]
  581.         get_user_name(id,owner,31)
  582.         get_user_name(Player,name,31)
  583.         ColorChat(0,"^4ADMIN^3 %s^1 megvont^4 %s XP-t^3 %s^1 jatekostol.", owner,XP,name );
  584.         iXp[ Player ]-=XPtoTake
  585.         CheckLevel(Player);
  586.         SaveData(id)
  587.        
  588.     }
  589.    
  590.     else {
  591.        
  592.         client_print(id,print_console,"Nincs hozzaferesed ehhez a parancshoz.")
  593.        
  594.         return PLUGIN_HANDLED
  595.        
  596.     }
  597.    
  598.     return PLUGIN_HANDLED;
  599. }
  600.  
  601. public client_disconnect(id) {  
  602.    
  603.     if(task_exists(id)){
  604.         remove_task(id)
  605.     }
  606.     SaveData(id);
  607. }  
  608.  
  609.  
  610. public Knifemessage(id) {
  611.    
  612.     if (get_pcvar_num(knife_on) == 0)
  613.         return PLUGIN_HANDLED;
  614.    
  615.     ColorChat(0, "Ird be ^3/kes ^1hogy megnyisd a ^4Kes-skinek menut^1.");
  616.     ColorChat(0, "Ezen a szerveren ^4%s ^3v%s^1 by ^4%s^1 mod fut.",g_VAULTNAME, VERSION, AUTHOR)
  617.     return PLUGIN_HANDLED;
  618. }  
  619.  
  620. public Levelmessage(id) {
  621.    
  622.     if (get_pcvar_num(knife_on) == 0)
  623.         return PLUGIN_HANDLED;
  624.    
  625.     ColorChat(0,"Megtekintheted a ^4Jatekosok szintjeit. ^1Ird be ^3/szintek ^1.");
  626.     return PLUGIN_HANDLED;
  627. }
  628.  
  629. public client_putinserver(id) LoadData(id);
  630.  
  631. public SaveData(id){
  632.    
  633.     new authid[32]
  634.     get_user_authid(id, authid, 31)
  635.    
  636.     new vaultkey[64]
  637.     new vaultdata[64]
  638.    
  639.     format(vaultkey, 63, "KNIFEMOD_%s", authid)
  640.     format(vaultdata, 63, "%d", knife_model[id])
  641.     set_vaultdata(vaultkey, vaultdata)
  642.    
  643.     new data[ 16 ];
  644.    
  645.     get_user_authid( id, authid, sizeof( authid ) - 1 );
  646.    
  647.     formatex( data, sizeof( data ) - 1, "%d %d", iLevel[id], iXp[id] );
  648.    
  649.     fvault_set_data(g_VAULTNAME, authid, data );
  650.    
  651.     return;
  652.    
  653.    
  654. }
  655.  
  656. public LoadData(id){
  657.    
  658.     new authid[32]  
  659.     get_user_authid(id,authid,31)
  660.    
  661.     new vaultkey[64], vaultdata[64]
  662.    
  663.     format(vaultkey, 63, "KNIFEMOD_%s", authid)
  664.     get_vaultdata(vaultkey, vaultdata, 63)
  665.     knife_model[id] = str_to_num(vaultdata)
  666.    
  667.     new data[ 16 ], szLevel[ 8 ], szXp[ 8 ];
  668.    
  669.     get_user_authid( id, authid, sizeof( authid ) - 1 );
  670.    
  671.     if( fvault_get_data(g_VAULTNAME, authid, data, sizeof( data ) - 1 ) )
  672.     {
  673.         strbreak( data, szLevel, sizeof( szLevel ) - 1, szXp, sizeof( szXp ) - 1 );
  674.        
  675.         iLevel[id] = str_to_num( szLevel );
  676.         iXp[id] = str_to_num( szXp );
  677.        
  678.         return;
  679.     }
  680.     else
  681.     {
  682.         iLevel[id] = 0;
  683.         iXp[id] = 0;
  684.        
  685.         return;
  686.     }
  687. }
  688.  
  689. stock get_player_name(id){
  690.     static szName[32];
  691.     get_user_name(id,szName,31);
  692.     return szName;
  693. }
  694.  
  695. stock ColorChat( const id, const string[ ], { Float, Sql, Resul, _ } : ... )
  696. {
  697. new msg[ 191 ], players[ 32 ], count = 1;
  698.  
  699. static len;
  700. len = formatex( msg, charsmax( msg ), "^x04[^x01 Kes-skinek^x04 ]^x01 " );
  701. vformat( msg[ len ], charsmax( msg ) - len, string, 3 );
  702.  
  703. if( id )
  704.     players[ 0 ] = id;
  705.     else
  706.         get_players( players,count,"ch" );
  707.    
  708.     for( new i = 0; i < count; i++ )
  709.     {
  710.         if( is_user_connected( players[i] ) )
  711.         {
  712.             message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _ , players[ i ] );
  713.             write_byte( players[ i ] );
  714.             write_string( msg );
  715.             message_end( );
  716.         }
  717.     }
  718. }

tessek


Nem tudod úgy megcsinálni hogy ingyen kapja a kést ne pontért?És azt hogy írja a rendes nevüket ne kérdő jelet írjon! Köszönöm :)

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