Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Problemy z Funkcja HudMessage.


  • Zamknięty Temat jest zamknięty
10 odpowiedzi w tym temacie

#1 wH oN?!

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:22
  • Lokalizacja:Łódź
Offline

Napisano 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.

if (rounds == 1, 7, 14)
ShowSyncHudMsg(id, hudhandler, "= Dzis Jest Niedziela! Freeday!!!=")

Czy tak bedzie dobrze?
  • +
  • -
  • 0

#2 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 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.
  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#3 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 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:
(rounds%7==0) - niedziela
(rounds%7==1) - poniedziałek
itd
  • +
  • -
  • 0

#4 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 13.09.2009 11:57

R3X a co ty na pomysl by zrobic formatowanie tekstu typu:

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] :)
  • +
  • -
  • 0

#5 wH oN?!

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:22
  • Lokalizacja:Łódź
Offline

Napisano 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:

/* 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","2&#Game_C"/*,"2&#Game_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:)
  • +
  • -
  • 0

#6 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 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","2&#Game_C"/*,"2&#Game_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) 

}

  • +
  • -
  • 0

#7 wH oN?!

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:22
  • Lokalizacja:Łódź
Offline

Napisano 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
  • +
  • -
  • 0

#8 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 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).
  • +
  • -
  • 0

#9 wH oN?!

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:22
  • Lokalizacja:Łódź
Offline

Napisano 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?
  • +
  • -
  • 0

#10 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 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","2&#Game_C"/*,"2&#Game_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 :wstyd:
  • +
  • -
  • 0

#11 wH oN?!

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:22
  • Lokalizacja:Łódź
Offline

Napisano 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:)
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych