hlmod.hu

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



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Google [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ő


Lezárt fórum  A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [ 6 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Előtagok
HozzászólásElküldve: 2013.10.07. 15:05 
Offline
Jómunkásember

Csatlakozott: 2013.02.11. 16:06
Hozzászólások: 491
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 50 alkalommal
Hello. Be szeretném mutatni, az első, majdnem önálló pluginomat, (először is köszönetet mondok Nandee-nak, hogy elmagyarázta nekem a dolgokat) aminek lényege, hogy a játékosok neve előtt bizonyos előtagok vannak.

Jelenlegi előtagok:
Sima, nem steames játékosok neve előtt az van , hogy [Játékos]
Steames játékosok neve előtt az van, hogy [Steames]
ADMIN_KICK joggal rendelkező játékosok neve előtt [Admin]
ADMIN_LEVEL_C joggal rendelkező játékosok neve előtt [Konfigos]
ADMIN_LEVEL_B joggal rendelkező játékosok neve előtt pedig [Tulaj]

Érdekességek:
[ablak]1. Team say-ben, azt, hogy Terrorists, Counter-Terrorists, Spectator szavakat magyarul irja, tehát Terrorista, Anti-Terrorista és Néző, persze ugyanúgy zárójelbe, mint alapból,
2. Amennyiben élsz, akkor a neved előtt ott lesz sárgával, hogy *Él*, ha halott vagy akkor pedig *DEAD* helyett *Halott*
3. Valamint új stílust is raktam bele, tehát ha valaki ír valamit, akkor így fogja írni:
Sima say-ben:
Az aki él: *Él* [Előtag] » Név » Üzenet
Aki halott: *Halott* [Előtag] » Név » Üzenet

Team say-ben
Az aki él: *Él* (csapat) [Előtag] » Név » Üzenet
Aki halott: *Halott* (csapat) [Előtag] » Név » Üzenet
(Persze mind ezt színesen)
4. A tulaj, konfigos, admin előtagu játékosok zölddel, míg a sima játékosok, és steames játékosok sárgával írnak[/ablak]

FONTOS
[ablak]Ha egy játékosnak van ADMIN_KICK joga, de van ADMIN_LEVEL_B joga, akkor ezesetben az lesz a neve előtt hogy [Tulaj], mert ez feljebb van a pluginban, mint a sima admin, tehát ha akartok hozzáadni még előtagokat, akkor erre ügyeljetek, mert ha pl. egy játékosnak, a saját jogodat, pl VIP jogot akarsz adni, és a feljebb irod bele a pluginba, mint ahol a sima admin előtag szerepel, akkor hiába adsz neki VIP-hez jogot, és sima adminhoz jogot, akkor is VIP lesz a neve előtt![/ablak]

Kisebb tutorial, hogy rakj a pluginba előtagokat:
[ablak]1. keresd meg azt a részt, ahol ez van irva: if(get_user_flags(id)&ADMIN_LEVEL_C)
2. az if elé ird be azt a szót, hogy else, tehát így fog kinézni a sor: else if(get_user_flags(id)&ADMIN_LEVEL_C)
3. A most formázott sor fölé úgy írd a következő sorokat, hogy 1 sorba ne legyen semmi az alatta lévő sorba sem, és a fölötte lévőbe, tehát így legyen:
static color[10] //Ezt ne írd oda, csak ez alá a sor alá írd, hogy 1 sort hagyj ki, ahogy a példába van
 
if(get_user_flags(id)&IDE IRD AZ ADMIN JOGOT)
{
get_user_team (id, color, 9)
 
format (strName, 191, "%s^x04[IDE IRD AZ ELŐTAG NEVÉT] » ^x03%s", alive, name)
 
format (strText, 191, "^x01%s", message) // Ha ebben az üzenetet zöldre akarod átírni, akkor ^x01 helyett ^x04 legyen.
}
 
else if(get_user_flags(id)&ADMIN_LEVEL_C) // Ezt a sort se írd oda, csak e sor fölött legyen egy sor, amibe semmi sincs írva!
4. Most pedig keresd meg a másik ugyan ilyen nevü sort, hogy if(get_user_flags(id)&ADMIN_LEVEL_C)
(Itt ugyan az lesz, csak annyival több, hogy team saybe is írja az előtagot)

5. Úgyanúgy irjuk az if elé hogy else, majd ezt másold be annak a példájára, ahogy az előzőt csináltad:

static color[10] //Ezt ne írd oda, csak ez alá a sor alá írd, hogy 1 sort hagyj ki, ahogy a példába van
 
if(get_user_flags(id)&IDE IRD AZ ADMIN JOGOT)
{
get_user_team (id, color, 9)
 
format (strName, 191, "%s(%s) ^x04[IDE ÍRD AZ ELŐTAG NEVÉT] » ^x03%s", alive, playerTeamName, name)
 
format (strText, 191, "^x01%s", message) // Ha ebben az üzenetet zöldre akarod átírni, akkor ^x01 helyett ^x04 legyen.
}
 
else if(get_user_flags(id)&ADMIN_LEVEL_C) // Ezt a sort se írd oda, csak e sor fölött legyen egy sor, amibe semmi sincs írva![/ablak]

Remélem érthető volt, hisz még ez az első "nagyobb" pluginom, első tutorialom, úgyhogy előfordulhatnak hibák, és nagyon bízok benne, hogy tetszik a plugin, és hasznát fogjátok venni.

Forráskód:
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3.  
  4. #define PLUGIN "Admin Chat Colors"
  5. #define VERSION "2.0"
  6. #define AUTHOR "I3u[R]n"
  7.  
  8. #define ACCESS_LEVEL ADMIN_KICK
  9. #define ADMIN_LISTEN ADMIN_KICK
  10.  
  11. new message[192]
  12. new sayText
  13. new teamInfo
  14. new maxPlayers
  15.  
  16. new strName[191]
  17. new strText[191]
  18. new alive[11]
  19.  
  20. public plugin_init()
  21. {
  22. register_plugin (PLUGIN, VERSION, AUTHOR)
  23.  
  24. sayText = get_user_msgid ("SayText")
  25. teamInfo = get_user_msgid ("TeamInfo")
  26. maxPlayers = get_maxplayers()
  27.  
  28. register_message (sayText, "avoid_duplicated")
  29.  
  30. register_clcmd ("say", "hook_say")
  31. register_clcmd ("say_team", "hook_teamsay")
  32. }
  33.  
  34. public avoid_duplicated (msgId, msgDest, receiver)
  35. {
  36. return PLUGIN_HANDLED
  37. }
  38.  
  39. public hook_say(id)
  40. {
  41. read_args (message, 191)
  42. remove_quotes (message)
  43.  
  44. if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  45.  
  46. return PLUGIN_CONTINUE
  47.  
  48.  
  49. new name[32]
  50. get_user_name (id, name, 31)
  51.  
  52. new bool:admin = false
  53.  
  54. if (get_user_flags(id) & ACCESS_LEVEL)
  55. admin = true
  56.  
  57.  
  58. new bool:steam = false
  59.  
  60. if (is_user_steam(id))
  61. steam = true
  62.  
  63. new isAlive
  64.  
  65. if (is_user_alive (id))
  66. {
  67. isAlive = 1
  68. alive = "^x01*Él* "
  69. }
  70. else
  71. {
  72. isAlive = 0
  73. alive = "^x01*Halott* "
  74. }
  75.  
  76. static color[10]
  77.  
  78. if(get_user_flags(id)&ADMIN_LEVEL_C)
  79. {
  80. get_user_team (id, color, 9)
  81.  
  82. format (strName, 191, "%s^x04[Konfigos] » ^x03%s", alive, name)
  83.  
  84. format (strText, 191, "^x04%s", message)
  85. }
  86.  
  87. else if(get_user_flags(id)&ADMIN_LEVEL_B)
  88. {
  89. get_user_team (id, color, 9)
  90.  
  91. format (strName, 191, "%s^x04[Tulaj] » ^x03%s", alive, name)
  92.  
  93. format (strText, 191, "^x04%s", message)
  94. }
  95.  
  96. else if(admin)
  97. {
  98. get_user_team (id, color, 9)
  99.  
  100. format (strName, 191, "%s^x04[Admin] » ^x03%s", alive, name)
  101.  
  102. format (strText, 191, "^x04%s", message)
  103. }
  104.  
  105.  
  106. else if(!steam)
  107. {
  108. get_user_team (id, color, 9)
  109.  
  110. format (strName, 191, "%s^x04[Játékos] » ^x03%s", alive, name)
  111.  
  112. format (strText, 191, "%s", message)
  113. }
  114. else if (steam)
  115. {
  116. get_user_team (id, color, 9)
  117.  
  118. format (strName, 191, "%s^x04[Steames] » ^x03%s", alive, name)
  119.  
  120. format (strText, 191, "%s", message)
  121. }
  122.  
  123. format (message, 191, "%s »^x01 %s", strName, strText)
  124.  
  125. sendMessage (color, isAlive)
  126.  
  127. return PLUGIN_CONTINUE
  128. }
  129.  
  130.  
  131. public hook_teamsay(id)
  132. {
  133. new playerTeam = get_user_team(id)
  134. new playerTeamName[19]
  135.  
  136. switch (playerTeam)
  137. {
  138. case 1:
  139. copy (playerTeamName, 11, "Terrorista")
  140.  
  141. case 2:
  142. copy (playerTeamName, 18, "Anti-Terrorista")
  143.  
  144. default:
  145. copy (playerTeamName, 9, "Néző")
  146. }
  147.  
  148. read_args (message, 191)
  149. remove_quotes (message)
  150.  
  151. if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
  152.  
  153. return PLUGIN_CONTINUE
  154.  
  155.  
  156. new name[32]
  157. get_user_name (id, name, 31)
  158.  
  159. new bool:admin = false
  160.  
  161. if (get_user_flags(id) & ACCESS_LEVEL)
  162. admin = true
  163.  
  164.  
  165. new bool:steam = false
  166.  
  167. if(is_user_steam(id))
  168. steam = true
  169.  
  170. new isAlive
  171.  
  172. if (is_user_alive (id))
  173. {
  174. isAlive = 1
  175. alive = "^x01*Él* "
  176. }
  177. else
  178. {
  179. isAlive = 0
  180. alive = "^x01*Halott* "
  181. }
  182.  
  183. static color[10]
  184.  
  185. if(get_user_flags(id)&ADMIN_LEVEL_C)
  186. {
  187. get_user_team (id, color, 9)
  188.  
  189. format (strName, 191, "%s(%s) ^x04[Konfigos] » ^x03%s", alive, playerTeamName, name)
  190.  
  191. format (strText, 191, "^x04%s", message)
  192. }
  193.  
  194. else if(get_user_flags(id)&ADMIN_LEVEL_B)
  195. {
  196. get_user_team (id, color, 9)
  197.  
  198. format (strName, 191, "%s(%s) ^x04[Tulaj] » ^x03%s", alive, playerTeamName, name)
  199.  
  200. format (strText, 191, "^x04%s", message)
  201. }
  202.  
  203. else if (admin)
  204. {
  205. get_user_team (id, color, 9)
  206.  
  207. format (strName, 191, "%s(%s) ^x04[Admin] » ^x03%s", alive, playerTeamName, name)
  208.  
  209. format (strText, 191, "^x04%s", message)
  210. }
  211.  
  212. else if(!steam)
  213. {
  214. get_user_team (id, color, 9)
  215.  
  216. format (strName, 191, "%s(%s) ^x04[Játékos] » ^x03%s", alive, playerTeamName, name)
  217.  
  218. format (strText, 191, "%s", message)
  219. }
  220. else if(steam)
  221. {
  222. get_user_team (id, color, 9)
  223.  
  224. format (strName, 191, "%s(%s) ^x04[Steames] » ^x03%s", alive, playerTeamName, name)
  225.  
  226. format (strText, 191, "%s", message)
  227. }
  228.  
  229. format (message, 191, "%s » ^x01%s", strName, strText)
  230.  
  231. sendTeamMessage (color, isAlive, playerTeam)
  232.  
  233. return PLUGIN_CONTINUE
  234. }
  235.  
  236. public sendMessage (color[], alive)
  237. {
  238. new teamName[10]
  239.  
  240. for (new player = 1; player < maxPlayers; player++)
  241. {
  242. if (!is_user_connected(player))
  243. continue
  244.  
  245. if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_LISTEN)
  246. {
  247. get_user_team (player, teamName, 9)
  248.  
  249. changeTeamInfo (player, color)
  250.  
  251. writeMessage (player, message)
  252.  
  253. changeTeamInfo (player, teamName)
  254. }
  255. }
  256. }
  257.  
  258.  
  259. public sendTeamMessage (color[], alive, playerTeam)
  260. {
  261. new teamName[10]
  262.  
  263. for (new player = 1; player < maxPlayers; player++)
  264. {
  265. if (!is_user_connected(player))
  266. continue
  267.  
  268. if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_LISTEN)
  269. {
  270. if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_LISTEN)
  271. {
  272. get_user_team (player, teamName, 9)
  273.  
  274. changeTeamInfo (player, color)
  275. writeMessage (player, message)
  276.  
  277. changeTeamInfo (player, teamName)
  278. }
  279. }
  280. }
  281. }
  282.  
  283.  
  284. public changeTeamInfo (player, team[])
  285. {
  286. message_begin (MSG_ONE, teamInfo, _, player)
  287. write_byte (player)
  288. write_string (team)
  289. message_end()
  290. }
  291.  
  292.  
  293. public writeMessage (player, message[])
  294. {
  295. message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  296. write_byte (player)
  297. write_string (message)
  298. message_end ()
  299. }
  300.  
  301. stock bool:is_user_steam(id)
  302. {
  303. static dp_pointer;
  304.  
  305. if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  306. {
  307. server_cmd("dp_clientinfo %d", id);
  308. server_exec();
  309. return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  310. }
  311.  
  312. return false;
  313. }
  314.  


