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

Wiadomość dla nieposiadających danej flagiJeśli gość nie ma flagi, wyświetlana mu jest informacja


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

#1 Egbert

    Pomocny

  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:70
  • GG:
  • Imię:Egbert
  • Lokalizacja:Gdańsk
Offline

Napisano 22.02.2010 00:11

Witam, jestem jeszcze zielony w tworzeniu pluginów.
Proszę o napisanie pluginu, którego zadaniem miało by być wyświetlanie zdefiniowanej wiadomości na przykład na czerwono w lewym dolnym rogu tuż nad say'em, ale tylko w przypadku gdy dana osoba nie posiada flagi np. S czyli ADMIN_LEVEL_G
Najlepiej gdyby wiadomość była wyświetlana przez 30 sekund po połączeniu z serwerem i po każdej następnej zmianie mapy.
Podejrzewam, że plugin będzie bardzo podobnie skonstruowany do tego: Wymuszenie komendy a flaga - Nieoficjalny polski support AMX Mod X

Wiem, że to bardzo prosty plugin. Niestety ja wiem jak zrobić, żeby taka wiadomość się wyświetlała gdy ktoś posiada daną flagę ale nie wiem jak zrobić, żeby było odwrotnie :P
Dziękuję za zainteresowanie i pomoc.
  • +
  • -
  • 0

#2 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

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

Napisano 22.02.2010 01:05

jeśli umiesz zrobić warunek czy gracz ma flagę to dodaj na początek znak negacji !

if(!gracz_ma_flage(id)) client_print(id,print_chat, "Info");

  • +
  • -
  • 0

#3 Egbert

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:70
  • GG:
  • Imię:Egbert
  • Lokalizacja:Gdańsk
Offline

Napisano 22.02.2010 19:12

Nie wiedziałem, że to tak banalne z tą negacją ;) dzięki.
Mimo to pogubiłem się na maxa :( Nie wiem co robiłem źle ale cały czas mi błędy wywalało.
Wkurzyłem się i wywaliłem wszystko.

Gdyby ktoś mógł napisać ten prosty (nie dla mnie jak widać) plugin, będę bardzo wdzięczny.
  • +
  • -
  • 0

#4 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 22.02.2010 19:19

if(!get_user_flags(id)&ADMIN_BAN)) client_print(id,print_chat,"Nie masz zadnej flagi admina <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/biggrin.gif' class='bbc_emoticon' alt=':D' />")

  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#5 Egbert

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:70
  • GG:
  • Imię:Egbert
  • Lokalizacja:Gdańsk
Offline

Napisano 23.02.2010 00:09

Heh, dzięki G[o]Q
To zrozumiałem tylko nie mogę sobie poradzić z resztą.

Ogólnie print_chat chyba odpowiada za wiadomość w czacie a mi zależy na tym co opisałem w pierwszym poście.

Proszę o napisanie pluginu, którego zadaniem miało by być wyświetlanie zdefiniowanej wiadomości na przykład na czerwono w lewym dolnym rogu tuż nad say'em, ale tylko w przypadku gdy dana osoba nie posiada flagi np. S czyli ADMIN_LEVEL_G
Najlepiej gdyby wiadomość była wyświetlana przez 30 sekund po połączeniu z serwerem i po każdej następnej zmianie mapy.

Dla tego też proszę, żeby ktoś kto potrafi, napisał .sma
  • +
  • -
  • 0

#6 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 23.02.2010 09:35

public client_putinserver(id){

set_task(30.0,"pokaz")

}

public pokaz(id){

if(!get_user_flags(id)&ADMIN_BAN)) client_print(id,print_chat,"Nie masz zadnej flagi admina <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/biggrin.gif' class='bbc_emoticon' alt=':D' />")



}

  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#7 Egbert

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:70
  • GG:
  • Imię:Egbert
  • Lokalizacja:Gdańsk
Offline

Napisano 24.02.2010 00:22

Nie chodzi mi o napis w say'u tylko na hud.

Czy taka konstrukcja jest prawidłowa?
#include <amxmodx>
#include <amxmisc>

#define FLAGA ADMIN_LEVEL_G

public plugin_init(){
	register_plugin("przyp", "1.0", "Egbert")
}
public client_putinserver(id){
	if(!get_user_flags(id)&FLAGA)
	set_hudmessage(255, 0, 0, -1.0, 0.35, 1, 10.0, 30.0, 0.1, 0.1, -1)
	show_hudmessage(id,"Linia pierwsza ^nLinia druga ^nLinia trzecia")
}

