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
 

ViHuRa - zdjęcie

ViHuRa

Rejestracja: 16.11.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 01.02.2013 15:33
-----

#491245 Ogień za rakietą

Napisane przez Pan PrO w 17.12.2012 18:38

Witam. Chciałbym wam pokazać jak zrobić ogień za rakietą np. u Wsparcia Ogniowego

Screen:

Dołączona grafika


1. Otwieramy sma klasy w której mamy rakiety
2. Szukamy:
public cod_class_skill_used(id);

i pod dodajemy:
entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_BEAMFOLLOW);
write_short(Ent);
write_short(sprite_blast);
write_byte(10);
write_byte(5);
write_byte(205);
write_byte(237);
write_byte(163);
write_byte(200);
message_end();


Kompilujemy i gotowe :)
  • +
  • -
  • 11


#277663 Klasa Czolgista - posiada M72 LAW

Napisane przez Cypis' w 04.08.2011 17:00

Witam, wiele osób pytało się o klase z bazuką i oto ona :)

Cvary:
	cod_law_damage "120.0" - ile ma zadawać dmg rakieta
cod_law_radius "250.0" - odległość rażenia rakiety
cod_law_rockets "15" - ile rakiet posiada bazuka


Ssy:
Dołączona grafika

Załączone pliki


  • +
  • -
  • 35


#353303 Działka

Napisane przez psilocybe w 24.01.2012 18:04

Działka na pewno można zrobić, śmiesznie się składa bo właśnie pracuję nad mapką fy_ gdzie będą dwa działka po stronie CT i TT. Służy do tego byt func_tank który kontrolowany jest przez byt func_tankcontrols. Z tym hp to też dało by się zrobić, należało by stworzyć byt func_breakable tak aby zakrywał całe działko, ustawić mu odpowiednią ilość hp i w polu 'kill target on break' wpisać nazwę działka.

Nie będę tłumaczył Ci od podstaw jak to zrobić, dojdziesz sam do tego, ja się chwilę męczyłem ale warto było bo efekt jest za***isty :)

Tutorial: http://hlmaps.noskil.../page.php?id=66

Gotowe działko: http://www.gamebanan...s/download/5657

Nie zadawaj głupich pytań tylko ucz się samemu jak rozwiązać dany problem, co z tego że dałem Ci link do gotowego działka jak Ty dalej nie będziesz wiedział jak działa, do momentu kiedy zrobisz swoje działko od podstaw na przykładzie tutoriala z pierwszego linku.

Powodzenia.

ps.: gdy zakończę pracę nad moją mapką fight yard, pochwalę się efektami na forum ;)
  • +
  • -
  • 1


#218863 Laser destroy preventer

Napisane przez Dimni w 24.02.2011 15:57

Dołączona grafika

Plugin blokuje zadawanie obrażeń LaserMinom, jeżeli atakujący jest człowiekiem i mina nie jest jego.

Wersja pluginu: 1.2
Oryginalny Autor: Hezerf

Dołączona grafika

#include <amxmodx>
#include <hamsandwich>
#include <engine>
#include <fakemeta>

Dołączona grafika

Standardowa:
Plik .amxx ląduje do folderu /plugins
Do pliku plugins.ini LUB plugins-zplague.ini dopisujemy: zp_addon_ldp.amxx

Dołączona grafika

Załączone pliki


  • +
  • -
  • 5


#267948 Call of Duty Aim

Napisane przez DarkGL w 08.07.2011 20:01

Call of Duty Aim v0.1
by DarkGL

opis.png
Idea to zamiana kolor celownika na czerwony/zielony gdy celujesz w przeciwnika/swoich lub gdy strzelasz do nich
(jeśli gracz ma celownik koloru zielony/czerwony plugin użyje innych wartości smile.gif )
plugin obsługuje multilangual
jest to edycja pluginu z tego tematu
call_of_duty_aim plugin - AMXX.pl: Support AMX Mod X

cvary.png





