←  Poradniki, Łatki oraz Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
/skille jak w DiabloMod

  • +
  • -
Raen - zdjęcie Raen 31.08.2012

Dołączona grafika
Modyfikacja dodaje na serwer okno MOTD ze statystykami podobnymi do tych z DiabloMod'a
Nazwa forum ustawiana jest cvarem cod_forum
Redukcja obrażeń i szybkość biegu zapożyczona z Dark Coda
Podgląd statystyk jest możliwy tylko gdy żyjemy
Dołączona grafika
Punkt 1. Otwieramy sma Cod'a i szukamy linijki:
cvar_blokada_broni = register_cvar("cod_weaponsblocking", "1");

Pod nią dodajemy:
cod_forum = register_cvar("cod_forum", "TWOJE-FORUM.PL");

Punkt 2. Szukamy linijki:
register_clcmd("say /pomoc", "Pomoc");

Pod nią dodajemy:
register_clcmd("say /skille", "statystyki_klasy");

Punkt 3. Na koniec sma dodajemy:
public statystyki_klasy(id)
{
if(!is_user_alive(id) || !is_user_connected(id))
{
ColorChat(id, GREEN, "[COD:MW]^x01 Statystyki mozesz podgladac tylko gdy zyjesz!")
return PLUGIN_CONTINUE;
}
else
{
new name[64];
get_user_name(id, name, 63);
new hp_klasy = PobierzZdrowie(id, 1, 1, 1);
new hp = hp_klasy+100
new forum[64];
get_pcvar_string(cod_forum, forum, 63);

const SIZE = 1024;
new staty[SIZE+1],len = 0;
len += formatex(staty[len], SIZE - len, "<html><body style=^"background-color:black;color:white;font-size:14;text-align:center;^"");
len += formatex(staty[len], SIZE - len, "Witaj %s w statystykach twojej klasy<br>", name);
len += formatex(staty[len], SIZE - len, "<br>");
len += formatex(staty[len], SIZE - len, "Klasa: <b>%s</b><br>", nazwy_klas[klasa_gracza[id]]);
len += formatex(staty[len], SIZE - len, "<br>");
len += formatex(staty[len], SIZE - len, "Masz <b>%d</b> punktow zdrowia - daje to %d dodatkowego hp<br>", zdrowie_gracza[id], zdrowie_gracza[id]);
len += formatex(staty[len], SIZE - len, "Masz <b>%d</b> punktow wytrzymalosci - daje to %0.1f%% redukcji obrazen<br>", wytrzymalosc_gracza[id], redukcja_obrazen_gracza[id]*100);
len += formatex(staty[len], SIZE - len, "Masz <b>%d</b> punktow kondycji - daje to %d szybszego biegania<br>", kondycja_gracza[id], floatround(kondycja_gracza[id]*1.3));
len += formatex(staty[len], SIZE - len, "Masz <b>%d</b> punktow inteligencji<br>", inteligencja_gracza[id]);
len += formatex(staty[len], SIZE - len, "<br>");
len += formatex(staty[len], SIZE - len, "Laczna ilosc zycia wynosi <b>%d</b><br>", hp);
len += formatex(staty[len], SIZE - len, "Masz perk <b>%s</b><br>", nazwy_perkow[perk_gracza[id]]);
len += formatex(staty[len], SIZE - len, "<br>");
len += formatex(staty[len], SIZE - len, "Zyczymy milej gry!<br>");
len += formatex(staty[len], SIZE - len, "Forum: <b>%s</b>!<br>", forum);
len += formatex(staty[len], SIZE - len, "</body></html>");

show_motd(id, staty, "Statystyki Klasy");
}
return PLUGIN_CONTINUE;
}

Punkt 4. pod
new SyncHudObj;

dodaj
new cod_forum;


Dołączona grafika
/skille - pokazuje okno motd ze statystykami

SCREEN:
1zx1phs.jpg

PS. Przepraszam za moje forum na screenie ;)
Odpowiedz

dawido0099 - zdjęcie dawido0099 02.09.2012

QTM_CodMod.sma(114) : error 017: undefined symbol "cod_forum"
QTM_CodMod.sma(1563) : error 017: undefined symbol "cod_forum"


Chyba zepomniales czegos dodac...




get_pcvar_string(cod_forum, forum, 63);
cod_forum = register_cvar("cod_forum", "TWOJE-FORUM.PL");



wystarczy to usunac i wszystko jest dobrze


Wklej to do silnika coda



