hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.30. 15:19



Jelenlévő felhasználók

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

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

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


Új téma nyitása  Hozzászólás a témához  [ 10 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: [KÉRÉSRE] PREFIX (a leghosszab tut)
HozzászólásElküldve: 2013.06.25. 19:39 
Offline
Őstag

Csatlakozott: 2011.06.12. 20:51
Hozzászólások: 1089
Megköszönt másnak: 3 alkalommal
Megköszönték neki: 44 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  1. #define PREFIX "[PREFIX]" //definiáljuk a prefixet
  2. #define sz "SZOVEG" //definiáljuk a szöveget
  3.  
  4. new teljesszovcsi[6] //létrehozzuk a változót ami az egész stringet tartalmazza
  5.  
  6. formatex(teljesszovcsi, charsmax(teljesszovcsi), "%s:%s", PREFIX,sz)
  7.  
  8. containi(teljesszovcsi ,"[PREFIX]:SZOVEG") == true



balage verziója:

Hozzáteszek egy kicsit, ha nem baj. Én a gungame scriptből vettem a következő dolgot, így többnyelvű és színes szövegeket is tudsz készíteni dictionary file-ból, plusz a prefixet is a dict file tartalmazza, tehát könnyen átírhatod annélkül, hogy újra le kéne fordítanod az sma-t, bár simán a forráskódba is belefűzheted a szöveget, ahogy jobban tetszik:

sma elejére mindenképpen include-old az amxmisc-et
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2.  
  3. #define LANG_PLAYER_C -76 // for print (arbitrary number)
  4. new gmsgSayText
  5.  
  6.  


plugin_init-be

SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. // ha többnyelvű file-t használnál, csak akkor kell igazából
  3. register_dictionary("sajat.txt")
  4. // itt a cvar-al beállítod, hogy színes legyen az üzenet, 1-es esetén alap szín, 0-val kikapcsolod a kiiratás funkciót
  5. colored_messages = register_cvar("amx_colored_messages","2")
  6. gmsgSayText = get_user_msgid("SayText");
  7.  


ahol kiiratást akarsz csinálni a pluginnal (bárhol):
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. ....
  3. client_printc_tag(0,0,1," %L", LANG_PLAYER_C, "VALAMI")
  4. ...........
  5.  
  6.  

itt kicsit megállok, a 3 szám az elején a következő dolgot jelenti:
első 0 - kinek szól az üzenet. Jelen esetben a 0-nál mindenkinek, ha egy személynek akarod akkor az id-t (változó) kell beírni.
második nulla - hát erre még nem jöttem rá, gyanítom, hogy az üzenet küldőjének az id-je lehet, nem mentem végig a kódon ebben a megközelítésben
harmadik szám (1) - itt kapcsolható a prefix, ha 1 van megadva akkor használni fogja az üzenet elé, jelen példában a dictionary file- ból veszi
file végére pedig ezt szúrd be:

SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. stock client_printc_tag(id,custom,tag,msg[],any:...)
  3. {
  4. // ha a plugin_initben meghatározott cvar = 0 akkor nem fog történni kiiratás
  5. new messages = get_pcvar_num(colored_messages);
  6. if(!messages) return 0;
  7.  
  8. new changeCount, num, i, j, argnum = numargs(), player;
  9. static newMsg[191], message[191], changed[8], players[32];
  10.  
  11. if(id)
  12. {
  13. players[0] = id;
  14. num = 1;
  15. }
  16. else get_players(players,num);
  17. //itt határozod meg a felhasználó nyelvét
  18. for(i=0;i<num;i++)
  19. {
  20. player = players[i];
  21. changeCount = 0;
  22.  
  23. if(!is_user_connected(player)) continue;
  24.  
  25.  
  26. for(j=4;j<argnum;j++)
  27. {
  28. if(getarg(j) == LANG_PLAYER_C)
  29. {
  30. setarg(j,0,player);
  31. changed[changeCount++] = j;
  32. }
  33. }
  34.  
  35.  
  36. vformat(newMsg,190,msg,5);
  37.  
  38.  
  39. for(j=0;j<changeCount;j++)
  40. {
  41. setarg(changed[j],0,LANG_PLAYER_C);
  42. }
  43.  
  44. //ha az üzenet meghatározásánál jelölted a prefixet, akkor itt bele fogja tenni az üzenetbe
  45. //ha dictionary file is
  46. if(tag)
  47. {
  48. formatex(message,190,"%L %s",player,"PREFIX",newMsg);
  49. }
  50. else formatex(message,190,"%s",newMsg);
  51. // itt határozod meg, ha a plugin int-ben elhelyezett cvar 2-es értékű akkor színes üzenetek lesznek. !y- alap, !g - zöld, !t csapat szín
  52. if(messages == 2)
  53. {
  54. replace_all(message,190,"!t","^x03");
  55. replace_all(message,190,"!g","^x04");
  56. replace_all(message,190,"!y","^x01");
  57. }
  58. //ha a cvar nem 2-est tartalmaz akkor eltávolítja a színezésre használt szimbólumokat
  59. else
  60. {
  61. replace_all(message,190,"!t","");
  62. replace_all(message,190,"!g","");
  63. replace_all(message,190,"!y","");
  64. }
  65.  
  66.  
  67. // üzenet kiírása
  68.  
  69. message_begin(MSG_ONE,gmsgSayText,_,player);
  70. write_byte((custom > 0) ? custom : player);
  71. write_string(message);
  72. message_end();
  73. }
  74.  
  75. return 1;
  76. }
  77.  
  78.  


a dictionary file (sajat.txt) tartalmazza:
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. PREFIX = !g[plugin_neve]
  3. VALAMI = !t ez az én pluginom
  4.  

így fog kinézni az üzenet, ha a config file-ban a amx_colored_messages értéke 2 :
[plugin_neve]ez az én pluginom

szerintem ennél több nem is kell egy pluginba kiiratáshoz, bár azért kiváncsi lennék, hogy megoldható-e más szín is, nem csak a cs négy alap színe.
illetve még az is érdekelne, hogy hogyan lehet megoldani, hogy ha az üzenet játékos nevet tartalmaz akkor az a saját csapat színével legyen kiírva, de majd valahogy rájövök:D

_________________
[img]semmi[/img]


A hozzászólást 2 alkalommal szerkesztették, utoljára fuck604 2013.06.25. 21:11-kor.

Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2013.06.25. 19:48 
Offline
Jómunkásember
Avatar

Csatlakozott: 2012.11.14. 15:20
Hozzászólások: 449
Megköszönt másnak: 80 alkalommal
Megköszönték neki: 19 alkalommal
fuck604 írta:
SMA Forráskód: [ Mindet kijelol ]
  1. #define prefix "[PREFIX]" //definiáljuk a prefixet
  2. #define sz "SZOVEG" //definiáljuk a szöveget
  3.  
  4. new teljesszovcsi[6] //létrehozzuk a változót ami az egész stringet tartalmazza
  5.  
  6. formatex(teljesszovcsi, charsmax(teljesszovcsi), "%s:%s", prefix,sz)
  7.  
  8. containi(teljesszovcsi ,"[PREFIX]:SZOVEG") == true


én arra gondoltam hogy pl.: [Admin] Bebibalna : asdasdasd

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2013.06.25. 19:59 
Offline
Signore Senior
Avatar

Csatlakozott: 2011.09.09. 17:39
Hozzászólások: 4020
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 139 alkalommal
Annyiban kötnék bele, hogy a predirektívákat nagy betűkkel szokás írni, hogy meg legyenek különböztetve a funkcióktól.

SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. #define MAKRO(%1) user_silentkill(%1)
  3.  


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2013.06.25. 20:36 
Offline
Őstag

Csatlakozott: 2011.06.12. 20:51
Hozzászólások: 1089
Megköszönt másnak: 3 alkalommal
Megköszönték neki: 44 alkalommal
Silent írta:
Annyiban kötnék bele, hogy a predirektívákat nagy betűkkel szokás írni, hogy meg legyenek különböztetve a funkcióktól.

SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. #define MAKRO(%1) user_silentkill(%1)
  3.  

javítva silent úr

_________________
[img]semmi[/img]


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2013.06.25. 20:37 
Offline
Őstag

Csatlakozott: 2011.06.12. 20:51
Hozzászólások: 1089
Megköszönt másnak: 3 alkalommal
Megköszönték neki: 44 alkalommal
Gatshow írta:
fuck604 írta:
SMA Forráskód: [ Mindet kijelol ]
  1. #define prefix "[PREFIX]" //definiáljuk a prefixet
  2. #define sz "SZOVEG" //definiáljuk a szöveget
  3.  
  4. new teljesszovcsi[6] //létrehozzuk a változót ami az egész stringet tartalmazza
  5.  
  6. formatex(teljesszovcsi, charsmax(teljesszovcsi), "%s:%s", prefix,sz)
  7.  
  8. containi(teljesszovcsi ,"[PREFIX]:SZOVEG") == true


én arra gondoltam hogy pl.: [Admin] Bebibalna : asdasdasd


arra van plugin

_________________
[img]semmi[/img]


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2013.06.25. 21:04 
Offline
Jómunkásember
Avatar

Csatlakozott: 2012.11.14. 15:20
Hozzászólások: 449
Megköszönt másnak: 80 alkalommal
Megköszönték neki: 19 alkalommal
fuck604 írta:
Gatshow írta:
fuck604 írta:
SMA Forráskód: [ Mindet kijelol ]
  1. #define prefix "[PREFIX]" //definiáljuk a prefixet
  2. #define sz "SZOVEG" //definiáljuk a szöveget
  3.  
  4. new teljesszovcsi[6] //létrehozzuk a változót ami az egész stringet tartalmazza
  5.  
  6. formatex(teljesszovcsi, charsmax(teljesszovcsi), "%s:%s", prefix,sz)
  7.  
  8. containi(teljesszovcsi ,"[PREFIX]:SZOVEG") == true


én arra gondoltam hogy pl.: [Admin] Bebibalna : asdasdasd


arra van plugin


igen tudom de én kifejezetten erre gondoltam vagy valami hasonlóra:
SMA Forráskód: [ Mindet kijelol ]
  1. if(get_user_flags(id) & ADMIN_BAN)
  2. {
  3. "itt a prefixes cucc"
  4. }

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2013.06.25. 21:07 
Offline
Beavatott
Avatar

Csatlakozott: 2008.09.15. 16:41
Hozzászólások: 76
Megköszönték neki: 6 alkalommal
Hozzáteszek egy kicsit, ha nem baj. Én a gungame scriptből vettem a következő dolgot, így többnyelvű és színes szövegeket is tudsz készíteni dictionary file-ból, plusz a prefixet is a dict file tartalmazza, tehát könnyen átírhatod annélkül, hogy újra le kéne fordítanod az sma-t, bár simán a forráskódba is belefűzheted a szöveget, ahogy jobban tetszik:

sma elejére mindenképpen include-old az amxmisc-et
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2.  
  3. #define LANG_PLAYER_C -76 // for print (arbitrary number)
  4. new gmsgSayText
  5.  
  6.  


plugin_init-be

SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. // ha többnyelvű file-t használnál, csak akkor kell igazából
  3. register_dictionary("sajat.txt")
  4. // itt a cvar-al beállítod, hogy színes legyen az üzenet, 1-es esetén alap szín, 0-val kikapcsolod a kiiratás funkciót
  5. colored_messages = register_cvar("amx_colored_messages","2")
  6. gmsgSayText = get_user_msgid("SayText");
  7.  


ahol kiiratást akarsz csinálni a pluginnal (bárhol):
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. ....
  3. client_printc_tag(0,0,1," %L", LANG_PLAYER_C, "VALAMI")
  4. ...........
  5.  
  6.  

itt kicsit megállok, a 3 szám az elején a következő dolgot jelenti:
első 0 - kinek szól az üzenet. Jelen esetben a 0-nál mindenkinek, ha egy személynek akarod akkor az id-t (változó) kell beírni.
második nulla - hát erre még nem jöttem rá, gyanítom, hogy az üzenet küldőjének az id-je lehet, nem mentem végig a kódon ebben a megközelítésben
harmadik szám (1) - itt kapcsolható a prefix, ha 1 van megadva akkor használni fogja az üzenet elé, jelen példában a dictionary file- ból veszi
file végére pedig ezt szúrd be:

SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. stock client_printc_tag(id,custom,tag,msg[],any:...)
  3. {
  4. // ha a plugin_initben meghatározott cvar = 0 akkor nem fog történni kiiratás
  5. new messages = get_pcvar_num(colored_messages);
  6. if(!messages) return 0;
  7.  
  8. new changeCount, num, i, j, argnum = numargs(), player;
  9. static newMsg[191], message[191], changed[8], players[32];
  10.  
  11. if(id)
  12. {
  13. players[0] = id;
  14. num = 1;
  15. }
  16. else get_players(players,num);
  17. //itt határozod meg a felhasználó nyelvét
  18. for(i=0;i<num;i++)
  19. {
  20. player = players[i];
  21. changeCount = 0;
  22.  
  23. if(!is_user_connected(player)) continue;
  24.  
  25.  
  26. for(j=4;j<argnum;j++)
  27. {
  28. if(getarg(j) == LANG_PLAYER_C)
  29. {
  30. setarg(j,0,player);
  31. changed[changeCount++] = j;
  32. }
  33. }
  34.  
  35.  
  36. vformat(newMsg,190,msg,5);
  37.  
  38.  
  39. for(j=0;j<changeCount;j++)
  40. {
  41. setarg(changed[j],0,LANG_PLAYER_C);
  42. }
  43.  
  44. //ha az üzenet meghatározásánál jelölted a prefixet, akkor itt bele fogja tenni az üzenetbe
  45. //ha dictionary file is
  46. if(tag)
  47. {
  48. formatex(message,190,"%L %s",player,"PREFIX",newMsg);
  49. }
  50. else formatex(message,190,"%s",newMsg);
  51. // itt határozod meg, ha a plugin int-ben elhelyezett cvar 2-es értékű akkor színes üzenetek lesznek. !y- alap, !g - zöld, !t csapat szín
  52. if(messages == 2)
  53. {
  54. replace_all(message,190,"!t","^x03");
  55. replace_all(message,190,"!g","^x04");
  56. replace_all(message,190,"!y","^x01");
  57. }
  58. //ha a cvar nem 2-est tartalmaz akkor eltávolítja a színezésre használt szimbólumokat
  59. else
  60. {
  61. replace_all(message,190,"!t","");
  62. replace_all(message,190,"!g","");
  63. replace_all(message,190,"!y","");
  64. }
  65.  
  66.  
  67. // üzenet kiírása
  68.  
  69. message_begin(MSG_ONE,gmsgSayText,_,player);
  70. write_byte((custom > 0) ? custom : player);
  71. write_string(message);
  72. message_end();
  73. }
  74.  
  75. return 1;
  76. }
  77.  
  78.  


a dictionary file (sajat.txt) tartalmazza:
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. PREFIX = !g[plugin_neve]
  3. VALAMI = !t ez az én pluginom
  4.  

így fog kinézni az üzenet, ha a config file-ban a amx_colored_messages értéke 2 :
[plugin_neve]ez az én pluginom

szerintem ennél több nem is kell egy pluginba kiiratáshoz, bár azért kiváncsi lennék, hogy megoldható-e más szín is, nem csak a cs négy alap színe.
illetve még az is érdekelne, hogy hogyan lehet megoldani, hogy ha az üzenet játékos nevet tartalmaz akkor az a saját csapat színével legyen kiírva, de majd valahogy rájövök:D


visszaolvastam a hozzászólásodat (pár pillanattal előbb küldted) ahol a stock- ban a custom változó van, oda még beszúrhatsz még egy változót és utána legenerálod az if függvényedet .

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2013.06.25. 21:16 
Offline
Jómunkásember
Avatar

Csatlakozott: 2012.11.14. 15:20
Hozzászólások: 449
Megköszönt másnak: 80 alkalommal
Megköszönték neki: 19 alkalommal
Balage74 írta:
Hozzáteszek egy kicsit, ha nem baj. Én a gungame scriptből vettem a következő dolgot, így többnyelvű és színes szövegeket is tudsz készíteni dictionary file-ból, plusz a prefixet is a dict file tartalmazza, tehát könnyen átírhatod annélkül, hogy újra le kéne fordítanod az sma-t, bár simán a forráskódba is belefűzheted a szöveget, ahogy jobban tetszik:

sma elejére mindenképpen include-old az amxmisc-et
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2.  
  3. #define LANG_PLAYER_C -76 // for print (arbitrary number)
  4. new gmsgSayText
  5.  
  6.  


plugin_init-be

SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. // ha többnyelvű file-t használnál, csak akkor kell igazából
  3. register_dictionary("sajat.txt")
  4. // itt a cvar-al beállítod, hogy színes legyen az üzenet, 1-es esetén alap szín, 0-val kikapcsolod a kiiratás funkciót
  5. colored_messages = register_cvar("amx_colored_messages","2")
  6. gmsgSayText = get_user_msgid("SayText");
  7.  


ahol kiiratást akarsz csinálni a pluginnal (bárhol):
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. ....
  3. client_printc_tag(0,0,1," %L", LANG_PLAYER_C, "VALAMI")
  4. ...........
  5.  
  6.  

itt kicsit megállok, a 3 szám az elején a következő dolgot jelenti:
első 0 - kinek szól az üzenet. Jelen esetben a 0-nál mindenkinek, ha egy személynek akarod akkor az id-t (változó) kell beírni.
második nulla - hát erre még nem jöttem rá, gyanítom, hogy az üzenet küldőjének az id-je lehet, nem mentem végig a kódon ebben a megközelítésben
harmadik szám (1) - itt kapcsolható a prefix, ha 1 van megadva akkor használni fogja az üzenet elé, jelen példában a dictionary file- ból veszi
file végére pedig ezt szúrd be:

SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. stock client_printc_tag(id,custom,tag,msg[],any:...)
  3. {
  4. // ha a plugin_initben meghatározott cvar = 0 akkor nem fog történni kiiratás
  5. new messages = get_pcvar_num(colored_messages);
  6. if(!messages) return 0;
  7.  
  8. new changeCount, num, i, j, argnum = numargs(), player;
  9. static newMsg[191], message[191], changed[8], players[32];
  10.  
  11. if(id)
  12. {
  13. players[0] = id;
  14. num = 1;
  15. }
  16. else get_players(players,num);
  17. //itt határozod meg a felhasználó nyelvét
  18. for(i=0;i<num;i++)
  19. {
  20. player = players[i];
  21. changeCount = 0;
  22.  
  23. if(!is_user_connected(player)) continue;
  24.  
  25.  
  26. for(j=4;j<argnum;j++)
  27. {
  28. if(getarg(j) == LANG_PLAYER_C)
  29. {
  30. setarg(j,0,player);
  31. changed[changeCount++] = j;
  32. }
  33. }
  34.  
  35.  
  36. vformat(newMsg,190,msg,5);
  37.  
  38.  
  39. for(j=0;j<changeCount;j++)
  40. {
  41. setarg(changed[j],0,LANG_PLAYER_C);
  42. }
  43.  
  44. //ha az üzenet meghatározásánál jelölted a prefixet, akkor itt bele fogja tenni az üzenetbe
  45. //ha dictionary file is
  46. if(tag)
  47. {
  48. formatex(message,190,"%L %s",player,"PREFIX",newMsg);
  49. }
  50. else formatex(message,190,"%s",newMsg);
  51. // itt határozod meg, ha a plugin int-ben elhelyezett cvar 2-es értékű akkor színes üzenetek lesznek. !y- alap, !g - zöld, !t csapat szín
  52. if(messages == 2)
  53. {
  54. replace_all(message,190,"!t","^x03");
  55. replace_all(message,190,"!g","^x04");
  56. replace_all(message,190,"!y","^x01");
  57. }
  58. //ha a cvar nem 2-est tartalmaz akkor eltávolítja a színezésre használt szimbólumokat
  59. else
  60. {
  61. replace_all(message,190,"!t","");
  62. replace_all(message,190,"!g","");
  63. replace_all(message,190,"!y","");
  64. }
  65.  
  66.  
  67. // üzenet kiírása
  68.  
  69. message_begin(MSG_ONE,gmsgSayText,_,player);
  70. write_byte((custom > 0) ? custom : player);
  71. write_string(message);
  72. message_end();
  73. }
  74.  
  75. return 1;
  76. }
  77.  
  78.  


a dictionary file (sajat.txt) tartalmazza:
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. PREFIX = !g[plugin_neve]
  3. VALAMI = !t ez az én pluginom
  4.  

így fog kinézni az üzenet, ha a config file-ban a amx_colored_messages értéke 2 :
[plugin_neve]ez az én pluginom

szerintem ennél több nem is kell egy pluginba kiiratáshoz, bár azért kiváncsi lennék, hogy megoldható-e más szín is, nem csak a cs négy alap színe.
illetve még az is érdekelne, hogy hogyan lehet megoldani, hogy ha az üzenet játékos nevet tartalmaz akkor az a saját csapat színével legyen kiírva, de majd valahogy rájövök:D


visszaolvastam a hozzászólásodat (pár pillanattal előbb küldted) ahol a stock- ban a custom változó van, oda még beszúrhatsz még egy változót és utána legenerálod az if függvényedet .


na jó ne haragudj de én ezt egyszer majd elolvasom de most épp az a célom hogy ne dictionary-ból kelljen hanem egyszerűen ha megvan a joga akkor ott legyen ennyi :D

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2013.06.25. 22:03 
Offline
Beavatott
Avatar

Csatlakozott: 2008.09.15. 16:41
Hozzászólások: 76
Megköszönték neki: 6 alkalommal
szerintem rendesen kikommenteltem, simán ki tudod hagyni a nyelvi részt, sőt a színes szövegeket is.
elején csak definiáld a gmsgsaytext-et, a plugin_ini-ből hagyd ki a colored message és a dictionary részt,
a stockod meg így fog kinézni nagyjából (nem ellenőriztem...):

SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. stock client_printc_tag(id,custom,msg[],any:...)
  3. {
  4.  
  5.  
  6. new changeCount, num, i, player;
  7. static newMsg[191], message[191], changed[8], players[32];
  8.  
  9. if(id)
  10. {
  11. players[0] = id;
  12. num = 1;
  13. }
  14. else get_players(players,num);
  15. //itt határozod meg a felhasználó nyelvét
  16. for(i=0;i<num;i++)
  17. {
  18. player = players[i];
  19. changeCount = 0;
  20.  
  21. if(!is_user_connected(player)) continue;
  22.  
  23. vformat(newMsg,190,msg,5);
  24.  
  25.  
  26.  
  27.  
  28. //ha az üzenet meghatározásánál jelölted a prefixet, akkor itt bele fogja tenni az üzenetbe
  29. //ha dictionary file is
  30. if(get_user_flags(id) & ADMIN_BAN)
  31. {
  32. formatex(message,190,"%s","ide kerül a prefixed amit az admin_ban joggal rendelkezők kapnak",newMsg);
  33. }
  34. else formatex(message,190,"%s",newMsg);
  35.  
  36.  
  37.  
  38. // üzenet kiírása
  39.  
  40. message_begin(MSG_ONE,gmsgSayText,_,player);
  41. write_byte((custom > 0) ? custom : player);
  42. write_string(message);
  43. message_end();
  44. }
  45.  
  46. return 1;
  47. }
  48.  
  49.  



innen már egyszerű a kiírás:

SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. ....
  3. client_printc_tag(0,0,"VALAMI")
  4. ...........
  5.  
  6.  
  7.  
  8.  


sőt, a customot is ki lehet szedni a stock-ból. egy kódot egyszerűsíteni mindig könnyebb mint megírni....
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. write_byte(0);
  3.  

stock meghatározásánál meg ne legyen benn érték kiiratás meg:
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. ....
  3. client_printc_tag(0,"VALAMI")
  4. ...........
  5.  
  6.  

ha valamit rosszul írtam volna akkor a fordító úgyis elkezd kiabálni, hogy melyik sorban van a hiba, onnan meg nem hiszem, hogy nagy gond kijavítani.
Egyébként a formatex-nek nézz utána, abban van ami neked kell (mint láthatod is fentebb)

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2013.06.25. 22:33 
Offline
Jómunkásember
Avatar

Csatlakozott: 2012.11.14. 15:20
Hozzászólások: 449
Megköszönt másnak: 80 alkalommal
Megköszönték neki: 19 alkalommal
Balage74 írta:
szerintem rendesen kikommenteltem, simán ki tudod hagyni a nyelvi részt, sőt a színes szövegeket is.
elején csak definiáld a gmsgsaytext-et, a plugin_ini-ből hagyd ki a colored message és a dictionary részt,
a stockod meg így fog kinézni nagyjából (nem ellenőriztem...):

SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. stock client_printc_tag(id,custom,msg[],any:...)
  3. {
  4.  
  5.  
  6. new changeCount, num, i, player;
  7. static newMsg[191], message[191], changed[8], players[32];
  8.  
  9. if(id)
  10. {
  11. players[0] = id;
  12. num = 1;
  13. }
  14. else get_players(players,num);
  15. //itt határozod meg a felhasználó nyelvét
  16. for(i=0;i<num;i++)
  17. {
  18. player = players[i];
  19. changeCount = 0;
  20.  
  21. if(!is_user_connected(player)) continue;
  22.  
  23. vformat(newMsg,190,msg,5);
  24.  
  25.  
  26.  
  27.  
  28. //ha az üzenet meghatározásánál jelölted a prefixet, akkor itt bele fogja tenni az üzenetbe
  29. //ha dictionary file is
  30. if(get_user_flags(id) & ADMIN_BAN)
  31. {
  32. formatex(message,190,"%s","ide kerül a prefixed amit az admin_ban joggal rendelkezők kapnak",newMsg);
  33. }
  34. else formatex(message,190,"%s",newMsg);
  35.  
  36.  
  37.  
  38. // üzenet kiírása
  39.  
  40. message_begin(MSG_ONE,gmsgSayText,_,player);
  41. write_byte((custom > 0) ? custom : player);
  42. write_string(message);
  43. message_end();
  44. }
  45.  
  46. return 1;
  47. }
  48.  
  49.  



innen már egyszerű a kiírás:

SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. ....
  3. client_printc_tag(0,0,"VALAMI")
  4. ...........
  5.  
  6.  
  7.  
  8.  


sőt, a customot is ki lehet szedni a stock-ból. egy kódot egyszerűsíteni mindig könnyebb mint megírni....
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. write_byte(0);
  3.  

stock meghatározásánál meg ne legyen benn érték kiiratás meg:
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. ....
  3. client_printc_tag(0,"VALAMI")
  4. ...........
  5.  
  6.  

ha valamit rosszul írtam volna akkor a fordító úgyis elkezd kiabálni, hogy melyik sorban van a hiba, onnan meg nem hiszem, hogy nagy gond kijavítani.
Egyébként a formatex-nek nézz utána, abban van ami neked kell (mint láthatod is fentebb)


Tesó nekem ez kéne:

["hp"] "név" : "szöveg"

Vagy

"név" ["hp"] : "szöveg"

csak meg kéne írni nekem fontos lenne és ha lehet egy publicba :) főleg hogy ez nekem nem úgy kell hogy maga a plugin hanem egy pluginba beleírni (nem teszem publikussá)

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 10 hozzászólás ] 


Ki van itt

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


Nyithatsz új témákat ebben a fórumban.
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