//czy ma pokazywac x po strzeleniu w swojego 1/0 on/off
cod_aim_showhit 1
//jesli serwer jest steam to plugin pobierze sam wartosc cvaru od gracza (potrzebne) jesli ns to trzeba uzyć menu ustawiamy 1 dla serwera steam i 0 dla serwera ns+steam lub tylko ns
cod_aim_steam 1
//standardowo cod aim jest włączony 1 - tak  0 - nie
cod_aim_on 1
//czy gracz moze wylaczyc sobie zmieniony celownik tak/nie 1/0
cod_aim_can_off" 1
//1 - kolor celownika zmienia sie po strzeleniu w gracza 0 - kolor zmienia sie odrazu po najechaniu na gracza 
cod_aim_on_damage 1
ss.png


komendy.png
  • say /cod_aim
    włącza/wyłącza plugin dla gracza (nie zmienia mu sie kolor)
  • say /cod_color
    otwiera się menu z wyborem koloru celownika
instalacja.png





plik cod_aim.txt wrzucamy do data\lang\
download.png
Załączony plik  aim_cod.sma   6,1 KB  594 Ilość pobrań
  aim_cod.amxx
Załączony plik  aim_cod.amxx   9,21 KB  68 Ilość pobrań

Załączony plik  cod_aim.txt   688 bajtów  610 Ilość pobrań
[/youtube][/media]
  • +
  • -
  • 17


#4926 Fire Rate Control

Napisane przez Abes Mapper w 28.04.2008 21:33

Fire Rate Control 1.02
by Fxfighter




Dołączona grafika
Ten plugin umożliwia zmienianie szybkości strzałów z broni.

Dołączona grafika
Instalacja standardowa: http://amxx.pl/viewtopic.php?t=20

Dołączona grafika
amx_speed_mode 0 // 0 - plugin wyłączony, 1 - tryb pierwszy, 2 - tryb drugi

Cvary dla trybu 1
amx_speed_all 1.0 // szybkość strzelania wszystkich broni

Cvary dla trybu 2
amx_speed_p228 1.0
amx_speed_scout 1.0
amx_speed_grenade 1.0
amx_speed_xm1014 1.0
amx_speed_mac10 1.0
amx_speed_aug 1.0
amx_speed_elite 1.0
amx_speed_fiveseven 1.0
amx_speed_ump45 1.0
amx_speed_sg550 1.0
amx_speed_galil 1.0
amx_speed_famas 1.0
amx_speed_usp 1.0
amx_speed_glock18 1.0
amx_speed_awp 1.0
amx_speed_mp5navy 1.0
amx_speed_m249 1.0
amx_speed_m3 1.0
amx_speed_m4a1 1.0
amx_speed_tmp 1.0
amx_speed_g3sg1 1.0
amx_speed_deagle 1.0
amx_speed_sg552 1.0
amx_speed_ak47 1.0
amx_speed_p90 1.0

Od 1.0 poniżej to coraz szybsza prędkość, 0.1 to najszybsza. Zaś powyżej 1.0 to coraz wolniejsza prędkość
Standardowa szybkość to 1.0


Dołączona grafika
Fakemeta

Załączone pliki


  • +
  • -
  • 3


#259522 Awanse klas

Napisane przez Goliath w 16.06.2011 17:03

