hlmod.hu

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



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 5 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Kés menü
HozzászólásElküldve: 2018.07.03. 21:38 
Offline
Tag
Avatar

Csatlakozott: 2017.09.16. 11:05
Hozzászólások: 38
Megköszönt másnak: 14 alkalommal
Megköszönték neki: 1 alkalommal
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. */

_________________
Done.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Kés menü
HozzászólásElküldve: 2018.07.03. 21:54 
Offline
Tud valamit
Avatar

Csatlakozott: 2018.02.07. 01:13
Hozzászólások: 127
Megköszönt másnak: 7 alkalommal
Megköszönték neki: 25 alkalommal
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 ?


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Kés menü
HozzászólásElküldve: 2018.07.04. 10:16 
Offline
Tag
Avatar

Csatlakozott: 2017.09.16. 11:05
Hozzászólások: 38
Megköszönt másnak: 14 alkalommal
Megköszönték neki: 1 alkalommal
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.

_________________
Done.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Kés menü
HozzászólásElküldve: 2018.07.04. 12:23 
Offline
Tud valamit
Avatar

Csatlakozott: 2018.02.07. 01:13
Hozzászólások: 127
Megköszönt másnak: 7 alkalommal
Megköszönték neki: 25 alkalommal
  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

Ők köszönték meg Supra nek ezt a hozzászólást: Dance[bwsk] (2018.07.04. 12:25)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Kés menü
HozzászólásElküldve: 2018.07.07. 09:01 
Offline
Tag
Avatar

Csatlakozott: 2017.09.16. 11:05
Hozzászólások: 38
Megköszönt másnak: 14 alkalommal
Megköszönték neki: 1 alkalommal
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 :)

_________________
Done.


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 5 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole