hlmod.hu
https://hlmod.hu/

Befejezetlen DeathRun menü.
https://hlmod.hu/viewtopic.php?f=10&t=27075
Oldal: 1 / 1

Szerző:  The Peace [ 2017.01.15. 17:03 ]
Hozzászólás témája:  Befejezetlen DeathRun menü.

Üdvözletem!

Mivel rám írtatok 1 páran , és én nem akarom egyenként elküldeni mindenkinek, de ide kirakom egyéb topic-ba akinek kell használja.., modellt mindenki magának állít elő / tölt le, vagy felmegy az én szerveremre.


Forrás
  1. #define KESZITO "s[T]* Levii"
  2. #define STEAMOM "http://steamcommunity.com/id/stuplevii"
  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <fun>
  6. #include <hamsandwich>
  7. #include <cstrike>
  8. #include <fakemeta>
  9.  
  10. #define MAX 5   // Átírni ha több USP-t írsz vagy veszel el belőle
  11.  
  12. #define MinimumPont 1
  13. #define MaximumPont 3
  14.  
  15. #define Prefx = "DeathRun" // Üzenet Prefix
  16.  
  17.  
  18. new Szint[33],Xp[33],Pont[33],Olesek[33],Elet[33]
  19.  
  20. new knife[33]
  21. new const Kesek[][][] = {
  22.     // Kes Neve |    Szint |  Eleresi út
  23.     { "Alap KĂ©s","\rMegszerezve",       "models/v_knife.mdl" },  // 0
  24.     { "Gyors KĂ©s | \d(+5% SebessĂ©g)",  "\r5.Szintol",       "models/st_deathrun/kes/v_gyors.mdl" },  // 1
  25.     { "Gravitacio KĂ©s |\d(-20% Grav)",    "\r10.Szintol",      "models/st_deathrun/kes/v_gravi.mdl" }, // 2
  26.     { "SzáguldĂł KĂ©s |\d(+15% sebesseg)",  "\r15.Szintol",      "models/st_deathrun/kes/v_szaguldo_v2.mdl" }, // 3
  27.     { "SebzĂ©s KĂ©s |\r\d(+30% SebzĂ©s)",  "\r20. Szintol",     "models/st_deathrun/kes/v_sebzes.mdl" } // 4
  28. };
  29.  
  30. new const Level[] = {0,  5,  10, 15 , 20}
  31. new const Float:sebesseg[] = {250.0,  260.0 ,  250.0  ,  280.0 ,  250.0}
  32. new const Float:gravity[] = {1.0 ,  1.0 ,  0.84 ,  1.0 ,  1.0}
  33.  
  34.  
  35. new kivalasztottUSP[33]
  36. new const Usp[][][] = {
  37.     // Usp Neve |    Pont |  Eleresi Ăşt
  38.     { "Sima USP","", "models/v_usp.mdl" }, // 0
  39.     { "Spitfire USP | \y(+1.2x DMG)" ,"250 Pont", "models/st_deathrun/usp/v_spitfire.mdl" },  // 1
  40.     { "Tűz USP | \y(+1.3x DMG)" ,"350 Pont", "models/st_deathrun/usp/v_tuz.mdl" }, // 2
  41.     { "TerepMintás USP | \y(+1.5x DMG)" ,"750 Pont","models/st_deathrun/usp/v_terepmintas.mdl" }, // 3
  42.     { "EzĂĽst USP | \y(+1.6x DMG)" ,"1250 Pont", "models/st_deathrun/usp/v_ezust.mdl" } // 4
  43. };
  44.  
  45. new const Points[] = {0,250,350, 750,1250, 1750, 2000, 2500, 2950, 3500,4550,5000,8000,15000,20000}
  46. new const Float:dmg[] = {1.0, 1.2, 1.3, 1.5, 1.6, 1.8, 2.0, 2.1, 2.2, 2.3, 2.4, 2.4, 2.5, 2.5 , 2.6}
  47. new pistol[sizeof(Usp)][33]
  48.  
  49. public plugin_init(){
  50.     register_plugin(" DeathRun Menu ", " 1.0 ", " s[T]* Levii ");
  51.    
  52.     register_clcmd( "chooseteam","Mymenu" )
  53.     register_clcmd( "say /menu","Mymenu" )
  54.    
  55.     register_event( "CurWeapon", "SwitchGuns", "be", "1=1" )
  56.     RegisterHam( Ham_TakeDamage, "player", "damagetake" )
  57.    
  58.     register_dictionary( "deathrunmenu.txt" );
  59. }
  60. public client_death(Killer, Victim)
  61. {
  62.     if(Killer == Victim)
  63.     {
  64.         return PLUGIN_HANDLED;
  65.     }
  66.    
  67.     Olesek[Killer]++;
  68.    
  69.    
  70.     new pPont
  71.     pPont += random_num(MinimumPont, MaximumPont); //A szerkesztéshez a DEFINE-t írd át.
  72.     Pont[Killer] += pPont;
  73.    
  74.     set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
  75.     show_hudmessage(Killer, "%L", LANG_PLAYER, "KAPOTTPONT", pPont);
  76.    
  77.     if(Szint[Killer] >= 0 && Szint[Killer] < 5){
  78.         Xp[Killer] += random_num(20,30)
  79.     }
  80.     else if(Szint[Killer] >= 5 && Szint[Killer] < 100){
  81.         Xp[Killer] += random_num(1,3)
  82.     }
  83.    
  84.     if(Xp[Killer] >= 100)
  85.     {
  86.         Szint[Killer]++
  87.         Xp[Killer] -= 100
  88.     }
  89.    
  90.     return PLUGIN_CONTINUE;
  91. }
  92. public Mymenu(id)
  93. {
  94.     static String[512];
  95.     formatex(String, charsmax(String), "%L", LANG_PLAYER, "FOMENUCIM", Szint[id],Xp[id],Pont[id]);
  96.     new menu = menu_create(String, "my_handler" );
  97.    
  98.     formatex(String, charsmax(String), "%L", LANG_PLAYER, "FOMENU1");
  99.     menu_additem(menu, String, "1");
  100.     formatex(String, charsmax(String), "%L", LANG_PLAYER, "FOMENU2");
  101.     menu_additem(menu, String, "2");
  102.     formatex(String, charsmax(String), "%L", LANG_PLAYER, "FOMENU3");
  103.     menu_additem(menu, String, "3");
  104.     formatex(String, charsmax(String), "%L", LANG_PLAYER, "FOMENU4");
  105.     menu_additem(menu, String, "4");
  106.    
  107.     menu_display(id, menu, 0);
  108. }
  109. public my_handler(id, menu, item)
  110. {
  111.     if(item == MENU_EXIT)
  112.     {
  113.         menu_destroy(menu);
  114.         return;
  115.     }
  116.     new data[9], name[64], Gomb;
  117.     new access, callback;
  118.     menu_item_getinfo(menu, item, access, data,charsmax(data),
  119.     name, charsmax(name), callback);
  120.    
  121.     Gomb = str_to_num(data);
  122.    
  123.     if(Gomb == 1)
  124.         MyKnife(id)
  125.     if(Gomb == 2)
  126.         MyUsp(id)
  127.     if(Gomb == 3)
  128.         MyShop(id)
  129.     if(Gomb == 4)
  130.         Myinformation(id)
  131. }
  132. public MyShop(id)
  133. {
  134.     static String[512];
  135.     formatex(String, charsmax(String), "%L", LANG_PLAYER, "FOMENUCIM", Szint[id],Xp[id],Pont[id]);
  136.     new menu = menu_create(String, "myshop_handler" );
  137.    
  138.     formatex(String, charsmax(String), "%L", LANG_PLAYER, "BOLT0");
  139.     menu_additem(menu, String, "0");
  140.     formatex(String, charsmax(String), "%L", LANG_PLAYER, "BOLT1");
  141.     menu_additem(menu, String, "1");
  142.     formatex(String, charsmax(String), "%L", LANG_PLAYER, "BOLT2");
  143.     menu_additem(menu, String, "2");
  144.     formatex(String, charsmax(String), "%L", LANG_PLAYER, "BOLT3");
  145.     menu_additem(menu, String, "3");
  146.     menu_display(id, menu, 0);
  147. }
  148. public myshop_handler(id, menu, item)
  149. {
  150.     if(item == MENU_EXIT)
  151.     {
  152.         menu_destroy(menu);
  153.         return;
  154.     }
  155.     new data[9], name[64], Gomb;
  156.     new access, callback;
  157.     menu_item_getinfo(menu, item, access, data,charsmax(data),
  158.     name, charsmax(name), callback);
  159.    
  160.     Gomb = str_to_num(data);
  161.    
  162.     if(Gomb == 0){
  163.         if(Szint[id] < 15 && Pont[id] >= 120)
  164.         {
  165.             Szint[id] += 1;Pont[id] -=120
  166.             print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "SIKERES")
  167.         }
  168.         else if(Pont[id] < 120 && Szint[id] < 15)
  169.             print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "KEVESPONT")  
  170.         else if(Szint[id] >= 15)
  171.             print_color(id, "!g[DeathRun]!y Te nem tudsz továbbá szintet venni, mert elĂ©rted a 15.szintet!")
  172.     }
  173.     if(Gomb == 1){
  174.         if(Pont[id] >= 24 )
  175.         {
  176.             Pont[id] -= 24;set_user_health(id,get_user_health(id) + 25)
  177.             print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "SIKERES")
  178.         }
  179.         else{ print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "KEVESPONT")
  180.         }
  181.     }
  182.     if(Gomb ==2){
  183.         if(Pont[id] >= 19)
  184.         {
  185.             Pont[id] -= 19;set_user_armor(id,get_user_armor(id) + 25)
  186.             print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "SIKERES")
  187.         }
  188.         else{ print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "KEVESPONT")
  189.         }
  190.     }
  191.     if(Gomb ==3){
  192.         if(Pont[id] >= 6 )
  193.         {
  194.             Elet[id] += 1;Pont[ id ] -= 6
  195.             print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "SIKERES")
  196.         }
  197.         else{ print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "KEVESPONT")
  198.         }
  199.     }
  200. }
  201. public MyKnife(id)
  202. {
  203.     new txt[128]
  204.     static String[512];
  205.     formatex(String, charsmax(String), "%L", LANG_PLAYER, "FOMENUCIM", Szint[id],Xp[id],Pont[id]);
  206.     new menu = menu_create(String, "myknife_handler" );
  207.    
  208.     for(new i; i<sizeof(Kesek) ; i++)
  209.     {
  210.         formatex(txt, charsmax(txt), "%s%s \d%s", knife[id] == i ? "\y" : "\w", Kesek[i][0], Szint[id] >= Level[i] ? "\r[Szint Elerve]" : Kesek[i][1])
  211.         menu_additem(menu, txt, "", 0)
  212.     }
  213.    
  214.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  215.     menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  216.     menu_setprop(menu, MPROP_NEXTNAME, "Következo");
  217.     menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");
  218.    
  219.     menu_display(id, menu, 0)
  220.    
  221. }
  222. public myknife_handler(id, menu, item)
  223. {
  224.     if(item == MENU_EXIT)
  225.     {
  226.         menu_destroy(menu);
  227.         return PLUGIN_HANDLED;
  228.     }
  229.     if(Szint[id] >= Level[item]){
  230.         knife[id] = item
  231.         print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "SIKERES")
  232.         MyKnife(id)
  233.     }
  234.     else{
  235.         print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "KEVESSZINT")
  236.         MyKnife(id)
  237.     }
  238.     menu_destroy(menu);
  239.     return PLUGIN_HANDLED;
  240.    
  241. }
  242. public MyUsp(id)
  243. {
  244.     new txt[128],txt1[128]
  245.     static String[512];
  246.     formatex(String, charsmax(String), "%L", LANG_PLAYER, "FOMENUCIM", Szint[id],Xp[id],Pont[id]);
  247.     new menu = menu_create(String, "myusp_handler" );
  248.    
  249.     for(new i; i<sizeof(Usp) ; i++)
  250.     {
  251.         formatex(txt1, charsmax(txt1), "\r[Megszerezve]",pistol[i][id])
  252.         formatex(txt, charsmax(txt), "%s%s \r%s",kivalasztottUSP[id] == i ? "\r" : "\w",Usp[i][0], pistol[i][id] >= 1 ? txt1 : Usp[i][1],pistol[i][id])
  253.         menu_additem(menu, txt, "", 0)
  254.     }
  255.    
  256.     menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  257.     menu_setprop(menu, MPROP_NEXTNAME, "Következo");
  258.     menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");
  259.    
  260.     menu_display(id, menu, 0)
  261.    
  262. }
  263. public myusp_handler(id, menu, item)
  264. {
  265.     if(item == MENU_EXIT)
  266.     {
  267.         menu_destroy(menu);
  268.         return PLUGIN_HANDLED;
  269.     }
  270.     if(pistol[item][id] == 0){
  271.         if(Pont[id] >= Points[item])
  272.         {
  273.             print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "SIKERES")
  274.             pistol[item][id]++;
  275.             Pont[id] -= Points[item]
  276.             MyUsp(id)
  277.         }
  278.         else print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "KEVESPONT")
  279.     }
  280.     else {
  281.         kivalasztottUSP[id] = item
  282.         print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "SIKERES")
  283.         MyUsp(id)
  284.     }
  285.     menu_destroy(menu);
  286.     return PLUGIN_HANDLED;
  287. }
  288. public Myinformation( id )
  289. {
  290.    
  291.     new szMenuName[ 512 ]
  292.    
  293.     formatex( szMenuName, sizeof( szMenuName ) -1, "\y| \dDeathRun MenĂĽ\y|^n^n^n\y| \rKĂ©szĂ­tĹ‘je: \ds[T]* Levii\y| ^n \y| \rVerziĂł: \d1.0 \y|")
  294.    
  295.     show_menu( id, (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9), szMenuName, -1, "Myinformation_handler" );
  296. }
  297. public Myinformation_handler( id, iKey )
  298. {
  299.     switch( iKey )
  300.     {
  301.         case 0:
  302.         {
  303.            
  304.             Myinformation( id );
  305.         }
  306.        
  307.         case 1..9:    return;
  308.         }
  309. }
  310. public damagetake(victim, inflictor, attacker, Float:damage) {
  311.    
  312.     if(is_user_alive(attacker) && is_user_alive(victim))
  313.     {
  314.         if(get_user_weapon(attacker) == CSW_KNIFE && knife[attacker] == 4) SetHamParamFloat(4, damage * 1.3)
  315.         if(get_user_weapon(attacker) == CSW_USP) SetHamParamFloat(4, damage * dmg[kivalasztottUSP[attacker]])
  316.        
  317.     }
  318. }
  319. public SwitchGuns(id) {
  320.     switch(get_user_weapon(id)){
  321.         case CSW_KNIFE:{
  322.             set_pev(id, pev_viewmodel2, Kesek[knife[id]][2]);
  323.             set_user_maxspeed(id, sebesseg[knife[id]])
  324.             set_user_gravity(id, gravity[knife[id]])
  325.            
  326.         }
  327.         case CSW_USP: {
  328.             set_pev(id, pev_viewmodel2, Usp[kivalasztottUSP[id]][2]);
  329.             set_user_maxspeed(id, 250.0)
  330.             set_user_gravity(id, 1.0)
  331.         }
  332.     }
  333. }
  334. public plugin_precache(){
  335.     for(new i = 0; i < sizeof(Kesek); i++)
  336.         precache_model(Kesek[i][2])
  337.     for(new i = 0; i < sizeof(Usp); i++)
  338.         precache_model(Usp[i][2])
  339. }
  340. public Ujraeledes(id) {
  341.     if(!is_user_alive( id ))
  342.         if(Elet[id] >= 1 ) {
  343.         ExecuteHam(Ham_CS_RoundRespawn, id)
  344.         Elet[id] -=1
  345.         print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "UJRAELEDTEL")
  346.     }
  347. }
  348. public Eletem(id)
  349. {
  350.     print_color(id, "!g[DeathRun]!y %L ",Elet[id],LANG_PLAYER, "ELET")
  351. }
  352. public client_connect(id)
  353. {
  354.     betoltes(id)
  355.     Szint[id] = 0
  356.     Xp[id] = 0
  357.     Pont[id] = 0
  358.     Olesek[id] = 0
  359.     Elet[id] = 0
  360.     knife[id] = 0
  361.     kivalasztottUSP[id] = 0
  362.     for(new i=0; i <= MAX-1; i++)
  363.     {
  364.         pistol[i][id] = 0
  365.     }
  366. }
  367. public client_disconnect(id)
  368. {
  369.     mentes(id)
  370. }
  371. public mentes(id) {
  372.     if(is_user_connected(id))
  373.     {
  374.         new file[192], nm[32], mentes[512]
  375.         get_user_name(id, nm, 31)
  376.         replace_all(nm, 31, "/", "_")
  377.         replace_all(nm, 31, "?", "_")
  378.         replace_all(nm, 31, "!", "_")
  379.         replace_all(nm, 31, "*", "_")
  380.         replace_all(nm, 31, "#", "_")
  381.         replace_all(nm, 31, "=", "_")
  382.         replace_all(nm, 31, "-", "_")
  383.         replace_all(nm, 31, "+", "_")
  384.         replace_all(nm, 31, ",", "_")
  385.         replace_all(nm, 31, "@", "_")
  386.         replace_all(nm, 31, "&", "_")
  387.         replace_all(nm, 31, "{", "_")
  388.         replace_all(nm, 31, "}", "_")
  389.         replace_all(nm, 31, "~", "_")
  390.         replace_all(nm, 31, ":", "_")
  391.         replace_all(nm, 31, ".", "_")
  392.         replace_all(nm, 31, "<", "_")
  393.         replace_all(nm, 31, ">", "_")
  394.         replace_all(nm, 31, "|", "_")
  395.         formatex(file, charsmax(file), "addons/amxmodx/configs/deathrun/%s.ini", nm)
  396.         delete_file(file)
  397.         format(mentes, charsmax(mentes), "%d %d %d %d %d %d %d %d",Szint[id],Xp[id],Pont[id],Olesek[id],Elet[id],knife[id],kivalasztottUSP[id],pistol[id])
  398.         write_file(file, mentes)
  399.     }
  400. }
  401. public betoltes(id)
  402. {
  403.     if(is_user_connected(id))
  404.     {
  405.         new file[192], nm[32]
  406.         get_user_name(id, nm, 31)
  407.         replace_all(nm, 31, "/", "_")
  408.         replace_all(nm, 31, "?", "_")
  409.         replace_all(nm, 31, "!", "_")
  410.         replace_all(nm, 31, "*", "_")
  411.         replace_all(nm, 31, "#", "_")
  412.         replace_all(nm, 31, "=", "_")
  413.         replace_all(nm, 31, "-", "_")
  414.         replace_all(nm, 31, "+", "_")
  415.         replace_all(nm, 31, ",", "_")
  416.         replace_all(nm, 31, "@", "_")
  417.         replace_all(nm, 31, "&", "_")
  418.         replace_all(nm, 31, "{", "_")
  419.         replace_all(nm, 31, "}", "_")
  420.         replace_all(nm, 31, "~", "_")
  421.         replace_all(nm, 31, ":", "_")
  422.         replace_all(nm, 31, ".", "_")
  423.         replace_all(nm, 31, "<", "_")
  424.         replace_all(nm, 31, ">", "_")
  425.         replace_all(nm, 31, "|", "_")
  426.         formatex(file, charsmax(file), "addons/amxmodx/configs/deathrun/%s.ini", nm)
  427.         new file_pointer = fopen(file, "r")
  428.         if(!file_pointer)
  429.         {
  430.             write_file(file, "0 0 0 0 0 0 0 0 0")
  431.             return PLUGIN_HANDLED
  432.         }
  433.         fclose(file_pointer)
  434.         new lines = file_size(file, 1)
  435.         new a1[32], a2[32], a3[32], a4[32], a5[32], a6[32], a7[32], a8[32]
  436.         if(lines > 0)
  437.         {
  438.             new buff[512], len
  439.             read_file(file, lines=0, buff, charsmax(buff), len)
  440.             parse(buff, a1, 31, a2, 31, a3, 31, a4, 31, a5, 31, a6, 31, a7, 31, a8, 31)
  441.             Szint[id] = str_to_num(a1)
  442.             Xp[id] = str_to_num(a2)
  443.             Pont[id] = str_to_num(a3)
  444.             Olesek[id] = str_to_num(a4)
  445.             Elet[id] = str_to_num(a5)
  446.             knife[id] = str_to_num(a6)
  447.             kivalasztottUSP[id] = str_to_num(a7)
  448.            
  449.             for(new i=0; i <= MAX-1; i++)
  450.             {
  451.                 pistol[i][id] = str_to_num(a8)
  452.             }
  453.            
  454.            
  455.         }
  456.     }
  457.     return PLUGIN_HANDLED
  458. }
  459.  
  460. stock print_color(const id, const input[], any:...)
  461. {
  462.     new count = 1, players[32]
  463.     static msg[2048]
  464.     vformat(msg, 2047, input, 3)
  465.    
  466.     replace_all(msg, 190, "!g", "^4")
  467.     replace_all(msg, 190, "!y", "^1")
  468.     replace_all(msg, 190, "!t", "^3")
  469.    
  470.    
  471.     if (id) players[0] = id; else get_players(players, count, "ch")
  472.     {
  473.     for (new i = 0; i < count; i++)
  474.     {
  475.         if (is_user_connected(players[i]))
  476.         {
  477.             message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  478.             write_byte(players[i])
  479.             write_string(msg)
  480.             message_end()
  481.         }
  482.     }
  483. }
  484.     return PLUGIN_HANDLED
  485. }



