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
 

MarcineN - zdjęcie

MarcineN

Rejestracja: 12.05.2012
Aktualnie: Nieaktywny
Poza forum Ostatnio: 26.07.2013 23:08
-----

#478797 Zmiena polozenia HUD w menu

Napisane przez speedkill w 13.11.2012 17:55

new Float:X[33]
new Float:Y[33]

Potem podczas zmiany pozycji ustaw jakąś wielkość np. X[id] = 0.15 | Y[id] = 0.3
  • +
  • -
  • 1


#475750 [ROZWIĄZANE] Tablice/Zmienne - problem

Napisane przez Filip1512 w 05.11.2012 23:49

Ogólnie to przykład jest źle, ale mam nadzieję, że myśl dobra. Coś tam próbowałem zrobić, ale standardowo masa (zapewnie głupich) błędów :P
Stworzyłem menu, w którym po wejściu na serwer będzie możliwośc wybrania pozycji menu, coś mi się też zdaje, że w złych miejscach te floaty wprowadziłem, ale mniejsza. Nie mam pojęcia, jaką funkcją odwołać się do (akurat tutaj) coordx lub coordy, ja próbowałem floatstr ale coś nie wyszło... może już Ci bardziej obeznani pomogą :P


#include <amxmodx>
#include <amxmisc>
#include <csx>

#define PLUGIN "HUD"
#define AUTHOR " glut // edit Marcin"
#define VERSION "1.0"

new gVotemenu;
new float:coordx;
new float:coordy;

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

register_clcmd("say /hudmenu", "hudmenu")

gVotemenu=menu_create ("Z ktorej strony chcesz miec HUD?", "cVotemenu");
menu_additem(gVotemenu,"Lewej");
menu_additem(gVotemenu,"Po srodku");
menu_additem(gVotemenu,"Prawej");

}

public client_putinserver(id)
{
set_task(0.1, "pokaz_hud", id,_,_,"b");
menu_display(id, gVotemenu, 0);
}

public hudmenu(id)
menu_display(id, gVotemenu, 0);

public cVotemenu(id, menu, item){
switch(item){
case 0:{
coordx = 0.2
coordy = 0.3
}
case 1:{
coordx = -1.0
coordy = 0.05
}
case 2:{
coordx = 0.8
coordy = 0.3
}
}
}



public pokaz_hud(id)
{

new stats[8],bodyhits[8],rankpos,rankmax;
rankpos = get_user_stats(id, stats, bodyhits)
rankmax = get_statsnum()

new izStats[ 8 ], izBody[ 8 ];
new szData[10];
get_time( "%X", szData, 9 );
new hp = get_user_health(id)
new ar = get_user_armor(id)
new rank = get_user_stats( id, izStats, izBody )
new fragi = get_user_frags(id)
new dedy = get_user_deaths(id)
new czas_mapy = get_timeleft()
new name[32]
get_user_name(id, name, 31)
if(is_user_connected(id))
{
set_hudmessage(255, 255, 0, floatstr(coordx), floatstr(coordy), 0, 0.0, 0.3, 0.0, 0.0);
show_hudmessage(id, "[Nick: %s]^n[Zycie: %i | Armor: %i]^n[Fragi: %i | Zginiecia: %i]^n[Rank: %d/%d]^n[Forum: www-cs-SopliCa.com]",name,hp, ar, fragi, dedy, rankpos, rankmax)
}
else
{
remove_task(id)
}

return PLUGIN_HANDLED
}



Ale myślę, że można by spróbować innym sposobem, czyli zamiast deklarować floaty na początku to tylko 1 zmienną, później dane opcje w menu by miały swój "id" (np po srodku = 3), a później zabawa z ifami.

///edit

Jak już zacząłem to już skończe :P To mi już normalnie skompilowało (nie licząc już tych Twoich powiadomień, które były)

#include <amxmodx>
#include <amxmisc>
#include <csx>