Tak, dałoby się :). Zmień kod z punktu 5 na:
public WybierzKlase(id)
{
new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
new klasa[50];
for(new i=1; i <= ilosc_klas; i++)
{
if(awansuje_z[i])
{
new bool:moze = false;
WczytajDane(id, awansuje_z[i]);
if(poziom_gracza[id] >= awanse[ZnajdzAwans(awansuje_z[i], i)][2])
moze = true;

WczytajDane(id, i);
if(moze) formatex(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
else formatex(klasa, charsmax(klasa), "\r%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
}
else
{
WczytajDane(id, i);
formatex(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
}
menu_additem(menu, klasa);
}

WczytajDane(id, klasa_gracza[id]);

menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);

client_cmd(id, "spk QTM_CodMod/select");
}

Z punktu 6. na:
public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");

if(item++ == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

if(awansuje_z[item])
{
WczytajDane(id, awansuje_z[item]);
new bool:moze, a = ZnajdzAwans(awansuje_z[item], item)
if(poziom_gracza[id] >= awanse[a][2])
moze = true;
WczytajDane(id, klasa_gracza[id]);
if(!moze)
{
client_print(id, print_chat, "[COD:MW] Aby uzywac tej klasy musisz zdobyc %i poziom na klasie %s!", awanse[a][2], nazwy_klas[awansuje_z[item]]);
return PLUGIN_CONTINUE;
}
}

if(item == klasa_gracza[id] && !nowa_klasa_gracza[id])
return PLUGIN_CONTINUE;

nowa_klasa_gracza[id] = item;

if(klasa_gracza[id])
client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
else
{
UstawNowaKlase(id);
DajBronie(id);
ZastosujAtrybuty(id);
}

return PLUGIN_CONTINUE;
}

I usuń kod z punktu 7.
  • +
  • -
  • 5


#238463 Grantoria mod

Napisane przez Zaszka w 18.04.2011 13:18

Od pewnego czasu próbuje napisać własny mod o nazwie "Grantoria" - jest na razie w fazie testów i dodawania mocy...

Trochę o modzie.
Nazwa moda - Grantoria
Opis moda -

Grantoria to mod podobny do diablo/war3ft, na początku swoje przygody wybieramy klasę i żywioł.
Gdy wybierzemy klasę i żywioł to możemy zacząć expić (Zdobywać doświadczenie poprzez zabijanie lub mikstury i misje).
Gdy zdobędziemy odpowiednią ilość doświadczenia to awansujemy na wyższy poziom i zdobywamy pkt statystyk jak i umiejętności.
Jeden poziom daje nam 2 pkt statystyki i 1 pkt umiejętności, za pkt statystyk możemy dodać statystyki (Siła, Inteligencja, Zręczność) 1 pkt siły daje 1 hp (HP - życie w grze) i +1 obrażeń z umiejętności Wojownika i u Łotra 0,5 obrażeń, 1 pkt inteligencji daje 3 pkt MP (MP - pkt many używane do umiejętności) i +2 obrażeń umiejętności elementalisty i u uzdrowiciela 1 pkt obrażeń umiejętności, 1 pkt zręczności daje 1,3 pkt szybkości standardowa 250.
Po osiągnięciu 100 poziomu musimy wybrać podklasę.
Gdy wybierzemy podklasę możemy awansować poziom żywiołu za pomocą specjalnych zwojów elementu.
Każda klasa specjalizuję się w innej dziedzinie i umiejętnościach.
Każda klasa może mieć max 4 umiejętności wyjątkiem jest elementalista który posiada 5 Umiejętności 2 pasywne i 3 aktywne, gdy zwykłe klasy po 2 pasywne i 2 aktywne, są wyjątki np 3 pasywne i 1 aktywna itd.


Max poziom - 200
Ilość expa na max poziom - 2000000 = 20000 zabić
exp za zabicie - 100
exp za pake - 300
exp za vipa - 50
exp za hs - 25
Max poziom żywiołu - 10
ilość expa na max poziom żywioły - 3000
ilość expa za zwój - 2
Ilość expa za legendarny zwój - 20
szansa zdobycia legendarnego zwoju - 1/200 przy zabiciu
szansa zdobycia diamentu - 1/5

Klasy: ( Uzdrowiciel, Wojownik, Czarodziej, Łotr, Paladyn )
Żywioły: ( Woda, Ogień, Powietrze, Piorun, Ziemia )
Podklasy: ( Uzdrowiciel - Druid, Nekromanta | Wojownik - Obrońca, Berzerker | Czarodziej - Elementalista, Duchowny | Łotr - Asasyn, Łowca | Paladyn - Paladyn słońca, Paladyn lodu )
Poziom na podklasę - 100
Poziom na awans żywiołu - 100

Mikstury Lecznicze.
Są 3 rodzaje mikstur:
* Na życie.
-Mała mikstura życia dodaje 50 hp.
-Średnia mikstura życia dodaje 110 hp.
-Duża mikstura życia dodaje 210 hp.

* Na mane.
-Mała mikstura many dodaje 110 mp.
-Średnia mikstura many dodaje 260 mp.
-Duża mikstura many dodaje 530 mp.

* Na doświadczenie.
-Zwykła mikstura doświadczenia od100 do 500 exp'a.
-Legendarna mikstura doświadczenia od 500 do 1400 exp'a.

Można je kupić w sklepie.
Można je stworzyć z liści - (Druid ma umiejętność "Zielarstwo" przez co szybko zdobywa liście potrzebne do mikstur).
Szansa zdobycia liścia wynosi 1/15 .
Druid może zmniejszyć ten limit do 1/5 gdy umiejętność zielarstwo będzie na 10 poziomie.

Umiejętności
Każda umiejętność ma 10 poziomów. Za każdy poziom koszt wzrasta +1, Np 0 poziom za 1 pkt, 1 poziom za 2 pkt itd.
Dla każdego:
1. Witalność - za 1 pkt dostajesz 33 Hp
2. Magia - za 1 pkt dostajesz 33 Mp
3. Pancerz za 1 pkt dostajesz 25 Armor + na start 100
Uzdrowiciel:
1. Leczenie - Wymaga 3 pkt witalności 2 pkt magi 10 Poziom - Leczy :50+Poziom_Leczenie*25 Za 140 mp
2. Aura Leczenia - Wymaga 5 pkt witalności 5 pkt magi 25 Poziom - Leczy :Poziom_Aury na sec w obszarze 450+Poziom_Aury*25 Za 0 mp
Druid:
1. Zielarstwo - Wymaga 7 pkt witalności 6 pkt magi 100 Poziom - Zwiększa szansę na zdobycie liścia 1/15-Poziom_Zielarstwo Za 0 mp
2. Wzmocnienie Leczenia - Wymaga 9 pkt witalności 8 pkt magi 125 Poziom - Zwiększa leczone życie przez Leczenie o Poziom_Wzmocnienia*25 za 0 mp
Nekromanta:
1. Wskrzeszenie - Wymaga 9 pkt witalności 9 pkt magi 125 Poziom - Wskrzesza Wybranego gracza z życiem = 100 + Poziom_Wskrzeszenia*30 Za 100% mp - 5% za każdy poziom wskrzeszenia
2. Odporność na trucizne - Wymaga 5 pkt witalności 8 pkt magi 100 Poziom - Zmniejsza obrażenia od zatrucia i czas jego działania o Poziom_Odporności sec i o Poziom_Odporności*2 dmg za 0 mp
Wojownik:
1. Wzmocnienie - Wymaga 5 Pkt witalności i 1 Pkt magi, 20 Poziom - Zmniejsza i Zwieksza obrazenia broni o Poziom_Wzmocnienia*3 i trwa 5 sec Za 50 mp
2. Gleboka rana - Wymaga 3 Pkt Witalności i 2 Pkt magi, 10 Poziom - Robi przeciwnikowi duża rane która go boli i zabiera po 3*Poziom_Glebokiej Gdy przeciwnik kogoś trafia Za 0 mp
Obrońca:
1. Wielka Tarcza - Wymaga 7 Pkt witalności i 2 Pkt magi, 100 Poziom - Zmniejsza obrazenia od broni o Poziom_Tarczy*5 i trwa Poziom_Tarczy sec Za 100 mp
2. Redukcja Obrazen - Wymaga 10 Pkt witalności i 3 Pkt magi, 125 Poziom - Zmniejsza obrazenia od broni o Poziom_Redukcji Za 0 mp
Berzerker:
1. Potezny cios - Wymaga 5 Pkt witalności i 3 Pkt magi, 100 Poziom - zadaje x*Poziom_Potezny obrazen Za 25% mp
2. Furia - Wymaga 10 Pkt witalności i 3 Pkt magi, 125 Poziom - Zwieksza obrazenia broni obrazenia*Poziom_Furii Za 0 mp Gdy ma mniej niż 30Hp
Czarodziej:
1.
2.
Elementalista:
1.
2.
Duchowny:
1.
2.
Lotr:
1.
2.
Asasyn:
1.
2.
Lowca:
1.
2.
Paladyn:
1.
2.
Paladyn Slonca:
1.
2.
Paladyn Lodu:
1.
2.



Bindowanie klawiszy:
Klawisze są automatycznie bindowane przez plugin.
* Menu Ekwipunku- Jest pod klawiszem "x"
* Menu Skili- Jest pod klawiszem "C"
* Menu- Jest pod klawiszem "V"

Co znajduje się w Menu
1. Sklep magiczny - są tam mikstury
2. Handlarz - są tam zwoje żywiołów i inne rzeczy.
3. Misje - Możesz tam zakończyć misje, przeczytać jej opis i zacząć nową.
4.

Co znajduje się w Menu Skili
1. Skill1 - zależny jest od klasy
2. Skill2 - zależny jest od klasy
3. Skill3 - zależny jest od klasy

Co znajduje się w Menu Ekwipunku
1. Mała mikstura hp [ilość]
2. Średnia mikstura hp [ilość]
3. Duża mikstura hp [ilość]
4. Mała mikstura mp [ilość]
5. Średnia mikstura mp [ilość]
6. Duża mikstura mp [ilość]
7. Liście życia/many [ilość]/[ilość]
.


Macie testowy server tego moda :
******** PW: esl
Sponsorem servera jest Suis - Wielkie dzięki dla niego!

Załączone pliki




#257396 Schowanie informacji hp i armor

Napisane przez ;(( w 10.06.2011 10:42

Trzymaj tutaj z całym opisem itp: HUD Customizer 0.4 - AMXX.pl: Support AMX Mod X
  • +
  • -
  • 1


#257395 Schowanie informacji hp i armor

Napisane przez Emilian18 w 10.06.2011 10:40

Oczywiście da się, ale razem z HP i Armor wyłączysz także radar, innej opcji nie ma...

HideWeapon 

Hides the specified HUD elements.
Flags: 
  1   (1<<0)  -  crosshair, ammo, weapons list
  2   (1<<1)  -  flashlight, +
  4   (1<<2)  -  ALL
  8   (1<<3)  -  radar, health, armor, +
 16   (1<<4)  -  timer, +
 32   (1<<5)  -  money, +
 64   (1<<6)  -  crosshair
128   (1<<7)  -  +

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Hide RHA"
#define VERSION "1.0"
#define AUTHOR "Grand"


public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("ResetHUD", "eReset", "b")
}

public eReset(id)
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HideWeapon"), {0,0,0}, id)
write_byte(1<<3)
message_end()
}


Nie jestem tylko pewien czy wystarczy użyć MSG_ONE czy tak jak ci podałem MSG_ONE_UNRELIABLE Kumaci wytłumaczą, którą powinno się dodać
  • +
  • -
  • 1


#257394 Schowanie informacji hp i armor

Napisane przez dasiek w 10.06.2011 10:40

Tu masz ;)

amx_hud_hide_money (def 0) - Hide Money
amx_hud_hide_timer (def 1) - Hide Round Timer
amx_hud_hide_flashlight (def 1) - Hide Flashlight Battery
amx_hud_hide_radar_health_armor (def 1) - Hide Radar, Health and Armor at once. CVAR is renamed from 0.3 version.
amx_hud_hide_crosshair (def 0) - Hide Crosshair
amx_hud_hide_cross_ammo_weaponlist (def 0) - Hide Crosshair, Ammo and Weapons' list at once.

  • +
  • -
  • 1


#257586 Awanse klas

Napisane przez Goliath w 10.06.2011 19:48

Na prośbę jednego z użytkowników zrobiłem system awansowania klas. Doszedłem do tego drogą prób i błędów, więc kod może nie być w pełni optymalny, ale przynajmniej działa Dołączona grafika.

Uwaga! Wymagana znajomość pojęcia "kompilacja lokalna". Jeżeli nie wiesz, co to jest, odwiedź ten temat - http://amxx.pl/topic...ilowac-pluginy/

1. Otwieramy plik QTM_CodMod.sma.
2. Do zmiennych globalnych dodajemy:
new awanse[MAX_ILOSC_KLAS+1][3], awansuje_do[MAX_ILOSC_KLAS+1], awansuje_z[MAX_ILOSC_KLAS+1];
new ilosc_awansow;

3. Na koniec pliku dopisujemy:
public ZarejestrujAwans(plugin, params)
{
if(params != 9)
return PLUGIN_CONTINUE;

if(++ilosc_klas > MAX_ILOSC_KLAS)
return -1;

pluginy_klas[ilosc_klas] = plugin;

new awans_z = get_param(1);
awansuje_do[awans_z] = ilosc_klas;
awansuje_z[ilosc_klas] = awans_z;
ilosc_awansow++;
awanse[ilosc_awansow][1] = ilosc_klas;
awanse[ilosc_awansow][0] = awans_z;
awanse[ilosc_awansow][2] = get_param(2);
get_string(3, nazwy_klas[ilosc_klas], MAX_WIELKOSC_NAZWY);
get_string(4, opisy_klas[ilosc_klas], MAX_WIELKOSC_OPISU);

bronie_klasy[ilosc_klas] = get_param(5);
zdrowie_klas[ilosc_klas] = get_param(6);
kondycja_klas[ilosc_klas] = get_param(7);
inteligencja_klas[ilosc_klas] = get_param(8);
wytrzymalosc_klas[ilosc_klas] = get_param(9);

return ilosc_klas;
}

public ZnajdzAwans(Z, Do)
{
new Return;
for(new i=1; i<=ilosc_awansow; i++)
{
if(awanse[i][0] == Z && awanse[i][1] == Do)
{
Return = i;
break;
}
}
return Return;
}

public JestAwansem(klasa)
{
new bool:jest;
for(new i=1; i<=ilosc_awansow; i++)
{
if(awanse[i][1] == klasa)
{
jest = true;
break;
}
}
return jest;
}

4. Do publica plugin_natives dodajemy:
register_native("cod_register_advance", "ZarejestrujAwans");

5. Zmieniamy public WybierzKlase na:
public WybierzKlase(id)
{
new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");

new klasa[50], dana_klasa, numer[10];
for(new i=1; i <= ilosc_klas; i++)
{
if(JestAwansem(i))
continue;
WczytajDane(id, i);
dana_klasa = i;

for(; ;)
{
if(awansuje_do[dana_klasa] && poziom_gracza[id] >= awanse[ZnajdzAwans(dana_klasa, awansuje_do[dana_klasa])][2])
{
dana_klasa = awansuje_do[dana_klasa];
WczytajDane(id, dana_klasa);
}
else break;
}
formatex(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[dana_klasa], poziom_gracza[id]);
num_to_str(dana_klasa, numer, 9);
menu_additem(menu, klasa, numer);
}

WczytajDane(id, klasa_gracza[id]);

menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);

client_cmd(id, "spk QTM_CodMod/select");
}

