Czy tak bedzie dobrze?if (rounds == 1, 7, 14)
ShowSyncHudMsg(id, hudhandler, "= Dzis Jest Niedziela! Freeday!!!=")
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
Problemy z Funkcja HudMessage.
Started By
wH oN?!
, 12.09.2009 14:35
10 replies to this topic
#1
Posted 12.09.2009 14:35
Witam wszystkich. Jestem początkujący w te klocki i nie wiem czy dobrze mysle jak to zrobic. Mianowicie potrzebuje aby w kazdej rundzie wyswietlalo sie 1 runda jest poniedzialek, 2 jest wtorek. i tak w kólko. To jest akurat proste a co jezeli znow ma byc poniedzialek czy wystarczy ze zrobie to piszac po przecinku 1,7(runda)itd.
#2
Posted 12.09.2009 15:47
Zacznijmy od tego że musisz określić położenie i kolor napisu w hud:
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 12.0) show_hudmessage(id, "= Dzis Jest Niedziela! Freeday!!!=")Przykład koloru czerwonego, napis na środku ekranu.
IP: ts3.cserwerek.pl
#3
Posted 12.09.2009 17:19
jeśli chcesz użyć ShowSyncHudMsg() to oprócz stworzenia uchwytu SyncHud nadal obowiązkowo musić użyć najpierw set_hudmessage()
do rund zamiast if(rounds ==1 || rounds ==7 || rounds ==14) użyj:
do rund zamiast if(rounds ==1 || rounds ==7 || rounds ==14) użyj:
(rounds%7==0) - niedziela (rounds%7==1) - poniedziałekitd
#4
Posted 13.09.2009 11:57
R3X a co ty na pomysl by zrobic formatowanie tekstu typu:
Nie trzeba by uzywac if'ow itp, a caly cod za wszystkie dni bylby praktycznie w 1 linice :>
A gdyby trzeba przesunac o dzien w 1 lub druga strone mozna walnac [(rounds+x)%7]
dni_tygodnia[rounds%7]
Nie trzeba by uzywac if'ow itp, a caly cod za wszystkie dni bylby praktycznie w 1 linice :>
A gdyby trzeba przesunac o dzien w 1 lub druga strone mozna walnac [(rounds+x)%7]
#5
Posted 13.09.2009 12:09
Dziekuje wszystkim za pomoc oczywiscie pomogl leci dla osob ktore naświetliły mi sprawe. Lecz zrobilem to troche po swojemu:P. Teraz mam problem z taskiem gdyz nie wiem jak zrobic aby napis wyswietlal sie cały czas bo nieraz np znika a chce by sie odswiezal i calala runde trwal co mam zrobic? MOj Kod:
Oczywiscie jak komus sie bedzie chcialo skrocic ten plugin z tymi (rounds+x)%7 będę wdzieczny bo moze sie dzięki temu naucze:)
Z fgory dzięki za pomoc w nastepnym Problemie:)
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <hamsandwich> #define PLUGIN "JailBreak: Dni" #define VERSION "1.0" #define AUTHOR "Sn!ff3r" new rounds, hudhandler public plugin_init() { ) register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Spawn, "player", "client_spawn", 1) register_logevent("round_end", 2, "1=Round_End") register_event("TextMsg","restart_roundsnum","a","2Game_C"/*,"2Game_w"*/) hudhandler = CreateHudSyncObj() set_task(20.0,"napis") } public round_end() { rounds ++ } public restart_roundsnum() { rounds = 0 } public napis(id) { set_hudmessage(0, 204, 0, -1.0, 0.2, 0, 6.0, 20.0) ShowSyncHudMsg(id, hudhandler, "= Rozpoczyna sie dzien %d =", rounds) if (rounds == 1||rounds == 8||rounds == 15||rounds == 22||rounds == 29||rounds == 36) ShowSyncHudMsg(id, hudhandler, "= Dzis jest NIEDZIELA. Dzien Wolny!!!=") if (rounds == 2||rounds == 9||rounds == 16||rounds == 23||rounds == 30||rounds == 37) ShowSyncHudMsg(id, hudhandler, "= Dzis jest PONIEDZIALEK.=") if (rounds == 3||rounds == 10||rounds == 17||rounds == 24||rounds == 31||rounds == 38) ShowSyncHudMsg(id, hudhandler, "= Dzis jest WTOREK.=") if (rounds == 4||rounds == 11||rounds == 18||rounds == 25||rounds == 32||rounds == 39) ShowSyncHudMsg(id, hudhandler, "= Dzis jest SRODA.=") if (rounds == 5||rounds == 12||rounds == 19||rounds == 26||rounds == 33||rounds == 40) ShowSyncHudMsg(id, hudhandler, "= Dzis jest CZWARTEK.=") if (rounds == 6||rounds == 13||rounds == 20||rounds == 27||rounds == 34||rounds == 41) ShowSyncHudMsg(id, hudhandler, "= Dzis jest PIATEK. =") if (rounds == 7||rounds == 14||rounds == 21||rounds == 28||rounds == 35||rounds == 42) ShowSyncHudMsg(id, hudhandler, "= Dzis jest SOBOTA. =") } public client_spawn(id) { set_task(20.0,"napis") napis(id) }
Oczywiscie jak komus sie bedzie chcialo skrocic ten plugin z tymi (rounds+x)%7 będę wdzieczny bo moze sie dzięki temu naucze:)
Z fgory dzięki za pomoc w nastepnym Problemie:)
#6
Posted 13.09.2009 12:15
#include <amxmodx> #include <amxmisc> #include <hamsandwich> #define PLUGIN "JailBreak: Dni" #define VERSION "1.0" #define AUTHOR "Sn!ff3r" new rounds, hudhandler new dni[7][]={"SOBOTA","NIEDZIELA. DZIEN WOLNY!!!","PONIEDZIALEK","WTOREK","SRODA","CZWARTEK","PIATEK"} public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Spawn, "player", "client_spawn", 1) register_logevent("round_end", 2, "1=Round_End") register_event("TextMsg","restart_roundsnum","a","2Game_C"/*,"2Game_w"*/) hudhandler = CreateHudSyncObj() } public round_end() { rounds ++ } public restart_roundsnum() { rounds = 0 } public napis(id) { set_hudmessage(0, 204, 0, -1.0, 0.2, 0, 6.0, 20.0) ShowSyncHudMsg(id, hudhandler, "= Rozpoczyna sie dzien %d =", rounds) ShowSyncHudMsg(id, hudhandler, "= Dzis jest %s =",dni[rounds%7]) } public client_spawn(id) { napis(id) }
#7
Posted 13.09.2009 12:18
Ojej dodalem 2 razy set task:o w ktorym miejscu on powinien byc? Jezeli mozesz to zmienic aby sie skompilowalo bo niejestem pewien czy dobrze bedzzie jak ja to zrobie:) Bo teraz wyswietla errory;x
#8
Posted 13.09.2009 12:20
W plugin_init miales niepotrzebny nawias " ) "
Edit: set_task(20.0,"napis") - to nie zadziala bo funkcja wymaga id gracza, a task sprawi ze id bedzie rowne 0 (a to nie jest gracz).
Edit: set_task(20.0,"napis") - to nie zadziala bo funkcja wymaga id gracza, a task sprawi ze id bedzie rowne 0 (a to nie jest gracz).
#9
Posted 13.09.2009 12:23
DObra lece przetestowac dzialanie oczywiscie pomogl dla Ciebie:) Jak Przetestuje dam eita w razie ewentualnych zastrzezen:) A i czy nie ustawic lepiej aby byl napis co 5 sec a nie co 20?
#10
Posted 13.09.2009 12:27
#include <amxmodx> #include <amxmisc> #include <hamsandwich> #define PLUGIN "JailBreak: Dni" #define VERSION "1.0" #define AUTHOR "Sn!ff3r" new rounds, hudhandler new dni[7][]={"SOBOTA","NIEDZIELA. DZIEN WOLNY!!!","PONIEDZIALEK","WTOREK","SRODA","CZWARTEK","PIATEK"} public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Spawn, "player", "client_spawn", 1) register_logevent("round_end", 2, "1=Round_End") register_event("TextMsg","restart_roundsnum","a","2Game_C"/*,"2Game_w"*/) hudhandler = CreateHudSyncObj() set_task ( 5.0, "show_info", 13572 ,"", 0, "b") } public round_end() { rounds ++ } public restart_roundsnum() { rounds = 0 } public napis(id) { set_hudmessage(0, 204, 0, -1.0, 0.2, 0, 6.0, 20.0) ShowSyncHudMsg(id, hudhandler, "= Rozpoczyna sie dzien %d =", rounds) ShowSyncHudMsg(id, hudhandler, "= Dzis jest %s =",dni[rounds%7]) } public client_spawn(id) { napis(id) } public show_info() { napis(0) }
Edit: moj blad 0 to wyswietla wszystkim
#11
Posted 13.09.2009 12:37
dzięki bardzo oczywiscie pomogl dla Ciebie wszystko elegancko dziala:D A i jakbys mogl zajrzec do 2 tematów ktore zalozylismy z moim ziomkiem
http://amxx.pl/topic... ... 3f17#93085 Jeden:)
http://amxx.pl/topic... ... t18302.htm Drugi:)
Przepraszam za marudzenie ale tak naprawdę dopiero sie czegokolwiek ucze w skryptach:D Ale mam nadzieje ze cos sie naucze:)
http://amxx.pl/topic... ... 3f17#93085 Jeden:)
http://amxx.pl/topic... ... t18302.htm Drugi:)
Przepraszam za marudzenie ale tak naprawdę dopiero sie czegokolwiek ucze w skryptach:D Ale mam nadzieje ze cos sie naucze:)
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users