Szerinted hasznos a pluginom? Ott a köszi gomb! (Kép)

_________________
Rengeteg új beszólás eléréséhez kattints IDE (Ezek alapból sank soundshoz készültek)

Steam profil:
[steam]http://steamcommunity.com/profiles/76561198089487307[/steam]


A hozzászólást 7 alkalommal szerkesztették, utoljára laki5000 2013.10.07. 15:15-kor.

Ők köszönték meg laki5000 nek ezt a hozzászólást (összesen 7): kecske123 (2013.10.07. 15:36) • theglorious (2013.10.07. 19:38) • RapperFeri (2013.10.10. 03:13) • mate10 (2013.10.16. 19:29) • Papalo'. (2013.11.20. 16:48) • boldi99 (2014.04.25. 17:13) • NuD[!]e (2014.12.09. 08:48)
  Népszerűség: 15.91%


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Előtagok
HozzászólásElküldve: 2013.10.07. 15:06 
Offline
Őskövület
Avatar

Csatlakozott: 2012.03.22. 18:22
Hozzászólások: 2978
Megköszönt másnak: 115 alkalommal
Megköszönték neki: 368 alkalommal
Ezeket még csináld meg pls:

Laki5000 írta:
Sima, nem steames játékosok neve előtt az van , hogy [Játékos]
Steames játékosok neve előtt az van, hogy [Steames]
ADMIN_KICK joggal rendelkező játékosok neve előtt [Admin]
ADMIN_LEVEL_C joggal rendelkező játékosok neve előtt [Konfigos]
ADMIN_LEVEL_B joggal rendelkező játékosok neve előtt pedig [Tulaj] előtag szerepel

