hlmod.hu
https://hlmod.hu/

HUD messages Pro
https://hlmod.hu/viewtopic.php?f=24&t=4156
Oldal: 1 / 2

Szerző:  oroszrulett [ 2012.04.22. 10:52 ]
Hozzászólás témája:  HUD messages Pro

HUD üzenetek készítése

Ez a plugin arra szolgál, hogy szerverünkön különböző HUD üzeneteket helyezhetünk el,
amiknek a színét, effektusát ( Hogyan jelenjen meg ) tudjuk állítani. Az SMA-ban leírás található a dolgokról, tehát itt
nem taglalnám, hol mit lehet állítani.

Információ a pluginról:
-Üzenetek hozzáadása/szerkesztése,
-Üzenetek színének állítása: random ( kisorsolt ), vagy előre definiált,
-Megjelenési effektusok beállítása: random, vagy előre definiált,
-Üzenetek ki/be kapcsolása a /hud paranccsal. ( Az adott játékosra vonatkozik. ),
-Ki/be kapcsoláskor chat-üzenetet ír, bizonyos időközönként kiírja a ki/be kapcsolás lehetőségét és parancsát.

Frissítve: 2012.04.22. 11:02
-DHUDMessage hozzáadása ( állítani SMA-ban lehet, hogy legyen-e, vagy sem )