Użytkownik Egbert edytował ten post 24.02.2010 01:25

  • +
  • -
  • 0

#8 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

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

Napisano 24.02.2010 00:40

Jeśli ma być 30s po wejściu to będzie tak
#include <amxmodx>
#include <amxmisc>

#define FLAGA ADMIN_LEVEL_G
#define TASKID_INFO 21435

new gcvarOpoznienie;

public plugin_init() {
	register_plugin("przyp", "1.0", "Egbert");
	
	gcvarOpoznienie = register_cvar("info_opoznienie","30",0,30.0);
}

public client_putinserver(id){
	if(! (get_user_flags(id)&ADMIN_LEVEL_G)){
		new Float:fTime = get_pcvar_float(gcvarOpoznienie);
		set_task(fTime, "showInfo",id+TASKID_INFO);
	}
	
}
public showInfo(id){
	id -= TASKID_INFO;
	if(is_user_connected(id)){
		set_hudmessage(255, 0, 0, -1.0, 0.35, 1, 10.0, 30.0, 0.1, 0.1, -1);
		show_hudmessage(id,"Linia pierwsza ^nLinia druga ^nLinia trzecia");
	}
}


  • +
  • -
  • 1

#9 Egbert

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:70
  • GG:
  • Imię:Egbert
  • Lokalizacja:Gdańsk
Offline

Napisano 27.02.2010 00:28

Dziękuję, właśnie o coś takiego mi chodziło. Jednak jest coś nie tak i wiem, że to nie wina pluginu (?).

Wchodząc na serwer bez flagi 's' po 30 sek. pojawia się napis i byłoby ok, ale jeśli ktoś ma flagę 's' napis także się pojawia.
Natomiast napis nie pojawia się w przypadku kiedy ktoś ma flagi 'bcdefghijkl[...]sz'.

Sprawdzałem przez amx_who, że gracz z flagą 'sz' w users.ini tak na prawdę na serwerze ma tylko flagę 'z'. Coś mi mówi, że nie będzie można nadać graczowi samych flag 'sz'.

Może uda się stworzenie pluginu, który np. zamiast sprawdzania flagi, sprawdziłby, czy nick gracza znajduje się w users.ini
Jeśli się znajduje to wyświetli "napis1"
jeśli się nie znajduje to wyświetli "napis2"
/Oczywiście na HUD według wcześniejszych parametrów.
Jest to możliwe?

========================EDIT==================================

Napisałem coś takiego, zmieniłem
public client_putinserver(id)
na
public client_authorized(id)
oraz dopisałem showinfo2 w którym wyświetlana jest informacja dla posiadaczy flagi T

Kompiler nie wywalił błędu (cud). Dobrze by było gdyby wprawne oko przejrzało ten sma

#include <amxmodx>
#include <amxmisc>

#define TASKID_INFO 21435

new gcvarOpoznienie;

public plugin_init() {
	register_plugin("przyp", "1.0", "Egbert");
	
	gcvarOpoznienie = register_cvar("info_opoznienie","30",0,30.0);
}

public client_authorized(id){
	if(! access(id,ADMIN_LEVEL_H)){
		new Float:fTime = get_pcvar_float(gcvarOpoznienie);
		set_task(fTime, "showInfo",id+TASKID_INFO);
	}
	if( access(id,ADMIN_LEVEL_H)){
		new Float:fTime = get_pcvar_float(gcvarOpoznienie);
		set_task(fTime, "showInfo2",id+TASKID_INFO);
	}
	
}
public showInfo(id){
	id -= TASKID_INFO;
	if(is_user_connected(id)){
		set_hudmessage(64, 0, 64, 0.1, 0.1, 2, 1.0, 10.0, 0.1, 0.1, -1);
		show_hudmessage(id,"INFORMACJA PROBNA ^nINFORMACJA PROBNA ^nINFORMACJA PROBNA");
	}
}

public showInfo2(id){
	id -= TASKID_INFO;
	if(is_user_connected(id)){
		set_hudmessage(0, 64, 0, 0.1, 0.1, 2, 1.0, 10.0, 0.1, 0.1, -1);
		show_hudmessage(id,"WSZYSTKO JEST OK");
	}
}

Czy tak będzie działać poprawnie?

===============EDIT 2=================

Udało mi się, plugin w obecnej formie spełnia moje oczekiwania, dziękuję za poświęcony mi czas.
Temat uważam za wyczerpany.

Użytkownik Egbert edytował ten post 27.02.2010 22:37

  • +
  • -
  • 0




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

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