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

Plugin z informacja na sayu tylko dla tt w danym czasie


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
10 odpowiedzi w tym temacie

#1 patryQ1997

    Profesjonalista

  • Użytkownik

Reputacja: 5
Nowy

  • Postów:204
  • GG:
  • Imię:Patryk
  • Lokalizacja:Czeladź
Offline

Napisano 30.08.2014 16:11

Siemka..Szukam plugin lub jeżeli takowy nie istnieje proszę o jego napisane ;)

 

Plugin będzie pokazywał na sayu (z zastosowanie colorchatu) jedną informacje "de_dust2 # Minuta minęła! Kampienie na respie jest w tej chwili karane!" po upływie minuty (w każdej rundzie) i wyświetlało tylko graczom TT.

Daje +


Użytkownik patryQ1997 edytował ten post 30.08.2014 16:12

  • +
  • -
  • 0

#2 Drago36

    Profesjonalista - if you know what i mean

  • Power User

Reputacja: 561
Wszechwiedzący

  • Postów:707
  • GG:
  • Imię:Mów mi D.ave
  • Lokalizacja:Polska
Offline

Napisano 30.08.2014 16:23

#include <amxmodx>
#include <colorchat>

new g_MaxPlayers

public plugin_init() {
	register_plugin("Info o kampieniu", "1.0", "Dr@goN")
	register_logevent("Poczatek_Rundy", 2, "1=Round_Start") 
	g_MaxPlayers = get_maxplayers()
}

public Poczatek_Rundy()
	set_task(60.0, "Info")
	
public Info() {
	for(new i = 1; i <= g_MaxPlayers; i++) {
		if(is_user_connected(i) && get_user_team(i) == 1) {
			ColorChat(i, RED, "de_dust2 ^x01# ^x04Minuta minela! Kampienie na respie jest w tej chwili karane!")
		}
	}
}

  • +
  • -
  • 1

#3 patryQ1997

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:204
  • GG:
  • Imię:Patryk
  • Lokalizacja:Czeladź
Offline

Napisano 30.08.2014 16:40

Nie do końca się plugin sprawdza, ponieważ pokazuję tą wiadomość co minute. A mi chodzi po minucie od rozpoczęcia rundy.


  • +
  • -
  • 0

#4 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 683
Wszechmogący

  • Postów:1 258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 30.08.2014 17:29

#include <amxmodx>
#include <colorchat>

new g_MaxPlayers

public plugin_init() {
	register_plugin("Info o kampieniu", "1.0", "Dr@goN")
	register_logevent("Poczatek_Rundy", 2, "1=Round_Start") 
	g_MaxPlayers = get_maxplayers()
}

public Poczatek_Rundy()
	set_task(60.0, "Info")
	
public Info() {
	for(new i = 1; i <= g_MaxPlayers; i++) {
		if(is_user_connected(i) && get_user_team(i) == 1) {
			ColorChat(i, RED, "de_dust2 ^x01# ^x04Minuta minela! Kampienie na respie jest w tej chwili karane!")
		}
	}
}

 

Jeżeli runda skończyła się za wcześnie to task istnieje i zostanie wywołany. Tylko nie mam pomysłu, jak temu zaradzić, bo używając boolów, jak tak przed chwilą myślałem, może być problem, bo mogą się źle resetować. Tak mi się chociaż wydaje.


  • +
  • -
  • 0

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#5 szelbi

    Hero

  • Power User

Reputacja: 373
Wszechpomocny

  • Postów:1 032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 30.08.2014 17:34

#include <amxmodx>
#include <colorchat>

#define TASK 4895

public plugin_init()
{
	register_plugin("Kampienie", "1.0", "szelbi");
	register_logevent("poczatek_rundy", 2, "1=Round_Start");
	register_logevent("koniec_rundy", 2, "1=Round_End");
}

public poczatek_rundy()
{
	set_task(60.0, "info", TASK);
}

public koniec_rundy()
{
	if(task_exist(TASK))
	remove_task(TASK);
}
	
public info()
{
	ColorChat(0, RED, "de_dust2 ^x01# ^x04Minuta minela! Kampienie na respie jest w tej chwili karane!");
}

  • +
  • -
  • 1