_________________
Blasenkampfwagen

https://discord.gg/uBYnNnZP
GTA:PURSUIT MTA


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Előtagok
HozzászólásElküldve: 2013.10.07. 15:09 
Offline
Jómunkásember

Csatlakozott: 2013.02.11. 16:06
Hozzászólások: 491
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 50 alkalommal
Jó még javítgatom

_________________
Rengeteg új beszólás eléréséhez kattints IDE (Ezek alapból sank soundshoz készültek)

Steam profil:
[steam]http://steamcommunity.com/profiles/76561198089487307[/steam]


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Előtagok
HozzászólásElküldve: 2013.10.07. 15:42 
Offline
Fórum Moderátor
Avatar

Csatlakozott: 2012.07.02. 17:41
Hozzászólások: 1641
Megköszönt másnak: 121 alkalommal
Megköszönték neki: 247 alkalommal
A steam es játékosokat írja ki vagy akinek van steam id je? Am szép munka:)

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Előtagok
HozzászólásElküldve: 2013.10.07. 15:43 
Offline
Őskövület
Avatar

Csatlakozott: 2012.02.27. 09:42
Hozzászólások: 2588
Megköszönt másnak: 25 alkalommal
Megköszönték neki: 418 alkalommal
szép meg minden csak nem saját :D

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Előtagok
HozzászólásElküldve: 2013.10.07. 15:46 
Offline
Jómunkásember

Csatlakozott: 2013.02.11. 16:06
Hozzászólások: 491
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 50 alkalommal
Ez végülis egy plugin, de tutorial is, hogyan tudunk egyedi előtagod készíteni. mondtam, hogy még ez az első, amit persze nem teljesen önállóan csináltam, de azért elmegy nem?

_________________
Rengeteg új beszólás eléréséhez kattints IDE (Ezek alapból sank soundshoz készültek)

Steam profil:
[steam]http://steamcommunity.com/profiles/76561198089487307[/steam]


Hozzászólás jelentése
Vissza a tetejére
   
 
Hozzászólások megjelenítése:  Rendezés  
Lezárt fórum  A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [ 6 hozzászólás ] 


Ki van itt

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


Nem nyithatsz témákat ebben a fórumban.
Nem 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