6. Zmieniamy public WybierzKlase_Handle na:
public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");

if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}

new data[65], name[65], acces, callback
menu_item_getinfo(menu, item, acces, data, 64, name, 64, callback)
item = str_to_num(data);

if(item == klasa_gracza[id] && !nowa_klasa_gracza[id])
return PLUGIN_CONTINUE;

nowa_klasa_gracza[id] = item;

if(klasa_gracza[id])
client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
else
{
UstawNowaKlase(id);
DajBronie(id);
ZastosujAtrybuty(id);
}

return PLUGIN_CONTINUE;
}

7. W publicu SprawdzPoziom, po ZapiszDane(id), dopisujemy:
	if(awansuje_do[klasa_gracza[id]])
{
if(poziom_gracza[id] >= awanse[ZnajdzAwans(klasa_gracza[id], awansuje_do[klasa_gracza[id]])][2])
{
set_hudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0);
ShowSyncHudMsg(id, SyncHudObj2,"Osiagajac poziom %i, awansowales do klasy %s!", poziom_gracza[id], nazwy_klas[awansuje_do[klasa_gracza[id]]]);
nowa_klasa_gracza[id] = awansuje_do[klasa_gracza[id]];
UstawNowaKlase(id);
DajBronie(id);
ZastosujAtrybuty(id);
ZapiszDane(id);
}
}

