hlmod.hu
https://hlmod.hu/

Rövidítés
https://hlmod.hu/viewtopic.php?f=10&t=25711
Oldal: 1 / 1

Szerző:  exodus [ 2016.07.30. 12:05 ]
Hozzászólás témája:  Rövidítés

Sziasztok.

Azt szeretném tőletek kedves fórumozoktól megkérdezni, hogy ezeknek a soroknak a rövidítése lehetséges?
Mivel minden ugyan az csak 1-2 szám változik benn, hogy nem-e lehet ezt rövidíteni, hogy ne kelljen 5-6x egymás után leírni, így helyet és időt is spórolva ezzel.

  1. public comics(id) {
  2.     new String[121]
  3.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[0][Mod])
  4.     new menu = menu_create(String, "menu_handler")
  5.    
  6.     formatex(String, charsmax(String), "%s %s", AWPskin[0][Mod], Parancsok[2][Mod])
  7.     menu_additem(menu, String, "b7",0)
  8.     formatex(String, charsmax(String), "")
  9.     menu_additem(menu, String, "",0)
  10.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  11.     menu_additem(menu, String, "k10",0)
  12.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  13.     menu_additem(menu, String, "l7",0)
  14.  
  15.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  16.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  17.     menu_display(id, menu, 0);
  18.     return PLUGIN_HANDLED;
  19. }
  20. public redline(id) {
  21.     new String[121]
  22.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[1][Mod])
  23.     new menu = menu_create(String, "menu_handler")
  24.    
  25.     formatex(String, charsmax(String), "%s %s", AWPskin[1][Mod], Parancsok[2][Mod])
  26.     menu_additem(menu, String, "b8",0)
  27.     formatex(String, charsmax(String), "")
  28.     menu_additem(menu, String, "",0)
  29.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  30.     menu_additem(menu, String, "k11",0)
  31.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  32.     menu_additem(menu, String, "l8",0)
  33.  
  34.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  35.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  36.     menu_display(id, menu, 0);
  37.     return PLUGIN_HANDLED;
  38. }
  39. public awpcarbonite(id) {
  40.     new String[121]
  41.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[2][Mod])
  42.     new menu = menu_create(String, "menu_handler")
  43.    
  44.     formatex(String, charsmax(String), "%s %s", AWPskin[2][Mod], Parancsok[2][Mod])
  45.     menu_additem(menu, String, "b9",0)
  46.     formatex(String, charsmax(String), "")
  47.     menu_additem(menu, String, "",0)
  48.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  49.     menu_additem(menu, String, "k12",0)
  50.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  51.     menu_additem(menu, String, "l9",0)
  52.  
  53.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  54.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  55.     menu_display(id, menu, 0);
  56.     return PLUGIN_HANDLED;
  57. }
  58. public dragonlore(id) {
  59.     new String[121]
  60.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[3][Mod])
  61.     new menu = menu_create(String, "menu_handler")
  62.    
  63.     formatex(String, charsmax(String), "%s %s", AWPskin[3][Mod], Parancsok[2][Mod])
  64.     menu_additem(menu, String, "b10",0)
  65.     formatex(String, charsmax(String), "")
  66.     menu_additem(menu, String, "",0)
  67.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  68.     menu_additem(menu, String, "k13",0)
  69.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  70.     menu_additem(menu, String, "l10",0)
  71.  
  72.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  73.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  74.     menu_display(id, menu, 0);
  75.     return PLUGIN_HANDLED;
  76. }
  77. public awpasiimov(id) {
  78.     new String[121]
  79.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[4][Mod])
  80.     new menu = menu_create(String, "menu_handler")
  81.    
  82.     formatex(String, charsmax(String), "%s %s", AWPskin[4][Mod], Parancsok[2][Mod])
  83.     menu_additem(menu, String, "b11",0)
  84.     formatex(String, charsmax(String), "")
  85.     menu_additem(menu, String, "",0)
  86.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  87.     menu_additem(menu, String, "k14",0)
  88.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  89.     menu_additem(menu, String, "l11",0)
  90.  
  91.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  92.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  93.     menu_display(id, menu, 0);
  94.     return PLUGIN_HANDLED;
  95. }
  96. public awpsmoke(id) {
  97.     new String[121]
  98.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[5][Mod])
  99.     new menu = menu_create(String, "menu_handler")
  100.    
  101.     formatex(String, charsmax(String), "%s %s", AWPskin[5][Mod], Parancsok[2][Mod])
  102.     menu_additem(menu, String, "b12",0)
  103.     formatex(String, charsmax(String), "")
  104.     menu_additem(menu, String, "",0)
  105.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  106.     menu_additem(menu, String, "k15",0)
  107.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  108.     menu_additem(menu, String, "l12",0)
  109.  
  110.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  111.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  112.     menu_display(id, menu, 0);
  113.     return PLUGIN_HANDLED;
  114. }