#define PLUGIN "HUD"
#define AUTHOR " glut // edit Marcin"
#define VERSION "1.0"

new gVotemenu;
new coord;

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

register_clcmd("say /hudmenu", "hudmenu")

gVotemenu=menu_create ("Z ktorej strony chcesz miec HUD?", "cVotemenu");
menu_additem(gVotemenu,"Lewej");
menu_additem(gVotemenu,"Po srodku");
menu_additem(gVotemenu,"Prawej");

}

public client_putinserver(id)
{
set_task(0.1, "pokaz_hud", id,_,_,"b");
menu_display(id, gVotemenu, 0);
}

public hudmenu(id)
menu_display(id, gVotemenu, 0);

public cVotemenu(id, menu, item){
switch(item){
case 0:{
coord = 1
}
case 1:{
coord = 2
}
case 2:{
coord = 3
}
}
}



public pokaz_hud(id)
{

new stats[8],bodyhits[8],rankpos,rankmax;
rankpos = get_user_stats(id, stats, bodyhits)
rankmax = get_statsnum()

new izStats[ 8 ], izBody[ 8 ];
new szData[10];
get_time( "%X", szData, 9 );
new hp = get_user_health(id)
new ar = get_user_armor(id)
new rank = get_user_stats( id, izStats, izBody )
new fragi = get_user_frags(id)
new dedy = get_user_deaths(id)
new czas_mapy = get_timeleft()
new name[32]
get_user_name(id, name, 31)
if(is_user_connected(id)){
if(coord == 1){
set_hudmessage(255, 255, 0, 0.2, 0.3, 0, 0.0, 0.3, 0.0, 0.0);
show_hudmessage(id, "[Nick: %s]^n[Zycie: %i | Armor: %i]^n[Fragi: %i | Zginiecia: %i]^n[Rank: %d/%d]^n[Forum: www-cs-SopliCa.com]",name,hp, ar, fragi, dedy, rankpos, rankmax)
}
if(coord == 2){
set_hudmessage(255, 255, 0, -1.0, 0.05, 0, 0.0, 0.3, 0.0, 0.0);
show_hudmessage(id, "[Nick: %s]^n[Zycie: %i | Armor: %i]^n[Fragi: %i | Zginiecia: %i]^n[Rank: %d/%d]^n[Forum: www-cs-SopliCa.com]",name,hp, ar, fragi, dedy, rankpos, rankmax)
}
if(coord == 3){
set_hudmessage(255, 255, 0, 0.8, 0.3, 0, 0.0, 0.3, 0.0, 0.0);
show_hudmessage(id, "[Nick: %s]^n[Zycie: %i | Armor: %i]^n[Fragi: %i | Zginiecia: %i]^n[Rank: %d/%d]^n[Forum: www-cs-SopliCa.com]",name,hp, ar, fragi, dedy, rankpos, rankmax)
}
}
else
{
remove_task(id)
}

return PLUGIN_HANDLED
}

  • +
  • -
  • 1


#21357 Wypisywanie wiadomości na HUD

Napisane przez soja w 26.10.2008 20:24

Cześć wszystkim. Mój pierwszy post na forum wink.gif Jako, że poprzedni artykuł o tej tematyce nie do końca wypalił, postanowiłem coś naskrobać smile.gif