public statystyki_klasy(id)
{
		if(!is_user_alive(id) || !is_user_connected(id))
		{
				ColorChat(id, GREEN, "[COD:eMWu]^x01 Statystyki mozesz podgladac tylko gdy zyjesz!")
				return PLUGIN_CONTINUE;
		}
		else
		{
				new name[64];
				get_user_name(id, name, 63);
				new hp_klasy = PobierzZdrowie(id, 1, 1, 1);
				new hp = hp_klasy+100
				new forum[64];
				
				const SIZE = 1024;
				new staty[SIZE+1],len = 0;
				len += formatex(staty[len], SIZE - len, "<html><body style=^"background-color:black;color:white;font-size:14;text-align:center;^"");
				len += formatex(staty[len], SIZE - len, "Witaj %s w statystykach twojej klasy<br>", name);
				len += formatex(staty[len], SIZE - len, "<br>");
				len += formatex(staty[len], SIZE - len, "Klasa: <b>%s</b><br>", nazwy_klas[klasa_gracza[id]]);
				len += formatex(staty[len], SIZE - len, "<br>");
				len += formatex(staty[len], SIZE - len, "Masz <b>%d</b> punktow zdrowia - daje to %d dodatkowego hp<br>", zdrowie_gracza[id], zdrowie_gracza[id]);
				len += formatex(staty[len], SIZE - len, "Masz <b>%d</b> punktow wytrzymalosci - daje to %0.1f%% redukcji obrazen<br>", wytrzymalosc_gracza[id], redukcja_obrazen_gracza[id]*100);
				len += formatex(staty[len], SIZE - len, "Masz <b>%d</b> punktow kondycji - daje to %d szybszego biegania<br>", kondycja_gracza[id], floatround(kondycja_gracza[id]*1.3));
				len += formatex(staty[len], SIZE - len, "Masz <b>%d</b> punktow inteligencji - dzięki temu masz %d wiecej obrazen z rakietki/ miny/ itp.<br>", inteligencja_gracza[id], inteligencja_gracza[id]);
				len += formatex(staty[len], SIZE - len, "<br>");
				len += formatex(staty[len], SIZE - len, "Laczna ilosc zycia wynosi <b>%d</b><br>", hp);
				len += formatex(staty[len], SIZE - len, "Masz perk <b>%s</b><br>", nazwy_perkow[perk_gracza[id]]);
				len += formatex(staty[len], SIZE - len, "<br>");
				len += formatex(staty[len], SIZE - len, "Zyczymy milej gry!<br>");
				len += formatex(staty[len], SIZE - len, "Forum: <b>TWOJE_FORUM.PL</b>!<br>");
				len += formatex(staty[len], SIZE - len, "</body></html>");
				
				show_motd(id, staty, "Statystyki Klasy");
		}
		return PLUGIN_CONTINUE;
}


Użytkownik benio101 edytował ten post 03.09.2012 01:39
drobne techniczne
Odpowiedz

  • +
  • -
Raen - zdjęcie Raen 02.09.2012

trzeba dodać jeszcze
pod
new SyncHudObj;

dodaj
new cod_forum;

Proszę o dodanie do pierwszego posta :)
Odpowiedz

Kronzu - zdjęcie Kronzu 02.09.2012

+'ik dla ciebie dodaj jak przerobić na cod stary :) Bo to tylko 2 inne linijki kodu.
Odpowiedz

  • +
  • -
Raen - zdjęcie Raen 02.09.2012

Spróbuj tego, powinno działać z codem starym:
punkt 1. pod:
new g_vault;

dodajemy:
new cod_forum;

punkt 2. pod:
register_clcmd("say /reset", "KomendaResetujPunkty");

dodajemy:
register_clcmd("say /skille", "statystyki_klasy");

punkt 3. pod:
register_cvar("cod_bombxp", "100");

dodajemy:
cod_forum = register_cvar("cod_forum", "TWOJE-FORUM.PL");

punkt 4. na koniec sma dodajemy:
public statystyki_klasy(id)
{
if(!is_user_alive(id) || !is_user_connected(id))
{
ColorChat(id, GREEN, "[COD:MW]^x01 Statystyki mozesz podgladac tylko gdy zyjesz!")
return PLUGIN_CONTINUE;
}
else
{
new name[64];
get_user_name(id, name, 63);
new hp_klasy = zdrowie_klasy[klasa_gracza[id]];
new hp_gracza = zdrowie_gracza[id];
new hp = hp_klasy+hp_gracza
new forum[64];
get_pcvar_string(cod_forum, forum, 63);

const SIZE = 1024;
new staty[SIZE+1],len = 0;
len += formatex(staty[len], SIZE - len, "<html><body style=^"background-color:black;color:white;font-size:14;text-align:center;^"");
len += formatex(staty[len], SIZE - len, "Witaj %s w statystykach twojej klasy<br>", name);
len += formatex(staty[len], SIZE - len, "<br>");
len += formatex(staty[len], SIZE - len, "Klasa: <b>%s</b><br>", nazwy_klas[klasa_gracza[id]]);
len += formatex(staty[len], SIZE - len, "<br>");
len += formatex(staty[len], SIZE - len, "Masz <b>%d</b> punktow zdrowia - daje to %d dodatkowego hp<br>", zdrowie_gracza[id], zdrowie_gracza[id]);
len += formatex(staty[len], SIZE - len, "Masz <b>%d</b> punktow wytrzymalosci - daje to %0.1f%% redukcji obrazen<br>", wytrzymalosc_gracza[id], redukcja_obrazen_gracza[id]*100);
len += formatex(staty[len], SIZE - len, "Masz <b>%d</b> punktow kondycji - daje to %d szybszego biegania<br>", kondycja_gracza[id], floatround(kondycja_gracza[id]*1.3));
len += formatex(staty[len], SIZE - len, "Masz <b>%d</b> punktow inteligencji<br>", inteligencja_gracza[id]);
len += formatex(staty[len], SIZE - len, "<br>");
len += formatex(staty[len], SIZE - len, "Laczna ilosc zycia wynosi <b>%d</b><br>", hp);
len += formatex(staty[len], SIZE - len, "Masz perk <b>%s</b><br>", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
len += formatex(staty[len], SIZE - len, "<br>");
len += formatex(staty[len], SIZE - len, "Zyczymy milej gry!<br>");
len += formatex(staty[len], SIZE - len, "Forum: <b>%s</b>!<br>", forum);
len += formatex(staty[len], SIZE - len, "</body></html>");

show_motd(id, staty, "Statystyki Klasy");
}
return PLUGIN_CONTINUE;
}
Odpowiedz

Kronzu - zdjęcie Kronzu 02.09.2012

Jak dodać by było 1punkt 2hp?
I żeby jak pisze ile masz hp dodawało hp bo mam np.: na start 150hp i tam masz że 1 punkt daje 1hp to pisze 151hp a u mnie 152hp jak mam dodane zdrowie do hud.
Odpowiedz

  • +
  • -
Raen - zdjęcie Raen 02.09.2012

len += formatex(staty[len], SIZE - len, "Masz <b>%d</b> punktow zdrowia - daje to %d dodatkowego hp<br>", zdrowie_gracza[id], zdrowie_gracza[id]*2);
Odpowiedz

  • +
  • -
Klakier - zdjęcie Klakier 02.09.2012

Dla czystej kosmetyki można zrobić zamiast:
len += formatex(staty[len], SIZE - len, "Masz perk <b>%s</b><br>", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]); 