Szerző:  Maxi [ 2016.08.03. 09:13 ]
Hozzászólás témája:  Re: Rövidítés

Alapvetően a mod nem a legkedvesebb dolog sor szempontjából, főleg a menü része (ha van).
stock-al nemnagyon tudsz ebben az esetben kezdeni semmit. Globális változókban megadhatod a dolgokat, de fölösleges úgy érzem.
1-2 sort tudnál menteni (szó szerint), ergo fölösleges. Hozzáteszem, hogy amit küldtél az már egy alapvetően kompakt kód.

Szerző:  demon [ 2016.08.03. 15:43 ]
Hozzászólás témája:  Re: Rövidítés

  1. public Menu( id, iNum ) {
  2.     static String[121], sString2[ 8 ];
  3.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[iNum][Mod])
  4.     new menu = menu_create(String, "menu_handler")
  5.    
  6.     formatex(String, charsmax(String), "%s %s", AWPskin[iNum][Mod], Parancsok[2][Mod])
  7.     formatex( sString2, charsmax( sString2 ), "b%d", ( 7 + iNum ) )
  8.     menu_additem(menu, String, sString2,0)
  9.     formatex(String, charsmax(String), "")
  10.     menu_additem(menu, String, "",0)
  11.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  12.     formatex( sString2, charsmax( sString2 ), "k%d", ( 10 + iNum ) )
  13.     menu_additem(menu, String, sString2,0)
  14.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  15.     formatex( sString2, charsmax( sString2 ), "l%d", ( 7 + iNum ) )
  16.     menu_additem(menu, String, sString2,0)
  17.  
  18.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  19.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  20.     menu_display(id, menu, 0);
  21.     return PLUGIN_HANDLED;
  22. }


Függvényhívásnál:
Menu( id, 0 ); // comics
Menu( id, 1 ); // redline
Menu( id, 2 ); // awpcarbonite
Menu( id, 3 ); // dragonlore
Menu( id, 4 ); // awpasiimov
Menu( id, 5 ); // awpsmoke

Szerző:  exodus [ 2016.08.08. 14:24 ]
Hozzászólás témája:  Re: Rövidítés

demon írta:
  1. public Menu( id, iNum ) {
  2.     static String[121], sString2[ 8 ];
  3.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[iNum][Mod])
  4.     new menu = menu_create(String, "menu_handler")
  5.    
  6.     formatex(String, charsmax(String), "%s %s", AWPskin[iNum][Mod], Parancsok[2][Mod])
  7.     formatex( sString2, charsmax( sString2 ), "b%d", ( 7 + iNum ) )
  8.     menu_additem(menu, String, sString2,0)
  9.     formatex(String, charsmax(String), "")
  10.     menu_additem(menu, String, "",0)
  11.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  12.     formatex( sString2, charsmax( sString2 ), "k%d", ( 10 + iNum ) )
  13.     menu_additem(menu, String, sString2,0)
  14.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  15.     formatex( sString2, charsmax( sString2 ), "l%d", ( 7 + iNum ) )
  16.     menu_additem(menu, String, sString2,0)
  17.  
  18.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  19.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  20.     menu_display(id, menu, 0);
  21.     return PLUGIN_HANDLED;
  22. }


Függvényhívásnál:
Menu( id, 0 ); // comics
Menu( id, 1 ); // redline
Menu( id, 2 ); // awpcarbonite
Menu( id, 3 ); // dragonlore
Menu( id, 4 ); // awpasiimov
Menu( id, 5 ); // awpsmoke


Na ebből nemsokat értek egyenlőre... :D

Honnal olvassa le, hogy mitkell következőleg beadnia?
Mert nálam így van megadva:

  1. public comics(id) {
  2.     new String[121]
  3.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[0][Mod])
  4.     new menu = menu_create(String, "menu_handler")
  5.    
  6.     formatex(String, charsmax(String), "%s %s", AWPskin[0][Mod], Parancsok[2][Mod])
  7.     menu_additem(menu, String, "b7",0)
  8.     formatex(String, charsmax(String), "")
  9.     menu_additem(menu, String, "",0)
  10.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  11.     menu_additem(menu, String, "k10",0)
  12.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  13.     menu_additem(menu, String, "l7",0)
  14.  
  15.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  16.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  17.     menu_display(id, menu, 0);
  18.     return PLUGIN_HANDLED;
  19. }