txt:

English fordítása: ( [profil]pixxa112[/profil] )

► Spoiler mutatása


És szívesen hallgatok profibbaktól építő jellegű kritikát, sőt annak még örülnék is!:)

Szerző:  JohanCorn [ 2017.01.16. 12:35 ]
Hozzászólás témája:  Re: Befejezettlen DeathRun menü.

Negatívum, hogy sok helyen nem használod az 'else' kifejezést. Ami miatt lehetne akár kevésbé terhelő is.
Továbbá a 8. 9. 0. menüpontokat nem tetted többnyelvűvé és feltűnt, hogy a [hu] és [en] tagok alatt is magyar fordítás található.

A többdimenziós tömböket én is jobban szeretem, de ha már használod, akkor miért nem egybe raksz mindent? Az összes érék a fegyver tulajdonságaira gyakorol hatást, emiatt nem is tartom szükségesnek külön venni az értékeket, mint sebesség, vagy a gravitáció.

A jelenlegi fegyver lekérdezés meg ezen a módon szerintem nem túl kifizetődő. Ha az fegyver elővételt Hook-olnád, akkor kímélőbb lenne.

Szerző:  The Peace [ 2017.01.16. 15:03 ]
Hozzászólás témája:  Re: Befejezettlen DeathRun menü.