Jeżeli chcesz, aby na nową klasę przechodził poziom, exp, statystyki itd., zastąp w/w funkcję tą:
		if(awansuje_do[klasa_gracza[id]])
{
if(poziom_gracza[id] >= awanse[ZnajdzAwans(klasa_gracza[id], awansuje_do[klasa_gracza[id]])][2])
{
set_hudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0);
ShowSyncHudMsg(id, SyncHudObj2,"Osiagajac poziom %i, awansowales do klasy %s!", poziom_gracza[id], nazwy_klas[awansuje_do[klasa_gracza[id]]]);
new temp_int = inteligencja_gracza[id], temp_zdr = zdrowie_gracza[id], temp_kon = kondycja_gracza[id], temp_wyt = wytrzymalosc_gracza[id], temp_exp = doswiadczenie_gracza[id], temp_lvl = poziom_gracza[id];
nowa_klasa_gracza[id] = awansuje_do[klasa_gracza[id]];
UstawNowaKlase(id);
poziom_gracza[id] = temp_lvl;
doswiadczenie_gracza[id] = temp_exp;
wytrzymalosc_gracza[id] = temp_wyt;
zdrowie_gracza[id] = temp_zdr;
kondycja_gracza[id] = temp_kon;
inteligencja_gracza[id] = temp_int;
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
DajBronie(id);
ZastosujAtrybuty(id);
ZapiszDane(id);
}
}