és ezt case-bol olvassa ki, tehát így:

  1. case 'o':
  2.         {
  3.             switch(key)
  4.             {
  5.                 case 1: comics(id)
  6.                
  7.             }
  8.         }


Akkor a te megoldásod szerint, hogy kellene eljárnom?

Így?:

  1. case 'o':
  2.         {
  3.             switch(key)
  4.             {
  5.                 case 1: Menu( id, 0 );
  6.             }
  7.         }


Köszönöm előre is a segítséged

Szerző:  demon [ 2016.08.08. 19:14 ]
Hozzászólás témája:  Re: Rövidítés

  1. case 'o':
  2.         {
  3.             Menu( id, key-1 );
  4.         }

Ennyi.

Szerző:  exodus [ 2016.08.08. 22:05 ]
Hozzászólás témája:  Re: Rövidítés

demon írta:
  1. case 'o':
  2.         {
  3.             Menu( id, key-1 );
  4.         }

Ennyi.



Már megcsináltam, de azért köszönöm szépen a segítséget.

Későbbiekben akinek kell esetleg ilyenben segítség:


  1. public comics(id) {
  2.     new String[121]
  3.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[0][Mod])
  4.     new menu = menu_create(String, "menu_handler")
  5.    
  6.     formatex(String, charsmax(String), "%s %s", AWPskin[0][Mod], Parancsok[2][Mod])
  7.     menu_additem(menu, String, "b7",0)
  8.     formatex(String, charsmax(String), "")
  9.     menu_additem(menu, String, "",0)
  10.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  11.     menu_additem(menu, String, "k10",0)
  12.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  13.     menu_additem(menu, String, "l7",0)
  14.  
  15.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  16.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  17.     menu_display(id, menu, 0);
  18.     return PLUGIN_HANDLED;
  19. }
  20. public redline(id) {
  21.     new String[121]
  22.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[1][Mod])
  23.     new menu = menu_create(String, "menu_handler")
  24.    
  25.     formatex(String, charsmax(String), "%s %s", AWPskin[1][Mod], Parancsok[2][Mod])
  26.     menu_additem(menu, String, "b8",0)
  27.     formatex(String, charsmax(String), "")
  28.     menu_additem(menu, String, "",0)
  29.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  30.     menu_additem(menu, String, "k11",0)
  31.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  32.     menu_additem(menu, String, "l8",0)
  33.  
  34.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  35.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  36.     menu_display(id, menu, 0);
  37.     return PLUGIN_HANDLED;
  38. }
  39. public awpcarbonite(id) {
  40.     new String[121]
  41.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[2][Mod])
  42.     new menu = menu_create(String, "menu_handler")
  43.    
  44.     formatex(String, charsmax(String), "%s %s", AWPskin[2][Mod], Parancsok[2][Mod])
  45.     menu_additem(menu, String, "b9",0)
  46.     formatex(String, charsmax(String), "")
  47.     menu_additem(menu, String, "",0)
  48.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  49.     menu_additem(menu, String, "k12",0)
  50.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  51.     menu_additem(menu, String, "l9",0)
  52.  
  53.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  54.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  55.     menu_display(id, menu, 0);
  56.     return PLUGIN_HANDLED;
  57. }
  58. public dragonlore(id) {
  59.     new String[121]
  60.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[3][Mod])
  61.     new menu = menu_create(String, "menu_handler")
  62.    
  63.     formatex(String, charsmax(String), "%s %s", AWPskin[3][Mod], Parancsok[2][Mod])
  64.     menu_additem(menu, String, "b10",0)
  65.     formatex(String, charsmax(String), "")
  66.     menu_additem(menu, String, "",0)
  67.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  68.     menu_additem(menu, String, "k13",0)
  69.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  70.     menu_additem(menu, String, "l10",0)
  71.  
  72.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  73.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  74.     menu_display(id, menu, 0);
  75.     return PLUGIN_HANDLED;
  76. }
  77. public awpasiimov(id) {
  78.     new String[121]
  79.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[4][Mod])
  80.     new menu = menu_create(String, "menu_handler")
  81.    
  82.     formatex(String, charsmax(String), "%s %s", AWPskin[4][Mod], Parancsok[2][Mod])
  83.     menu_additem(menu, String, "b11",0)
  84.     formatex(String, charsmax(String), "")
  85.     menu_additem(menu, String, "",0)
  86.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  87.     menu_additem(menu, String, "k14",0)
  88.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  89.     menu_additem(menu, String, "l11",0)
  90.  
  91.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  92.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  93.     menu_display(id, menu, 0);
  94.     return PLUGIN_HANDLED;
  95. }
  96. public awpsmoke(id) {
  97.     new String[121]
  98.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[5][Mod])
  99.     new menu = menu_create(String, "menu_handler")
  100.    
  101.     formatex(String, charsmax(String), "%s %s", AWPskin[5][Mod], Parancsok[2][Mod])
  102.     menu_additem(menu, String, "b12",0)
  103.     formatex(String, charsmax(String), "")
  104.     menu_additem(menu, String, "",0)
  105.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  106.     menu_additem(menu, String, "k15",0)
  107.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  108.     menu_additem(menu, String, "l12",0)
  109.  
  110.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  111.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  112.     menu_display(id, menu, 0);
  113.     return PLUGIN_HANDLED;
  114. }