Do wyświetlania wiadomości na HUDzie użytkownika służą dwie funkcje:
set_hudmessage - formatuje wysyłaną wiadomość,
show_hudmessage - wysyła wcześniej ustawioną wiadomość na HUD.
Składnia set_hudmessage:
set_hudmessage ( red=200, green=100, blue=0, Float:x=-1.0, Float:y=0.35, effects=0, Float:fxtime=6.0, Float:holdtime=12.0, Float:fadeintime=0.1, Float:fadeouttime=0.2, channel=4 )
Teraz po kolei:
red - wartość czerwonego koloru (0-255)
green - wartość zielonego koloru (0-255)
blue - wartość niebieskiego koloru (0-255)
x - pozycja X wiadomości. Jest to wartość Float, więc zakres podajemy od 0.1 do 1.0. Aby wycentrować użyj wartości -1
y - pozycja Y wiadomości. Wartości jak wyżej.
mapwn5.png
effects - Efekt wiadomości:0 - wiadomość pojawia się i znika. Tempo pojawiania się/znikania możemy zmieniać przez edytowanie odpowiednio: fadeintime / fadeouttime
1 - wiadomość z efektem migotania.
2 - wiadomość z efektem wypisywania tekstu litera po literze. Szybkość wypisywania pojedynczej litery możemy modyfikować, podając ją w parametrze fadeintime.
fxtime - długość wyświetlania się efektu (nie jestem do końca pewny co do tego parametru, będe wdzięczny za info)
holdtime - długość wyświetlania się wiadomości (w sekundach)
fadeintime - długość pojawiania się tekstu (im większa wartość tym wolniej tekst się pojawia)
fadeouttime - długość zanikania tekstu (jak wyżej)
channel - Kanał wiadomości. Standardowo mamy dostępne 4 kanały na jednego gracza. Jeśli wyślemy wiadomość na kanale, na którym już jest coś wypisane, wiadomość zostanie nadpisana. Aby uniknąć tych problemów, należy stosować różne kanały. Jeśli jako kanał przekażemy -1, zostanie on wybrany automatycznie.
[/list]Użycie set_hudmessage:
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 7.0)
show_hudmessage(id, "Witaj!")
Powyższy kod ustawia czerwoną wiadomość "Witaj!" dokładnie na środku ekranu, wyświetlaną przez 7 sekund.

Formatowanie wiadomości może ułatwić Hudmessage Generator, który wchodzi w skład AMXX-Studio (W menu Generators).
Natomiast w odczytywaniu kolorów może pomóc np. ColorShemer.
W pozycjonowaniu wiadomości może również pomóc ten plugin.

Składnia set_hudmessage:
show_hudmessage ( index, message[], ... )
index - ID gracza (1-32). Jeśli zostanie ustawiony na 0, wiadomość będzie widoczna dla wszystkich graczy.
message - wiadomość wysyłana na serwer.

Użycie:

show_hudmessage(id, "Witaj!")
Wiadomość możemy również formatować:
show_hudmessage(id, "Twoje hp: %d", player_hp)
Aby opuścić linijkę należy użyć sekwencji: ^n
show_hudmessage(id, "Linia nr1!^nLinia nr2!")
* W jednej wiadomości możemy użyc maksymalnie 479 znaków.
* Zawijanie wierszy zaczyna się powyżej 69 znaków.
* Pamiętaj, by użyc set_hudmessage przed wywołaniem show_hudmessage.

---
To by było na tyle smile.gif Wiem, że to nic odkrywczego, ale mam nadzieję, że się przyda.
Tekst w całości mojego autorstwa, proszę nie kopiować smile.gif
  • +
  • -
  • 87


#411748 [ROZWIĄZANE] Problem z banowaniem

Napisane przez Drzanas w 18.05.2012 13:22

Sprawdź plik

cmdaccess.ini

i zobacz czy nie ma tam komendy amx_ban (czy jakiej ty tam masz od banowania) na flagę "a"
  • +
  • -
  • 1


#411588 Plugin /regulamin

Napisane przez ogieR8 w 17.05.2012 18:45

Za dużo znaków, Drzanas to mówił na oko, to jest normalne, że Ci ucięło. Przerób sobie ten plik, na 2 komendy, /regulamin i /regulamin2 i jakoś podziel sobie estetycznie ten regulamin i wyświetlaj w częściach.. ja tak miałem, 2 kategorie w jednym, a 2 pozostałe co nie zmieściło w drugim.
  • +
  • -
  • 1