SMA Forráskód: [ Mindet kijelol ]
  1.                                                                 /*
  2.  
  3.  //-------------------------------------------------------------\\
  4.  
  5. ||-----------------------HUDüzenetek Pro-------------------------||
  6.  
  7.  \\-------------------------------------------------------------//
  8.  
  9.                                 */
  10.  
  11.  
  12.  
  13. #include < amxmodx >
  14.  
  15. #include < amxmisc >
  16.  
  17. #include < colorchat >
  18.  
  19. #include < dhudmessage >
  20.  
  21.  
  22.  
  23. #define TASK_CHATUZENET 120.0
  24.  
  25.  
  26.  
  27. new const PLUGIN [ ] = "HUDmessages";
  28.  
  29. new const VERZIO [ ] = "1.0";
  30.  
  31. new const KESZITO [ ] = "oroszrulett";
  32.  
  33.  
  34.  
  35. new const szervernev [ ] = "[Szerverneve]"; // szervered neve: Ez jelenítődik meg a chat üzenetek előtt.
  36.  
  37. new const uzenetek[ ] [ ] = // Üzenetek, amiket kiírat a szerver.
  38.  
  39. {
  40.  
  41.         "Udvozollek a szerveren!",
  42.  
  43.         "Weboldal: amxx.try.hu",
  44.  
  45.         "Hirdesd a szervert adminert!",
  46.  
  47.         "Gyere fel minden nap!"
  48.  
  49. };
  50.  
  51. new const uzenetszama = 4;// Ezt állítsd át annyira, ahány üzeneted van. ( csak így tudod az újonnal hozzáadott üzeneteket
  52.  
  53.                          //is kiíratni, ami sorsolásos alapon történik.
  54.  
  55.  
  56.  
  57. new const chatuzenet[ ] = "^x01 Ha ki/be szeretned kapcsolni a HUD uzeneteket, ird be a chatbe: ^x04 /hud";
  58.  
  59. new const chat_kibe[ ] =
  60.  
  61. {
  62.  
  63.         "HUD uzenetek bekapcsolva!", // BE
  64.  
  65.         "HUD uzenetek kikapcsolva!"  // KI
  66.  
  67. }
  68.  
  69.  
  70.  
  71. new const HUD[ ] =
  72.  
  73. {
  74.  
  75.         255,    //Piros
  76.  
  77.         255,    //Zöld
  78.  
  79.         255,    //Kék
  80.  
  81.         1       //Effekt
  82.  
  83. };
  84.  
  85.  
  86.  
  87. new r, g, b, effekt;
  88.  
  89.  
  90.  
  91. new HUD_kibe[33]
  92.  
  93. new dhudmessages
  94.  
  95. new randomszinek
  96.  
  97. new task_hud
  98.  
  99. new task_chat
  100.  
  101.  
  102.  
  103. public plugin_init() {
  104.  
  105.         register_plugin(PLUGIN, VERZIO, KESZITO)
  106.  
  107.         register_clcmd("say /hud", "HUDkibe")
  108.  
  109.         set_task(5.0, "HUDMsg")
  110.  
  111.         set_task(10.0, "chatuzenet")
  112.  
  113.        
  114.  
  115.         dhudmessages = register_cvar("amx_dhud", "0")
  116.  
  117.         randomszinek = register_cvar("amx_random", "0")
  118.  
  119.         task_hud = register_cvar("amx_hudtask", "20.0")
  120.  
  121.         task_chat = register_cvar("amx_chattask", "120.0")
  122.  
  123.  
  124.  
  125. }
  126.  
  127. public client_putinserver( id )
  128.  
  129. {
  130.  
  131.         HUD_kibe[id] = 1;
  132.  
  133. }
  134.  
  135.  
  136.  
  137. public HUDMsg( id )
  138.  
  139. {
  140.  
  141.         if( HUD_kibe[id] == 1 )
  142.  
  143.         {
  144.  
  145.                 if(get_pcvar_num(randomszinek) == 1)
  146.  
  147.                 {
  148.  
  149.                         if(get_pcvar_num(dhudmessages) == 1)
  150.  
  151.                         {
  152.  
  153.                                 r = random(256)
  154.  
  155.                                 g = random(256)
  156.  
  157.                                 b = random(256)
  158.  
  159.                                 effekt = random(3)
  160.  
  161.                                
  162.  
  163.                                 set_dhudmessage(r, g, b, -1.0, 0.91, effekt, 6.0, 12.0)
  164.  
  165.                                 show_dhudmessage(id, "%s", uzenetek[random_num(0, uzenetszama-1)])
  166.  
  167.                                 set_task(get_pcvar_num(task_hud), "HUDMsg", id)
  168.  
  169.                         }else{
  170.  
  171.                                 r = random(256)
  172.  
  173.                                 g = random(256)
  174.  
  175.                                 b = random(256)
  176.  
  177.                                 effekt = random(3)
  178.  
  179.                                
  180.  
  181.                                 set_hudmessage(r,g,b, -1.0, 0.91, effekt, 6.0, 12.0)
  182.  
  183.                                 show_hudmessage(id, "%s", uzenetek[random_num(0, uzenetszama-1)])
  184.  
  185.                                 set_task(20.0, "HUDMsg", id)
  186.  
  187.                         }
  188.  
  189.                 }else{
  190.  
  191.                         if(get_pcvar_num(dhudmessages) == 1)
  192.  
  193.                         {
  194.  
  195.                                 set_dhudmessage(HUD[0],HUD[1],HUD[2], -1.0, 0.91, HUD[3], 6.0, 12.0)
  196.  
  197.                                 show_hudmessage(id, "%s", uzenetek[random_num(0, uzenetszama-1)])
  198.  
  199.                                 set_task(20.0, "HUDMsg", id)
  200.  
  201.                         }else{
  202.  
  203.                                 set_dhudmessage(HUD[0],HUD[1],HUD[2], -1.0, 0.91, HUD[3], 6.0, 12.0)
  204.  
  205.                                 show_hudmessage(id, "%s", uzenetek[random_num(0, uzenetszama-1)])
  206.  
  207.                                 set_task(20.0, "HUDMsg", id)
  208.  
  209.                         }
  210.  
  211.                 }
  212.  
  213.         }else{
  214.  
  215.                
  216.  
  217.         }
  218.  
  219. }
  220.  
  221. public kiir_chatuzenet( id )
  222.  
  223. {
  224.  
  225.         ColorChat(id, GREEN, "%s %s", szervernev, chatuzenet)
  226.  
  227.         set_task(TASK_CHATUZENET, "kiir_chatuzenet", id)
  228.  
  229. }
  230.  
  231. public HUDkibe( id )
  232.  
  233. {
  234.  
  235.         if(HUD_kibe[ id ] == 1)
  236.  
  237.         {
  238.  
  239.                 HUD_kibe[ id ] = 0;
  240.  
  241.                 ColorChat(id, GREEN, "%s %s",szervernev, chat_kibe[0])
  242.  
  243.         }else{
  244.  
  245.                 HUD_kibe[ id ] = 1;
  246.  
  247.                 ColorChat(id, GREEN, "%s %s",szervernev, chat_kibe[1])
  248.  
  249.  
  250.  
  251.         }
  252.  
  253. }
  254.  
  255.  
  256.  
  257.  