JohanCorn írta:
Negatívum, hogy sok helyen nem használod az 'else' kifejezést. Ami miatt lehetne akár kevésbé terhelő is.
Továbbá a 8. 9. 0. menüpontokat nem tetted többnyelvűvé és feltűnt, hogy a [hu] és [en] tagok alatt is magyar fordítás található.

A többdimenziós tömböket én is jobban szeretem, de ha már használod, akkor miért nem egybe raksz mindent? Az összes érék a fegyver tulajdonságaira gyakorol hatást, emiatt nem is tartom szükségesnek külön venni az értékeket, mint sebesség, vagy a gravitáció.

A jelenlegi fegyver lekérdezés meg ezen a módon szerintem nem túl kifizetődő. Ha az fegyver elővételt Hook-olnád, akkor kímélőbb lenne.


Naaa, ezt már szeretem, erre vártam igazából.


'else'-ről:

Jelenlegi:
  1. if(pistol[item][id] == 0){
  2.         if(Pont[id] >= Points[item])
  3.         {
  4.             print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "SIKERES")
  5.             pistol[item][id]++;
  6.             Pont[id] -= Points[item]
  7.             MyUsp(id)
  8.         }
  9.         else print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "KEVESPONT")
  10.     }



És ahogy te szeretnéd? (ahogy nem annyira terhelő?)

  1. if(pistol[item][id] == 0){
  2.         if(Pont[id] >= Points[item])
  3.         {
  4.             print_color(id, "!g[DeathRun]!y %L",LANG_PLAYER, "SIKERES")
  5.             pistol[item][id]++;
  6.             Pont[id] -= Points[item]
  7.             MyUsp(id)
  8.     }


8.9.0 menüpont:

  1. menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  2.     menu_setprop(menu, MPROP_NEXTNAME, "Következo");
  3.     menu_setprop(menu, MPROP_EXITNAME, "KilĂ©pĂ©s");


Ahogy te akarod:

Igazam van?
  1. menu_setprop(menu, MPROP_BACKNAME, LANG_PLAYER, "VISSZA");
  2. menu_setprop(menu, MPROP_NEXTNAME, LANG_PLAYER, "KOVETKEZO");
  3. menu_setprop(menu, MPROP_EXITNAME, LANG_PLAYER, "KILEP");


1 pár szó a fordításról:

Igazából a címbe is kiszemelhető ez hogy "befejezettlen menü" és ezálltal arra a részre még nem tértem, de ha valaki unatkozik ,az lefordíthatja Angol-ra és kirakom úgy.



"A többdimenziós tömböket én is jobban szeretem, de ha már használod, akkor miért nem egybe raksz mindent? Az összes érék a fegyver tulajdonságaira gyakorol hatást, emiatt nem is tartom szükségesnek külön venni az értékeket, mint sebesség, vagy a gravitáció."

- Most megfogtál, mert ezt nem igazán értem ,hogy hogyan szeretnéd!


"Fegyver Hook"

- Most bele néztem az egyik forrásodba, és látom van 1 ilyen "hook"-olás

*Idézve*
  1. public weapon_hook(id)
  2. {
  3.     engclient_cmd(id, "weapon_awp");
  4.  
  5.     return PLUGIN_HANDLED;
  6. }


de viszont ennek nem lenne jelentős része, hisz ha felrakod magát a DR módot (mert ez csak menü), akkor minden rendben lesz! :D

#Köszönöm a választ!

Szerző:  JohanCorn [ 2017.01.16. 16:18 ]
Hozzászólás témája:  Re: Befejezettlen DeathRun menü.

Az else ágazást igazából a 125. sorra gondoltam első körben és nem a fent említettre.

A 8.9.0. pontokra is format, vagy formatex funkciókkal hasonlóképpen mint minden nyelves sorodban.

A Hook-ot nem így értettem, hanem már meglévő eseménnyel összekapcsolásra, a kifejezést egy angol fórumon találtam, de akkor bizonyára ide nem passzol. Konkrétan azért írtam, mert CurWpn-el az elővételt és lövést is ellenőrzöl, ami viszont elég felesleges, mert a kinézetet elővételkor elég ha ráteszed (deploy) funkció. Azt hiszem Hamsandwich-ben Item_Deploy néven keress rá.

A több dimenzióra pedig egy példát mutatok.
  1. new const Knives[][][]
  2. {
  3. // { "Kés Neve Str.", "Információ Str.", "Szint Str., vagy Num.", "Model Str.", "Sebesség Str.", "Gravitáció Str." },
  4. { "Arany", "0.5 Gravity", "10", "models/v_knife_gold.mdl", "230.0", "0.5" }
  5. }


Magyarázat, ami szükséges. Tudomásom szerint egy tömb csak egyféle elemet tartalmazhat (Num, Str, Float), bár (Num és Str) is megvalósítható szerintem, de Float mással nem. Erre megoldás, ha mindent Str ként írsz bele és ahol kiolvasd és szükséges használod a következő funkciókat.

  1. str_to_num(...)
  2. str_to_float(...)

Szerző:  Maxi [ 2017.01.16. 16:41 ]
Hozzászólás témája:  Re: Befejezettlen DeathRun menü.

Off Topic
befejezettlen -> befejezetlen

Szerző:  mforce [ 2017.01.16. 20:17 ]
Hozzászólás témája:  Re: Befejezetlen DeathRun menü.

#include <amxmisc>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>

ebből csinálj 2-t

Szerző:  The Peace [ 2017.01.16. 20:45 ]
Hozzászólás témája:  Re: Befejezettlen DeathRun menü.

JohanCorn írta:
Az else ágazást igazából a 125. sorra gondoltam első körben és nem a fent említettre.

A 8.9.0. pontokra is format, vagy formatex funkciókkal hasonlóképpen mint minden nyelves sorodban.

A Hook-ot nem így értettem, hanem már meglévő eseménnyel összekapcsolásra, a kifejezést egy angol fórumon találtam, de akkor bizonyára ide nem passzol. Konkrétan azért írtam, mert CurWpn-el az elővételt és lövést is ellenőrzöl, ami viszont elég felesleges, mert a kinézetet elővételkor elég ha ráteszed (deploy) funkció. Azt hiszem Hamsandwich-ben Item_Deploy néven keress rá.

A több dimenzióra pedig egy példát mutatok.
  1. new const Knives[][][]
  2. {
  3. // { "Kés Neve Str.", "Információ Str.", "Szint Str., vagy Num.", "Model Str.", "Sebesség Str.", "Gravitáció Str." },
  4. { "Arany", "0.5 Gravity", "10", "models/v_knife_gold.mdl", "230.0", "0.5" }
  5. }


Magyarázat, ami szükséges. Tudomásom szerint egy tömb csak egyféle elemet tartalmazhat (Num, Str, Float), bár (Num és Str) is megvalósítható szerintem, de Float mással nem. Erre megoldás, ha mindent Str ként írsz bele és ahol kiolvasd és szükséges használod a következő funkciókat.

  1. str_to_num(...)
  2. str_to_float(...)


Értem JohanCorn , és köszönöm szépen, ezt magamnak így felhasználom :)...

