hlmod.hu
https://hlmod.hu/

VIP Rang + Admin, Tulaj rang összeírása.
https://hlmod.hu/viewtopic.php?f=9&t=24044
Oldal: 1 / 1

Szerző:  Patrik3 [2016.02.18. 16:10 ]
Hozzászólás témája:  VIP Rang + Admin, Tulaj rang összeírása.

Sziasztok!
Hogyan tudom megoldani egy "sayhook"-ba, hogyha egy játékos VIP is, meg admin is, akkor azt is kiírja? Vagyis, valahogy így :
[VIP][Admin]: ..
Ha meg tulaj, akkor azt dobja ki elé. Szükség van előre DEFINE-re, vagy Nem?

Köszi.

Még lenne egy kérdésem:
Hogyan bírok én olyan Rendszer készíteni, ami ölés által műkszik, és Rangokat ír ki a chatbe.
Pl. 50 ölés után kap egy más rangot, pl. Vadász.
Vagy valami hasonlót.

Ezt hogyan tudnám megoldani? Köszönöm a Válaszokat.

Szerző:  Akosch:. [2016.02.18. 17:29 ]
Hozzászólás témája:  Re: VIP Rang + Admin, Tulaj rang összeírása.

  1. #define TEXT "text"


Ezt a formátumot felejtsük el szövegeknél, amxmodx -hez használt pawn fordító még nem optimalizálja ( ha jól rémlik az újabban, amit a samp-osok használnak már megoldották, de egyenlőre nem lesz fordító csere nálunk ), és ahányszor használod, annyiszor kerül bele a memóriába.
Helyette:

  1. new const g_sTEXT[ ] = "Text";


Így csak 1x kerül be a memóriába.

Többire meg van egy rakat plugin, amiből tudsz példát nézni, vagy gondolkozz, ennyinek mennie kell magadtól is.
( ha gépnél leszek mutatok 1 megoldást amit még nem láttam )

Edit: Itt is van:
  1. #include < amxmodx >
  2.  
  3. new const g_sADMIN_LEVEL[ ][ ] =
  4. {
  5.     "ALL",
  6.     "IMMUNITY",
  7.     "RESERVATION",
  8.     "KICK",
  9.     "BAN",
  10.     "SLAY",
  11.     "MAP",
  12.     "CVAR",
  13.     "CFG",
  14.     "CHAT",
  15.     "VOTE",
  16.     "PASSWORD",
  17.     "RCON",
  18.     "LEVEL_A",
  19.     "LEVEL_B",
  20.     "LEVEL_C",
  21.     "LEVEL_D",
  22.     "LEVEL_E",
  23.     "LEVEL_F",
  24.     "LEVEL_G",
  25.     "LEVEL_H",
  26.     "MENU",
  27.     "BAN_TEMP",
  28.     "ADMIN",
  29.     "USER"
  30. }
  31.  
  32. public plugin_init( )
  33. {
  34.     register_plugin( "Easy Rank System", "1.0", "Akosch:." );
  35.  
  36.     register_concmd( "test", "@fnTest" );
  37. }
  38.  
  39. @fnTest( iPlayerId, iAdminLevel, iCommandId )
  40. {
  41.     new sArg[ 11 ];
  42.     read_argv( 1, sArg, sizeof ( sArg ) - 1 );
  43.  
  44.     log_amx( "[%s]", g_sADMIN_LEVEL[ fnFind_LSB( str_to_num( sArg ) ) ] );
  45. }
  46.  
  47. fnFind_LSB( iX )
  48. {
  49.         // De Bruijn
  50.     static const sDE_BRUIJN[ ] =
  51.     {
  52.         0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15, 25, 17, 4, 8,
  53.         31, 27, 13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9
  54.     }
  55.  
  56.     if ( !iX )
  57.         return 0;   // return -1;
  58.  
  59.     return sDE_BRUIJN[ ( ( iX & -iX ) * 0x077CB531 ) >>> 27 ] + 1// wo/ +1
  60.     // return iX ? sDE_BRUIJN[ ( ( iX & -iX ) * 0x077CB531 ) >>> 27 ] + 1 : 0;
  61. }
  62.  
  63. /* Results
  64.  
  65. ] test 0
  66. L 02/18/2016 - 18:14:21: [test1.amxx] [ALL]
  67. ] test 1
  68. L 02/18/2016 - 18:14:23: [test1.amxx] [IMMUNITY]
  69. ] test 2
  70. L 02/18/2016 - 18:14:25: [test1.amxx] [RESERVATION]
  71. ] test 4
  72. L 02/18/2016 - 18:14:27: [test1.amxx] [KICK]
  73. ] test 8
  74. L 02/18/2016 - 18:14:32: [test1.amxx] [BAN]
  75. ] test 16
  76. L 02/18/2016 - 18:14:34: [test1.amxx] [SLAY]
  77. ] test 32
  78. L 02/18/2016 - 18:14:36: [test1.amxx] [MAP]
  79.  
  80. */

"Legnagyobb" hatáskörödet íratja ki. ( sajna a kick a ban előtt van, többinél szerintem jó a sorrend )

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