Ezt így rövidítjük:

  1. public FelszerelAwp( id, iNum ) {
  2.     static String[121], sString2[ 8 ];
  3.     formatex(String, charsmax(String), "\y[%s] \d» %s", Prefix[0][Mod], AWPskin[iNum][Mod])
  4.     new menu = menu_create(String, "menu_handler")
  5.    
  6.     formatex(String, charsmax(String), "%s %s", AWPskin[iNum][Mod], Parancsok[2][Mod])
  7.     formatex( sString2, charsmax( sString2 ), "b%d", ( 7 + iNum ) )
  8.     menu_additem(menu, String, sString2,0)
  9.     formatex(String, charsmax(String), "")
  10.     menu_additem(menu, String, "",0)
  11.     formatex(String, charsmax(String), "%s", Parancsok[0][Mod])
  12.     formatex( sString2, charsmax( sString2 ), "k%d", ( 10 + iNum ) )
  13.     menu_additem(menu, String, sString2,0)
  14.     formatex(String, charsmax(String), "%s", Parancsok[1][Mod])
  15.     formatex( sString2, charsmax( sString2 ), "l%d", ( 7 + iNum ) )
  16.     menu_additem(menu, String, sString2,0)
  17.  
  18.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  19.     menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  20.     menu_display(id, menu, 0);
  21.     return PLUGIN_HANDLED;
  22. }


És pedig a függvénylehívásnál így kell szerepelnie:
Példa:


  1. case 'o':
  2.         {
  3.             switch(key)
  4.             {
  5.                 case 1: FelszerelAwp( id, 0 )
  6.                 case 2: FelszerelAwp( id, 1 )
  7.                 case 3: FelszerelAwp( id, 2 )
  8.                 case 4: FelszerelAwp( id, 3 )
  9.                 case 5: FelszerelAwp( id, 4 )
  10.                 case 6: FelszerelAwp( id, 5 )
  11.             }
  12.         }


És egy kis magyarázat ha esetleg valakinek elsőre nem esne le:

  1. AWPskin[iNum][Mod] // iNum a változó érték, az iNum amit eredetileg megadunk a menünek ha FelszerelAwp( id, 0 ) -et jelölünk meg akkor iNum helyettesítő száma a 0
  2. Ha FelszerelAwp( id, 1 ) -et jelölünk akkor az iNum helyettesítő száma az 1
  3.  
  4. formatex( sString2, charsmax( sString2 ), "b%d", ( 7 + iNum ) ) // Itt is szintén iNum a változó érték (7 + iNum) azaz jelen esetben FelszerelAwp( id, 0 ) -val jelöljük akkor eggyértelműen ( 7 + 0 )
  5. a b%d jelöli, hogy melyik függvénykönyvtárban kell kiolvasnia a dolgokat (case 'b') a ( 7 + iNum ) pedig azt jelöli hányadik case-t olvassa, jelen esetben a b könyvtárból a 7.-et.


Remélem a magyarázat érthető valamennyire és a későbbiekben valaki még hasznát veszi aki esetleg ilyen problémába ütközne.
UI: Próbáltam normálisan fogalmazni. :D


Valamint mégegyszer köszönöm a segítséget demon -nak

Szerző:  demon [ 2016.08.09. 14:05 ]
Hozzászólás témája:  Re: Rövidítés

Ennél a résznél:
  1. case 'o':
  2.         {
  3.             switch(key)
  4.             {
  5.                 case 1: FelszerelAwp( id, 0 )
  6.                 case 2: FelszerelAwp( id, 1 )
  7.                 case 3: FelszerelAwp( id, 2 )
  8.                 case 4: FelszerelAwp( id, 3 )
  9.                 case 5: FelszerelAwp( id, 4 )
  10.                 case 6: FelszerelAwp( id, 5 )
  11.             }
  12.         }

Felesleges a switch.
Elég csak ennyi:
  1. case 'o':
  2.         {
  3.             FelszerelAwp( id, key - 1 );
  4.         }

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