Mforce - miért kellene kettő?

Szerző:  pixxa112 [ 2017.01.27. 11:11 ]
Hozzászólás témája:  Re: Befejezetlen DeathRun menü.

Tessék így már csinálhatod magadnak angolul :D

  1. [en]
  2. FOMENUCIM = \wDeathRun Menu \r Level:\d %d | \r XP: \d %d%% | \rPoint: \d %d
  3. FOMENU1 = Knife
  4. FOMENU2 = USP
  5. FOMENU3 = Shop
  6. FOMENU4 = Information
  7.  
  8. BOLT0 = Book  \r(+1 level)  \d 120 Point
  9. BOLT1 = Regeneration \r(+25HP)  \d 24 Point
  10. BOLT2 = Development \r(+25AP) \d19 Point
  11. BOLT3 = Respawn \r(+1 life) \d 6 Point
  12.  
  13. KAPOTTPONT = +%d Points
  14. KEVESPONT = Sorry, not enough points.
  15. SIKERES = Successful purchases.
  16. KEVESSZINT = Sorry, not enough level.
  17. UJRAELEDTEL = Successful revived.
  18. ELET =  !t%d!y Your life is.

Szerző:  The Peace [ 2017.01.27. 16:27 ]
Hozzászólás témája:  Re: Befejezetlen DeathRun menü.

Köszönet a többiek nevében is :DD

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