to:

len += formatex(staty[len], SIZE - len,  equali(nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]], "Brak") ? "<b>Nie masz zadnego przedmiotu</b><br>": "Masz item: <b>%s</b><br>", nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);



Zamiast:

Masz perk: Brak

będzie

Nie masz zadnego przedmiotu

Odpowiedz

Kronzu - zdjęcie Kronzu 02.09.2012

Jeszcze jak byś mógł zmienić na 1punkt 2hp tam gdzie pisze: Laczna ilosc zycia wynosi
Odpowiedz

  • +
  • -
Raen - zdjęcie Raen 02.09.2012

new hp_klasy = PobierzZdrowie(id, 1, 1, 1);

zamień na:
new hp_klasy = zdrowie_gracza[id]*2+bonusowe_zdrowie_gracza[id]+zdrowie_klas[klasa_gracza[id]];
Odpowiedz

Kronzu - zdjęcie Kronzu 02.09.2012

Error: Undefined symbol "bonusowe_zdrowie_gracza" on line 4277
Warning: Expression has no effect on line 4277
Error: Expected token: ";", but found "]" on line 4277
Error: Invalid expression, assumed zero on line 4277
Error: Too many error messages on one line on line 4277

Jak to zmieniłem mam takie errory @up.

Mi się wydaje że musisz zmienić new hp = a nie nie new hp_gracza.
(03.09.2012 01:40):
Kod w postach (np. źródło pluginu) umieszczaj w odpowiednich tagach (code/php/spoiler itp), a powyżej 200 linijek tylko w załączniku lub na wklejce.

Użytkownik benio101 edytował ten post 03.09.2012 01:39
Dodanie znacznika CODE
Odpowiedz

  • +
  • -
Raen - zdjęcie Raen 02.09.2012

ja podałem na nowego a ty masz starego :giggle:
tutaj jest do starego:
new hp_gracza = zdrowie_gracza[id];

zamień na:
new hp_gracza = zdrowie_gracza[id]*2;
Odpowiedz

  • +
  • -
Fafik - zdjęcie Fafik 26.10.2012

działa i fajne łapaj :plus:
Odpowiedz

  • +
  • -
kozix - zdjęcie kozix 20.11.2012

Da się to zrobić jako osobny plugin? Jeśli tak to zrobiłby ktoś to.
Z góry dziękuje.
Odpowiedz

  • +
  • -
radim - zdjęcie radim 22.11.2012

Po co robić cvar z literami skoro można zastosować w szybszy i łatwiejszy sposób: #define lub new const
Dla tych którym wyskakują takie errory:
QTM_CodMod.sma(114) : error 017: undefined symbol "cod_forum"
QTM_CodMod.sma(1563) : error 017: undefined symbol "cod_forum"

Usunąć:
get_pcvar_string(cod_forum, forum, 63);
cod_forum = register_cvar("cod_forum", "TWOJE-FORUM.PL");

I nad plugin_init dodać:
new const cod_forum[] = "Twoje Forum.pl"
lub
#define cod_forum "Twoje Forum.pl"

Użytkownik radim edytował ten post 22.11.2012 13:06
Odpowiedz

  • +
  • -
Raen - zdjęcie Raen 22.11.2012

radim poprawiony kod jest w pierwszym poście. Wiem że można było by to tak zrobić jak napisałeś lecz uznałem że cvar będzie wygodniejszy gdyż nie wymaga ponownej kompilacji ;)
Odpowiedz