8. Zapisujemy i kompilujemy plik. Otwieramy plik include/codmod.inc. Dopisujemy na koniec tego pliku to, a następnie go zapisujemy:
native cod_register_advance(z_klasy, od_levela, const nazwa[], const opis[], bronie, punkty_zdrowia, punkty_kondycji, punkty_inteligencji, punkty_wytrzymalosci);

9. Wszystko jest już gotowe, ale nie mamy zdefiniowanych żadnych awansów. Teraz się tym zajmiemy. Zacznę od omówienia parametrów natywu cod_register_advance.
z_klasy - id klasy, kt&#243;ra ma awansować w tą klasę,
od_levela - wymagany level do awansu,
Reszta parametr&#243;w nie r&#243;żni się od tych z cod_register_class
10. Klasę, w którą będzie się awansować tworzymy praktycznie tak samo, jak zwykłą. Musimy tylko użyć natywu cod_register_advance, zamiast cod_register_class. Użycie natywu wygląda tak:
cod_register_advance(cod_get_classid("Snajper"), 60, nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

I teraz w stworzoną przez nas klasę, będzie awansować inna klasa - Snajper, po osiągnięciu 60 poziomu. A to plik .sma przykładowej klasy - Elitarnego Snajpera:
Załączony plik  codawans_elitesnajper.sma   1,4 KB  1787 Ilość pobrań
  codawans_elitesnajper.amxx

Gotowiec:
Załączony plik  awanse.sma   41,62 KB  1675 Ilość pobrań
  awanse.amxx

Dodatki/alternatywne wersje:
- Wersja kompatybilna z frakcjami DarkGL'a - http://amxx.pl/topic...post__p__262120
- Klasy nie awansują, ale odblokowywują się po osiągnięciu danego poziomu na danej klasie - http://amxx.pl/topic...post__p__259522
- Klasy nie awansują, ale odblokowywują się po osiągnięciu danego poziomu na danej klasie (jeżeli mamy wgrane frakcje) - http://amxx.pl/topic...post__p__262954
- Informacje o awansach w menu /klasy - http://amxx.pl/topic...post__p__263164

Mam nadzieję, że coś zrozumieliście i nie będziecie mieli problemów ze zrobieniem tego na swoim CoD'zie Dołączona grafika.
  • +
  • -
  • 75


#255463 Info po smierci

Napisane przez DarkGL w 03.06.2011 04:59

opis.png
Plugin pozwala po zginięciu dać info swojemu teamowi poprzez mikrofon lub czat

 

http://darkgl.pl/201...nfo-po-smierci/

ss.png
info.jpg

cvary.png



//czas na danie infa po śmierci standard to 5 sekund

info_smierci_czas 5

download.png
Załączony plik  inf_smierc.amxx   5,62 KB  495 Ilość pobrań

Załączony plik  inf_smierc.sma   1,77 KB  4799 Ilość pobrań
  inf_smierc.amxx


  • +
  • -
  • 57


#253612 Portal Gun

Napisane przez DarkGL w 27.05.2011 22:34

Dołączona grafika
Pomysł rzucił abes i tak to jakos po trochu powstawało udostepniam poniewaz nie mam czasu sie tym zajmowac
kod nie jest idealny ale wydaje mi sie ze jest ok
plugin przenosi do cs'a portal gun'a znanego z gier Portal i Portal 2
podziękowania dla R3X

Dołączona grafika
give_portal <nick>

Dołączona grafika
// 1 or 2 difrent sprites 0 off this
portal_sprite 1

// 1 - no fall damage 0 - normal (no fall damage for person who have portal gun)
portal_fall_damage 1

// speed of portal bullet
portal_bullet_speed 1500

//how much money you must have to buy portal with /portal command in say negative number off this
portal_cost -1

//portal gun for free on spawn ? 1 - yes 0 -no
portal_spawn 0
po pierwszym uruchomieniu utworzy sie plik
portal.cfg w folderze configs

Dołączona grafika
Te video jest z aktualnymi modelami, reszta jest ze starymi
Aby wyświetlić w większej rozdzielczości, obejrzyj na YouTube.com (kliknij na tytuł)
http://www.youtube.com/watch?v=Y4pa3NMcEBU&hd=1

http://www.youtube.com/watch?v=1rXkDpvuHoY
http://www.youtube.com/watch?v=W6qolwCB5WA
http://www.youtube.com/watch?v=-wiDfqz0Dps

Dołączona grafika
w sma znajdziemy cos takiego
#define SOUNDS
#define SPRITES
//#define TEST
//#define TRACE_HULL
jesli dodamy // przed #define SOUNDS wylaczmy uzywanie dzwiekow przez plugin
przed sprites to wylaczmy sprites
usuwajac TEST spowodujemy dodanie funkcji ktorych uzywalem do testowania
TRACE_HULL przy takiej konfiguracji plugin sprawdza czy miejsce jest wolne za pomoca mojej funkcji jesli to odkomentujemy bedzie uzywac TRACE_HULLA lepiej mojej uzywac : P

#define MAX 32
tu podajemy ilosc slotow
(mniej pamięci zżera plugin)

Dołączona grafika
/portal w say'u

Dołączona grafika
Załączony plik  portal.sma   24,98 KB  4485 Ilość pobrań
  portal.amxx
Załączony plik  portal.amxx   29,09 KB  1440 Ilość pobrań

Załączony plik  portal.rar   2,74 MB  6848 Ilość pobrań

  • +
  • -
  • 60


#253095 komenda dostepna co 20 sec

Napisane przez R3X w 26.05.2011 12:34

Get gametime zwraca czas gry, więc pobranie go w 2 momentach i odjęcie zwróconych wartości daje nam ilość sekund, które upłynęły między tymi momentami.

new Float:gfLastUse[33];
new const Float:coIleSekund = 20.0;

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("komenda", "cmdKomenda");
	
}
public client_putinserver(id){
	gfLastUse[id] = -coIleSekund-10.0;
}

public cmdKomenda(id){
	new Float:fNow = get_gametime();
	new Float:fTime = fNow - gfLastUse[id];
	if( fTime < coIleSekund){
		client_print(id, print_chat, "Musisz poczekac jeszcze %d sekund", floatround(coIleSekund-fTime));
		return PLUGIN_HANDLED;
	}
	gfLastUse[id] = fNow;
	
	
	
	
	return PLUGIN_HANDLED;
}

  • +
  • -
  • 1