#6 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 30.08.2014 17:38

@up
Dodaj pętlę po graczach i sprawdzaj czy są w terro, dopiero wyświetlaj wiadomość


  • +
  • -
  • 1

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#7 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 683
Wszechmogący

  • Postów:1 258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 30.08.2014 17:38

Mała poprawka do pluginu kolegi Szelbiego

 

#include <amxmodx>
#include <colorchat>
 
#define TASK 4895
 
new g_MaxPlayers
 
public plugin_init()
{
register_plugin("Kampienie", "1.0", "szelbi");
register_logevent("poczatek_rundy", 2, "1=Round_Start");
register_logevent("koniec_rundy", 2, "1=Round_End");
}
 
public plugin_cfg()
g_MaxPlayers = get_maxplayers()
 
public poczatek_rundy()
{
set_task(60.0, "info", TASK);
}
 
public koniec_rundy()
{
if(task_exists(TASK))
remove_task(TASK);
}
 
public info()
{
for(new i = 1; i <= g_MaxPlayers; i++) {
if(is_user_connected(i) && get_user_team(i) == 1) {
ColorChat(i, RED, "de_dust2 ^x01# ^x04Minuta minela! Kampienie na respie jest w tej chwili karane!")
}
}
}

  • +
  • -
  • 1

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#8 szelbi

    Hero

  • Power User

Reputacja: 373
Wszechpomocny

  • Postów:1 032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 30.08.2014 17:45

@up
Dodaj pętlę po graczach i sprawdzaj czy są w terro, dopiero wyświetlaj wiadomość

Zapomniałem, że ma być tylko dla TT :P


  • +
  • -
  • 1

#9 Drago36

    Profesjonalista - if you know what i mean

  • Power User

Reputacja: 561
Wszechwiedzący

  • Postów:707
  • GG:
  • Imię:Mów mi D.ave
  • Lokalizacja:Polska
Offline

Napisano 30.08.2014 18:26

Zapomniałem, że to ma się raz wyświetlać.

 

@szelbi

Wiadomość ma się raz wyświetlić, nie po minucie aż do końca rundy ;)

 

Poprawiona wersja.

#include <amxmodx>
#include <colorchat>

new g_MaxPlayers

public plugin_init() {
	register_plugin("Info o kampieniu", "1.0", "Dr@goN")
	register_logevent("Poczatek_Rundy", 2, "1=Round_Start") 
	g_MaxPlayers = get_maxplayers()
}

public Poczatek_Rundy()
	set_task(60.0, "Info",5643)
	
public Info() {
	for(new i = 1; i <= g_MaxPlayers; i++) {
		if(is_user_connected(i) && get_user_team(i) == 1) {
			ColorChat(i, RED, "de_dust2 ^x01# ^x04Minuta minela! Kampienie na respie jest w tej chwili karane!")
			remove_task(5643)
		}
	}
}

  • +
  • -
  • 2

#10 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 30.08.2014 18:40


Wiadomość ma się raz wyświetlić, nie po minucie aż do końca rundy

A co jest źle w kodzie szelbi'iego? Przecież task nie ma nadanej flagi "b" i wiadomość powtórzy się tylko raz, więc czemu sugerujesz, że wiadmość wyświetli się kilka razy?

Do tego warto dodać event końca rundy i usunięcie w nim taska jeżeli istnieje. Czemu? Bo jak runda skończy się po 20 sekundach, to task nadal będzie istniał i wiadomość wyświetli się w nowej rundzie dużo wcześniej.


Użytkownik radim edytował ten post 30.08.2014 18:43

  • +
  • -
  • 1

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#11 patryQ1997

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 5
Nowy

  • Postów:204
  • GG:
  • Imię:Patryk
  • Lokalizacja:Czeladź
Offline

Napisano 30.08.2014 18:48

Okej, dzięki skorzystałem z kodu Szelbiego, oczywiście dla każdego + za zainteresowanie.

Temat do zamknięcia.

 

@EDIT 

Chociaż nie co jest źle tekst pojawił się i po jakiś 15 sekundach znowu.


Użytkownik patryQ1997 edytował ten post 30.08.2014 19:13

  • +
  • -
  • 0




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

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