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.
|
CiotMan
Rejestracja: 25.04.2012Aktualnie: Nieaktywny
Poza forum Ostatnio: 16.05.2013 08:24




Statystyki
- Grupa: Użytkownik
- Całość postów: 53
- Odwiedzin: 1 899
- Tytuł: Pomocny
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Płeć
Mężczyzna
-
Lokalizacja
Giebułtów
Kontakt
Narzędzia użytkownika
Znajomi
CiotMan nie posiada znajomych
Ostatnio byli
#405169 Prośba o 2 klasy ;d
Napisane przez
Kaski
w 02.05.2012 15:23
#406557 Prosze o zmienienie klasy
Napisane przez Engi
w 04.05.2012 20:57
#406265 Prosba o klase.
Napisane przez
Kaski
w 04.05.2012 13:41
zaraz zrobie 3 minutki
srry za mój błąd ale byłem jeszcze śpiący
wstałem około 11.20 jak to majówka
Załączone pliki
-
codclass_snajper.sma 1,38 KB 31 Ilość pobrań
codclass_snajper.amxx
#405942 Klasy oraz Perki :D
Napisane przez
ChadaWGW2
w 03.05.2012 20:59
Załączone pliki
-
codperk_nabojepulkownika.sma 797 bajtów 39 Ilość pobrań
codperk_nabojepulkownika.amxx
-
codperk_tytanowenaboje.sma 795 bajtów 34 Ilość pobrań
codperk_tytanowenaboje.amxx
#404605 Jak zmienic ubranie na ubranie wroga? perk/klasa
Napisane przez dasiek
w 01.05.2012 16:19
new num = random_num(0,3);
switch(get_user_team(id))
{
case CS_TEAM_T:
cs_set_user_model(id,Ubrania_CT[num])
case CS_TEAM_CT:
cs_set_user_model(id,Ubrania_Terro[num])
}
return PLUGIN_CONTINUE;
}
kod odpowiadający za zmiane ubrania. wymaga
new Ubrania_CT[4][]={"sas","gsg9","urban","gign"};
new Ubrania_Terro[4][]={"arctic","leet","guerilla","terror"};
można zrobić też bez tych Tablic
switch(get_user_team(id))
{
case CS_TEAM_T:
cs_set_user_model(id,"sas")
case CS_TEAM_CT:
cs_set_user_model(id,"terror")
}
#405145 Jak zmienic ubranie na ubranie wroga? perk/klasa
Napisane przez Eustachy8
w 02.05.2012 14:37
new Ubrania_CT[4][]={"sas","gsg9","urban","gign"};
tablica dwu wymiarowa
[/color] [1] [sas] [2] [gsg9] [3] [urban] [4] [gign] [color=#666600]
i pozniej w codzie wybiera z posrod 4 liczb i w zaleznosci od liczby taki model wybiera
new num = random_num(0,3); // losuje z liczb 0,1,2,3 i pozniej podstawa do komendy przez co wybiera model do podstawienia
switch(get_user_team(id)) // sprawdza jaki team jestes
{
case CS_TEAM_T: // jezeli TT to daje jeden z 4 modeli CT
cs_set_user_model(id,Ubrania_CT[num]) // tu podstawia
case CS_TEAM_CT: // a tutaj na odwrót
cs_set_user_model(id,Ubrania_Terro[num]) // i tutaj
}
w tym przypadku nie losuje modelu, lecz zawsze daje te same
switch(get_user_team(id))
{
case CS_TEAM_T:
cs_set_user_model(id,"sas")
case CS_TEAM_CT:
cs_set_user_model(id,"terror")
}
#404978 Przerobienie klasy General
Napisane przez dasiek
w 02.05.2012 11:07
#include <amxmodx>
#include <hamsandwich>
#include <amxmisc>
#include <codmod_frakcje>
#include <fun>
#define DMG_HEGRENADE (1<<24)
new const nazwa[] = "General [PREMIUM]";
new const opis[] = "1/1 z he";
new const bronie = (1<<CSW_HEGRENADE)|(1<<CSW_DEAGLE)|(1<<CSW_AK47);
new const zdrowie = 40;
new const kondycja = 30;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new bool:ma_klase[33];
new const frakcja[] = "Klasy premium";
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, frakcja);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[General [PREMIUM]] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
give_item(id, "weapon_hegrenade");
return COD_CONTINUE;
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(this == idattacker)
return HAM_IGNORED;
if(!is_user_connected(idattacker))
return HAM_IGNORED;
if(!ma_perk[idattacker])
return HAM_IGNORED;
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_HEGRENADE && damagebits & DMG_HEGRENADE)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
return HAM_IGNORED;
}
#403577 Dodanie 10+inta
Napisane przez ToJaDevil
w 29.04.2012 15:09
#include<hamsandwich>
Pod includami
#define DMG_BULLET (1<<1)
Pod Up
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
Dopisac do
public plugin_init()
I
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;
if(!ma_klase[idattacker])
return HAM_IGNORED;
if(get_user_weapon(idattacker) == CSW_MP5NAVY && damagebits & DMG_BULLET) //Bron
cod_inflict_damage(idattacker, this, 10.0, 0.2, idinflictor, damagebits);
return HAM_IGNORED;
}
Na sam koniec
#404944 Bardzo prosze o kilka klas; )
Napisane przez Hleb
w 02.05.2012 10:09
Załączone pliki
-
codperk_ksiegaintryganta.sma 1,56 KB 57 Ilość pobrań
codperk_ksiegaintryganta.amxx
-
codperk_magiczneak47.sma 1,21 KB 58 Ilość pobrań
codperk_magiczneak47.amxx
-
codperk_magicznem4a1.sma 1,21 KB 47 Ilość pobrań
codperk_magicznem4a1.amxx
-
codperk_magicznemp5.sma 1,23 KB 49 Ilość pobrań
codperk_magicznemp5.amxx
-
codperk_magicznyfamas.sma 1,22 KB 49 Ilość pobrań
codperk_magicznyfamas.amxx
-
codperk_teczkasnajpiera.sma 1,37 KB 64 Ilość pobrań
codperk_teczkasnajpiera.amxx
-
codperk_mistrzscouta.sma 1,37 KB 59 Ilość pobrań
codperk_mistrzscouta.amxx
#257586 Awanse klas
Napisane przez Goliath
w 10.06.2011 19:48
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óra ma awansować w tą klasę, od_levela - wymagany level do awansu, Reszta parametrów nie różni się od tych z cod_register_class10. 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:
codawans_elitesnajper.sma 1,4 KB 1800 Ilość pobrań
codawans_elitesnajper.amxx
Gotowiec:
awanse.sma 41,62 KB 1685 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
#404902 Prośba o klasy
Napisane przez
fejk
w 02.05.2012 09:23
amxx.pl/kompilator/?mode=dl&pid=541606&fname=codclass_StrzelecWsparcia.sma
Lekki Zolnierz:
amxx.pl/kompilator/?mode=dl&pid=541612&fname=codclass_LekkiZolnierz.sma
#404614 Prośba o perki i klase
Napisane przez
ChadaWGW2
w 01.05.2012 16:55
Załączone pliki
-
zestawciotmena.sma 1,12 KB 52 Ilość pobrań
zestawciotmena.amxx
-
zestawFreskka.sma 1,13 KB 47 Ilość pobrań
zestawFreskka.amxx
-
zestawpulkownika.sma 1,47 KB 56 Ilość pobrań
zestawpulkownika.amxx
-
pelerynakuczaca.sma 995 bajtów 50 Ilość pobrań
pelerynakuczaca.amxx
#404009 [ROZWIĄZANE] Prośba o klase
Napisane przez Maniek974
w 30.04.2012 15:06
Załączone pliki
-
codclass_szybkifreskk.sma 2,1 KB 21 Ilość pobrań
codclass_szybkifreskk.amxx
#404011 [ROZWIĄZANE] Prośba o klase
Napisane przez P@trYk^.^
w 30.04.2012 15:06
Załączone pliki
-
codclass_szybkifreskk.sma 1,92 KB 66 Ilość pobrań
codclass_szybkifreskk.amxx
#403244 [ROZWIĄZANE] Klasa "Generał"
Napisane przez
C@w@ler
w 28.04.2012 17:55
Załączone pliki
-
codclass_general.sma 1,96 KB 43 Ilość pobrań
codclass_general.amxx
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: CiotMan
- Regulamin


Dodatki SourceMod



Moja zawartość