Szerző:  Silent [ 2012.04.22. 11:07 ]
Hozzászólás témája:  Re: HUD messages Pro

Kicsit lehetne javítani a szerkezetén. Például a HudÜzenetet nem loopolni kéne hanem client_PreThink fgv-be elhelyezni. A manuálisan változtatható változókat, define-eket lehetne helyettesíteni cvarokkal, hogy játél közben is lehessen váltani dolgokat benne. Van még pár formabeli hiányosság, amit azért szívesen látnék benne, de az már csak finomkodás :)

u.i.: Már van ilyen plugin egyébként.

edit:
Láttam ilyeneket, hogy dhud vagy sima hud és hogy ezeket booleannal oldottad meg. Egyszerũbb ezeket is cvarra rakni, vagy ha nem akarsz cvart akkor, hogy a használónak könnyebb legyen csinálhatod így is:
Kód:
#define USE_DHUD
#if defined USE_DHUD
  //code
#else
  //code
#endif

 

Szerző:  oroszrulett [ 2012.04.22. 11:09 ]
Hozzászólás témája:  Re: HUD messages Pro

Silent írta:
Kicsit lehetne javítani a szerkezetén. Például a HudÜzenetet nem loopolni kéne hanem client_PreThink fgv-be elhelyezni. A manuálisan változtatható változókat, define-eket lehetne helyettesíteni cvarokkal, hogy játél közben is lehessen váltani dolgokat benne. Van még pár formabeli hiányosság, amit azért szívesen látnék benne, de az már csak finomkodás :)

u.i.: Már van ilyen plugin egyébként.


client_PreTink: is what? : D

Szerző:  Silent [ 2012.04.22. 11:15 ]
Hozzászólás témája:  Re: HUD messages Pro

Kód:
public client_PreThink(id)
{
  
//Ami itt van állandó.
}

 

Szerző:  oroszrulett [ 2012.04.22. 11:15 ]
Hozzászólás témája:  Re: HUD messages Pro

Kód:
Warning: Tag mismatch on line 84


Ezt miért dobja mindig, amikor ezt akarom:
Kód:
new task_hud = register_cvar("task_hud", "20.0")

Kód:
  1. set_task(task_hud, "stb", stb)


Ezt csak
Kód:
#define  
-nel jó?

Szerző:  Silent [ 2012.04.22. 11:18 ]
Hozzászólás témája:  Re: HUD messages Pro

globális változóként kell deklarálni, hogy cvarként hásználd.

Szerző:  oroszrulett [ 2012.04.22. 11:19 ]
Hozzászólás témája:  Re: HUD messages Pro

Silent írta:
globális változóként kell deklarálni, hogy cvarként hásználd.

deklarálni? mit jelent? bocs hogy ilyen hülye vagyok.

Szerző:  Silent [ 2012.04.22. 11:22 ]
Hozzászólás témája:  Re: HUD messages Pro

Létrehozni :D Tehát így kell vhogy kinéznie:
Kód:
new cvar_mycvar

public plugin_init()
{
cvar_mycvar register_cvar("name""value")
}
 

Szerző:  oroszrulett [ 2012.04.22. 11:25 ]
Hozzászólás témája:  Re: HUD messages Pro

Silent írta:
Létrehozni :D Tehát így kell vhogy kinéznie:
Kód:

new cvar_mycvar

public plugin_init
()
{
cvar_mycvar = register_cvar("name", "value")
}
 

Ezt megcsináltam.

Fent frissítve.

Szerző:  Silent [ 2012.04.22. 11:31 ]
Hozzászólás témája:  Re: HUD messages Pro

Azodáig oké h van cvar, de hol használod ôket? Sehol se látok benne ilyeneket h get_pcvar_andsoon :D
Edit:

Elôbb még nem láttam, már megvan. Ha gépnél leszek leellenôrzöm :)

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