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.
|
Qski
Rejestracja: 04.03.2011Aktualnie: Nieaktywny
Poza forum Ostatnio: 03.12.2013 16:00
Statystyki
- Grupa: Użytkownik
- Całość postów: 72
- Odwiedzin: 5 488
- Tytuł: Pomocny
- Wiek: 27 lat
- Urodziny: Listopad 24, 1996
-
Płeć
Mężczyzna
-
Lokalizacja
Lubichowo
Narzędzia użytkownika
Znajomi
Qski nie posiada znajomych
#294713 Jak zmianić nazwy drużyn ?
Napisane przez DarkGL w 10.09.2011 20:17
http://forums.allied...ead.php?t=66153
ale tak jak mówiłem nie zmienia on nazwy w tablicy wyników
#170498 [QTM COD:MW Mod] Komenda /skille
Napisane przez Jagoda w 12.09.2010 13:39
szukamy
register_clcmd("say /klasa", "WybierzKlase");
dodajemy pod
register_clcmd("say /skille", "czary");
potem na koncu kodu wklejamy
public czary(id)
{
client_print(id, print_chat, "Inteligencja: %i, Zycie: %i, Kondycja: %i, Wytrzymalosc: %i ", inteligencja_gracza[id], zdrowie_gracza[id], kondycja_gracza[id], wytrzymalosc_gracza[id] );
client_print(id, print_chat, "To daje ci :%i Zycia, Szybsze bieganie o %i i Redukuje obrazenia o %0.0f%%", zdrowie_gracza[id]*2, floatround(kondycja_gracza[id]*1.3), redukcja_obrazen_gracza[id]*100 );
}
kompilujemy i gotowe
#250099 Plugin na mruganie
Napisane przez kasza w 16.05.2011 20:55
#249062 Szukam JailBreak Moda
Napisane przez cajmert w 14.05.2011 07:17
#158089 [COD]Jak dodać Item/Klasę/Moc Spadochron(iarz)
Napisane przez camilost w 07.08.2010 17:21
Otwieramy SMA Cod Moda i:
1. Szukamy
new doswiadczenie_za_bombe;Po tym dodajemy
new SpadochronDetach; new SpadochronSpadanie;
2. Szukamy
new ilosc_skokow_gracza[33];Po tym dodajemy
new ilosc_spadochronow_gracza[33]; new para_ent[33];
3. Szukamy
doswiadczenie_za_bombe = get_cvar_num("cod_bombxp");Po tym dodajemy
SpadochronSpadanie = register_cvar("cod_spadochron_fallspeed", "100"); SpadochronDetach = register_cvar("cod_spadochron_detach", "1");
4. Szukamy
precache_model("models/mine.mdl");Po tym dodajemy
precache_model("models/parachute.mdl");
5. Szukamy w public Odrodzenie(id)
switch(klasa_gracza[id])Nad tym dodajemy (Dodałem dodatkowe linie, aby zapobiec bugom, iż po odrodzeniu mamy item z poprzedniej klasy [jeśli go nie wykorzystaliśmy])
ilosc_rakiet_gracza[id] = 0; ilosc_apteczek_gracza[id] = 0; ilosc_min_gracza[id] = 0; ilosc_dynamitow_gracza[id] = 0; ilosc_skokow_gracza[id] = 0; ilosc_spadochronow_gracza[id] = 0; if(para_ent[id] > 0) { remove_entity(para_ent[id]) set_user_gravity(id, 1.0) para_ent[id] = 0 }
6. Szukamy w public client_disconnect(id)
UsunPrzedmiot(id);Po tym dodajemy
parachute_reset(id);
7. Szukamy w public Death()
if(!is_user_alive(attacker) || !is_user_connected(attacker))Nad tym dodajemy
parachute_reset(id);
8. Na sam koniec kodu dodajemy to co w spoilerze:
parachute_reset(id) { if(para_ent[id] > 0) { if (is_valid_ent(para_ent[id])) { remove_entity(para_ent[id]) } } if (is_user_alive(id)) set_user_gravity(id, 1.0) ilosc_spadochronow_gracza[id] = 0; para_ent[id] = 0; } public client_PreThink(id) { //parachute.mdl animation information //0 - deploy - 84 frames //1 - idle - 39 frames //2 - detach - 29 frames if (!is_user_alive(id)) return new Float:fallspeed = get_pcvar_float(SpadochronSpadanie) * -1.0 new Float:frame new button = get_user_button(id) new oldbutton = get_user_oldbutton(id) new flags = get_entity_flags(id) if (para_ent[id] > 0 && (flags & FL_ONGROUND)) { if (get_pcvar_num(SpadochronDetach)) { if (get_user_gravity(id) == 0.1) set_user_gravity(id, 1.0) if (entity_get_int(para_ent[id],EV_INT_sequence) != 2) { entity_set_int(para_ent[id], EV_INT_sequence, 2) entity_set_int(para_ent[id], EV_INT_gaitsequence, 1) entity_set_float(para_ent[id], EV_FL_frame, 0.0) entity_set_float(para_ent[id], EV_FL_fuser1, 0.0) entity_set_float(para_ent[id], EV_FL_animtime, 0.0) entity_set_float(para_ent[id], EV_FL_framerate, 0.0) return } frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 2.0 entity_set_float(para_ent[id],EV_FL_fuser1,frame) entity_set_float(para_ent[id],EV_FL_frame,frame) if (frame > 254.0) { remove_entity(para_ent[id]) para_ent[id] = 0 } } else { remove_entity(para_ent[id]) set_user_gravity(id, 1.0) para_ent[id] = 0 } return } if ((button & IN_USE) && (ilosc_spadochronow_gracza[id] > 0)) { new Float:velocity[3] entity_get_vector(id, EV_VEC_velocity, velocity) if (velocity[2] < 0.0) { if(para_ent[id] <= 0) { para_ent[id] = create_entity("info_target") if(para_ent[id] > 0) { entity_set_string(para_ent[id],EV_SZ_classname,"parachute") entity_set_edict(para_ent[id], EV_ENT_aiment, id) entity_set_edict(para_ent[id], EV_ENT_owner, id) entity_set_int(para_ent[id], EV_INT_movetype, MOVETYPE_FOLLOW) entity_set_model(para_ent[id], "models/parachute.mdl") entity_set_int(para_ent[id], EV_INT_sequence, 0) entity_set_int(para_ent[id], EV_INT_gaitsequence, 1) entity_set_float(para_ent[id], EV_FL_frame, 0.0) entity_set_float(para_ent[id], EV_FL_fuser1, 0.0) } } if (para_ent[id] > 0) { entity_set_int(id, EV_INT_sequence, 3) entity_set_int(id, EV_INT_gaitsequence, 1) entity_set_float(id, EV_FL_frame, 1.0) entity_set_float(id, EV_FL_framerate, 1.0) set_user_gravity(id, 0.1) velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed entity_set_vector(id, EV_VEC_velocity, velocity) if (entity_get_int(para_ent[id],EV_INT_sequence) == 0) { frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 1.0 entity_set_float(para_ent[id],EV_FL_fuser1,frame) entity_set_float(para_ent[id],EV_FL_frame,frame) if (frame > 100.0) { entity_set_float(para_ent[id], EV_FL_animtime, 0.0) entity_set_float(para_ent[id], EV_FL_framerate, 0.4) entity_set_int(para_ent[id], EV_INT_sequence, 1) entity_set_int(para_ent[id], EV_INT_gaitsequence, 1) entity_set_float(para_ent[id], EV_FL_frame, 0.0) entity_set_float(para_ent[id], EV_FL_fuser1, 0.0) } } } } else if (para_ent[id] > 0) { remove_entity(para_ent[id]) set_user_gravity(id, 1.0) para_ent[id] = 0 ilosc_spadochronow_gracza[id]--; } } else if ((oldbutton & IN_USE) && para_ent[id] > 0) { remove_entity(para_ent[id]) set_user_gravity(id, 1.0) para_ent[id] = 0; ilosc_spadochronow_gracza[id]--; } }
Poradnik jak dodać do klasy X spadochronów, do przedmiotu, jak zrobić klasę spadochroniarz.
1. Gdy dodajemy nową klasę zgodnie z TYM poradnikiem:
w switch(klasa_gracza[id])
I pod daną klasie bronią dodajemy po prostu
ilosc_spadochronow_gracza[id] = 3;
Tak np. wyglądała by klasa Komandos
case Komandos: { give_item(id, "weapon_deagle"); ilosc_spadochronow_gracza[id] = 3; }
2. Zrobiliśmy klasę Spadochroniarz i chcemy, aby miała nieskończoność spadochronów w public client_PreThink(id)
Szukamy
if ((button & IN_USE) && (ilosc_spadochronow_gracza[id] > 0))I zamieniamy na np.:
if (button & IN_USE && (ilosc_spadochronow_gracza[id] > 0 || klasa_gracza[id] == Spadochroniarz))
3. Dodajemy nowy przedmiot według kolejności (nazwa,opis)
np. u mnie nr. przedmiotu spadochron w kolejności to będzie 29.
Szukamy w public Odrodzenie(id) np. przedmiotu Szpieg:
if(informacje_przedmiotu_gracza[id][0] == 9) ZmienUbranie(id, 0);I po nim dodajemy
if(informacje_przedmiotu_gracza[id][0] == 29) ilosc_spadochronow_gracza[id] = 5; // W zaleznosci ile daliscie w opisie, mozecie tez dodac tak jak z klasa spadochroniarz (patrz wyżej)
Jeżeli sam nie potrafisz tego zrobić
Załóż osobny temat w dziale Scripting/Pluginy załącz SMA i powiedz o co prosisz.
Jeśli nie posiadasz modelu spadochronu łap (Wrzucasz do models/ plik parachute.mdl): parachute.rar 60,83 KB 191 Ilość pobrań
@Zakaz kopiowania ^.^
#243528 Nieograniczone ammo dla itemu/klasy
Napisane przez dasiek w 30.04.2011 10:57
#222989 Nieograniczone ammo dla itemu/klasy
Napisane przez dasiek w 08.03.2011 16:02
Wiele osób się pytało jak zrobić że klasa ma zawsze FULL magazynek . Niedawno to ogarnąłem i postanowiłem sę podzielić.
Tworzymy sobie item lub klase jak kto woli
Moja klasa to Rewol w tabeli więc w CmdStart dodajemy linijke
if(klasa_gracza[id] == Rewol) { set_user_clip(id, maxClip[get_user_weapon(id)]); }
Wtedy nasza klasa nieważne jaką broń by trzymała (M$,AWP lub usp) zawsze ma Full magazynek
Jeśli miałby to być item zamiast klasy dodamy
if(informacje_przedmiotu_gracza[id][0] == 999) //numer itemu { set_user_clip(id, maxClip[get_user_weapon(id)]); }a jeśli dodamy i klase i item dodajemy
if(informacje_przedmiotu_gracza[id][0] == 999 || klasa_gracza[id] == Rewol) //numer itemu { set_user_clip(id, maxClip[get_user_weapon(id)]); }
ot i cała filozofia
U mnie to działa jak będzie u innych nie wiem .
#232532 Monety v2
Napisane przez slawiz w 02.04.2011 17:48
Przepraszam was za błędy w poprzednim poradniku.
Cvary do amxx.cfg:
cod_kill_monety 2 // Ilość monet za zabójstwo.
cod_bomb_monety 10 // Ilość monet za podłożenie i rozbrojenie c4.
--------------------------------------------------------------------
Instalacja Monet:
*Szukamy*:
new doswiadczenie_za_bombe;
*Dodajemy za*:
new ilosc_monet_za_zabojstwo;
new ilosc_monet_za_pake;
*Szukamy*:
new punkty_gracza[33];
*Dodajemy przed*:
new monety[33];
*Szukamy*:
register_cvar("cod_bombxp", "100");
*Dodajemy za*:
register_cvar("cod_kill_monety", "2");
register_cvar("cod_bomb_monety", "10");
*Szukamy*:
doswiadczenie_za_bombe = get_cvar_num("cod_bombxp");
*Dodajemy za*:
ilosc_monet_za_zabojstwo = get_cvar_num("cod_kill_monety"); // Ilosc monet za zabojstwo
ilosc_monet_za_pake = get_cvar_num("cod_bomb_monety"); // Ilosc monet za zabojstwo
*Szukamy*:
new nowe_doswiadczenie = 0;
*Dodajemy za*:
new nowe_monety = 0;
*Szukamy*:
nowe_doswiadczenie += doswiadczenia_za_zabojstwo;
*Dodajemy za*:
nowe_monety += ilosc_monet_za_zabojstwo;
*Szukamy*:
nowe_doswiadczenie += doswiadczenia_za_zabojstwo*2;
*Zmieniamy na*:
{
nowe_doswiadczenie += doswiadczenia_za_zabojstwo*2;
nowe_monety += ilosc_monet_za_zabojstwo*2;
}
*Szukamy*:
doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
*Dodajemy za*:
monety[attacker] += nowe_monety;
*Szukamy*:
//resetuje umiejetnosci
klasa_gracza[id] = 0;
poziom_gracza[id] = 0;
doswiadczenie_gracza[id] = 0;
punkty_gracza[id] = 0;
*Dodajemy za*:
monety[id] = 0;
*Szukamy*:
doswiadczenie_gracza[podkladajacy] += doswiadczenie_za_bombe;
*Dodajemy za*:
monety[podkladajacy] += ilosc_monet_za_pake;
*Szukamy*:
doswiadczenie_gracza[id] += doswiadczenia_za_zabojstwo;
*Dodajemy za*:
monety[id] += doswiadczenia_za_zabojstwo;
*Szukamy*:
doswiadczenie_gracza[rozbrajajacy] += doswiadczenie_za_bombe;
*Dodajemy za*:
monety[rozbrajajacy] += ilosc_monet_za_pake;
*Szukamy*:
public ZapiszDane(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa_gracza[id]);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);
nvault_set(g_vault,vaultkey,vaultdata);
}
*Zmieniamy na*:
public ZapiszDane(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa_gracza[id]);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], monety[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);
nvault_set(g_vault,vaultkey,vaultdata);
}
*Szukamy*:
public WczytajDane(id, klasa)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);
nvault_get(g_vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32];
parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, inteligencjagracza, 31, silagracza, 31, zrecznoscgracza, 31, zwinnoscgracza, 31);
doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza);
poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1;
inteligencja_gracza[id] = str_to_num(inteligencjagracza);
zdrowie_gracza[id] = str_to_num(silagracza);
wytrzymalosc_gracza[id] = str_to_num(zrecznoscgracza);
kondycja_gracza[id] = str_to_num(zwinnoscgracza);
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
}
*Zmieniamy na*:
public WczytajDane(id, klasa)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], monety[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);
nvault_get(g_vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32], monetygracza[32];
parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, inteligencjagracza, 31, silagracza, 31, zrecznoscgracza, 31, zwinnoscgracza, 31, monetygracza, 31);
doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza);
poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1;
monety[id] = str_to_num(monetygracza);
inteligencja_gracza[id] = str_to_num(inteligencjagracza);
zdrowie_gracza[id] = str_to_num(silagracza);
wytrzymalosc_gracza[id] = str_to_num(zrecznoscgracza);
kondycja_gracza[id] = str_to_num(zwinnoscgracza);
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
}
*Szukamy*:
public PokazInformacje(id)
{
id -= ZADANIE_POKAZ_INFORMACJE;
set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
if(!is_user_alive(id))
{
new target = entity_get_int(id, EV_INT_iuser2);
if(target == 0)
return PLUGIN_CONTINUE;
set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPrzedmiot : %s", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target], nazwy_przedmiotow[informacje_przedmiotu_gracza[target][0]]);
return PLUGIN_CONTINUE;
}
set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Przedmiot : %s]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id], nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
return PLUGIN_CONTINUE;
}
*Zmieniamy na*:
public PokazInformacje(id)
{
id -= ZADANIE_POKAZ_INFORMACJE;
set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
if(!is_user_alive(id))
{
new target = entity_get_int(id, EV_INT_iuser2);
if(target == 0)
return PLUGIN_CONTINUE;
set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPrzedmiot : %s^nMonety : %i", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target], nazwy_przedmiotow[informacje_przedmiotu_gracza[target][0]], monety[target]);
return PLUGIN_CONTINUE;
}
set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Przedmiot : %s]^n[Monety : %i]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id], nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]], monety[id]);
return PLUGIN_CONTINUE;
}
Pamiętajcie: Instalujecie tą modyfikacje na własną odpowiedzialność.
#129568 Call of Duty: MW Mod - Beta
Napisane przez QTM. Peyote w 29.04.2010 10:38
Chyba tak zrobię. // Jestdo wykrywania klawisza USE używaj Ham_Use bądź Ham_ObjectCaps, dla innych CmdStart
Fakt. // PoprawioneSprawdzasz tylko nóż, a co w przypadku np. bomb
Dzięki, nie znałem.zamiast UTIL_In_FOV używaj Ham_FVisible
W Ham_TakeDamage dałem tylko rzeczy związane z kontrolą obrażeń ;]Po co rejestrujesz event Damage skoro używasz Ham_TakeDamage
#129512 Call of Duty: MW Mod - Beta
Napisane przez QTM. Peyote w 28.04.2010 23:08
Mamy 10 klas(9 zwykłych i 1 premium) do wyboru, każda z nich ma inne bronie oraz umiejętności.
say /reset - resetuje statystyki gracza say /klasa - otwiera menu wyboru klasy say /klasy - otwiera menu z opisami klas say /wyrzuc - wyrzuca przedmiot say /przedmiot - pokazuje informacje o przedmiocie
cod_killxp - ustala ilość doświadczenia za zabójstwo cod_bombxp - ustala ilość doświadczenia za podlozenie/rozbrojenie bomby
Hamsandwich Fakemeta Engine Fun Nvault Cstrike
Klasa premium dostępna jest po dodaniu flagi "T"
Aby włączyć obsługę botów należy znaleźć linię:
//#define BOTY
i zmienić na:
#define BOTY
Zabezpieczenie konieczne, ponieważ tą metodą na localhost uznaje gracza za bota, a amxx'owe is_user_bot(id) nie wykrywa wszystkich botów.
Standardowa
FAQ CodMod
CoD mod pytanie - Nieoficjalny polski support AMX Mod X
[Problem] CoD MoD, gdy sięskradamy słychać kroki - Nieoficjalny polski support AMX Mod X
CoD - Tracimy przedmiot gdy nas zabiją - Nieoficjalny polski support AMX Mod X
Cal of duty odblokowanie klasy Rambo dla All - Nieoficjalny polski support AMX Mod X
CoD MoD - Kilka pytan - Nieoficjalny polski support AMX Mod X
Sklep W CoD od Peyote - Nieoficjalny polski support AMX Mod X
UPDATE 0.7.4 02 maj 2010 - 22:46
- Naprawione ustawianie kątów rakiet.
- Od teraz w menu obok klasy widzimy swój poziom.
- Poprawione Multi-Skoki.
- Poprawione opisy klas.
- Obrońca otrzymał odporność na miny.
UPDATE 0.7.9 04 maj 2010 - 18:43
- Cztery nowe przedmioty.
- Dodana obsługa botów.
- Dodana blokada doświadczenia za bombe, kiedy na serwerze jest 1 osoba.
- Kosmetyczne poprawki
UPDATE 0.7.93 05 maj 2010 - 20:15
- Drobne poprawki ułatwiające edytowanie moda.
To nie jest przerobione diablo.
QTM_CodMod.rar 349,36 KB 13780 Ilość pobrań
Załączone pliki
-
QTM_CodMod.amxx 52,77 KB 3521 Ilość pobrań
-
QTM_CodMod.sma 48,95 KB 9224 Ilość pobrań
QTM_CodMod.amxx
#160509 Dawanie przedmiotu graczowi w COD
Napisane przez camilost w 16.08.2010 16:12
Komenda: cod_giveitem "NickGracza" "NumerItemku"
W .sma szukamy plugin_init i w nim dodajemy:
register_concmd("cod_giveitem", "cmd_giveitem", ADMIN_KICK, "<name> <item number>");
Na samym końcu źródła.
public cmd_giveitem(id, level, cid)
{
if(!cmd_access(id, level, cid, 3))
return PLUGIN_HANDLED;
new arg1[33];
new arg2[3];
new nazwa[33]
read_argv(1,arg1,32);
read_argv(2,arg2,2);
new player = cmd_target(id, arg1, 0);
remove_quotes(arg2);
new item = str_to_num(arg2);
if(!informacje_przedmiotu_gracza[player][0])
{
if(item > 0 && item < sizeof(nazwy_przedmiotow))
{
new nazwa[33]
get_user_name(player, nazwa, 32);
DajPrzedmiot(player, item)
client_print(id, print_console, "[COD:MW] Dales graczowi: %s Przedmiot: %s.", nazwa, nazwy_przedmiotow[informacje_przedmiotu_gracza[player][0]])
}
else client_print(id, print_console, "[COD:MW] Nie ma takiego itemu.")
}
else client_print(id, print_console, "[COD:MW] Ten gracz posiada juz item.")
return PLUGIN_HANDLED;
}
@Zakaz kopiowania ^.^
@EDIT Zabezpieczonko małe : D
#223928 Jak zrobic item zmniejszajacy grawitacje
Napisane przez Lolson w 10.03.2011 22:27
Na początku tworzymy jak normalny item potem szukamy
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
pod tym dodajemy
if(informacje_przedmiotu_gracza[id][0] == XX
set_user_gravity(id, 0.5)
Aby zrobic klase z wbudowanym takim itemem zamiast
if(informacje_przedmiotu_gracza[id][0] == XX
piszeny to:
if(informacje_przedmiotu_gracza[id][0] == XX ||(klasa_gracza[id] == Nazwa Klasy))
#175987 [QTM COD:MW Mod] Wskrzesznie u medyka
Napisane przez Cypis' w 01.10.2010 19:10
1. Dodajesz pod
//#define BOTY 1to:
native cod_add_wskrzes(id, ile)
2. Do case klasy dodajesz:
cod_add_wskrzes(id,1)
3. Dodajesz pod
nowa_klasa_gracza[id] = 0;w public Odrodzenie(id) to:
cod_add_wskrzes(id, 0)
4.to dodajemy na koniec sma cod moda
public plugin_natives()
{
register_native("cod_set_user_xp", "UstawDoswiadczenie", 1);
register_native("cod_get_user_xp", "PobierzDoswiadczenie", 1);
register_native("cod_get_user_health", "PobierzZdrowieMax", 1);
}
public UstawDoswiadczenie(id, wartosc)
{
doswiadczenie_gracza[id] = wartosc;
SprawdzPoziom(id);
}
public PobierzDoswiadczenie(id)
return doswiadczenie_gracza[id];
public PobierzZdrowieMax(id)
return maksymalne_zdrowie_gracza[id];
Cvary:
cod_revkit_time - Jak długo ma wskrzeszać osobę. Standardowo: 3(sekundy)
cod_revkit_health - Ile ma dać graczowi hp po wskrzeszeniu. Standardowo: 75(hp)
cod_revkit_distance - Z jakiego maksymalnej odległość można wskrzeszać. Standardowo: 100(dystanse)
cod_revkit_xpdefiling - Ile expa ma dawać za 'zjedzenie' przeciwnika. Standardowo: 10(exp)
cod_revkit_xpraise - Ile expa ma dawać za wskrzeszenie osoby ze swojej drużyny. Standardowo: 20(exp)
cod_revkit_hpdefiling - Ile hp ma dawać za 'zjedzenie' przeciwnika. Standardowo: 30(hp)
cod_revkit_ile - Ile osób można wskrzesić na rundę. Standardowo: 10
sma wskrzeszania do medyka pod starego cod moda:
medyk.sma 12,86 KB 607 Ilość pobrań
medyk.amxx
#205043 Jak zrobic item/klase Auto BH
Napisane przez Karnerrr w 11.01.2011 14:51
Pod:
#define ZADANIE_USTAW_SZYBKOSC 832
Dodaj:
#define FL_WATERJUMP (1<<11)
#define FL_ONGROUND (1<<9)
Na samym końcu pliku:
a) Jesli Dla klasy:
public client_PreThink(id) {
if (entity_get_int(id, EV_INT_button) & 2 && klasa_gracza[id] == Nazwa_Klasy) { //Tam gdzie Nazwa_Klasy podajesz nazwe klasy, ktora ma miec Auto BH
new flags = entity_get_int(id, EV_INT_flags)
if (flags & FL_WATERJUMP)
return PLUGIN_CONTINUE
if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
return PLUGIN_CONTINUE
if ( !(flags & FL_ONGROUND) )
return PLUGIN_CONTINUE
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[2] += 250.0
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6)
}
return PLUGIN_CONTINUE
}
Jesli chcesz stworzyc item:
Pod:
"Modul odrzutowy"
Dajesz:
"Auto BH"
Pod:
"Nacisnij CTRL i SPACE aby uzyc modulu, modul laduje sie co 4 sekundy"
Dajesz:
"Masz Auto BH"
Na samym koncu pliku:
public client_PreThink(id) {
if (entity_get_int(id, EV_INT_button) & 2 && informacje_przedmiotu_gracza[id][0] == XX) { // Tam gdzie XX wpisujesz numer itemu
new flags = entity_get_int(id, EV_INT_flags)
if (flags & FL_WATERJUMP)
return PLUGIN_CONTINUE
if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
return PLUGIN_CONTINUE
if ( !(flags & FL_ONGROUND) )
return PLUGIN_CONTINUE
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[2] += 250.0
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6)
}
return PLUGIN_CONTINUE
}
c) Jesli chcesz zrobic item i klase poprostu:
if (entity_get_int(id, EV_INT_button) & 2 && (informacje_przedmiotu_gracza[id][0] == XX || klasa_gracza[id] == Nazwa_Klasy)) {
Jezeli ktos ma na tym samym cod modzie spadochron i auto BH, najprawdopodobniej sie to nie skomplikuje. Aby zapobiec temu:
Na samym końcu pliku usuwasz spadochron i auto BH, a dodajesz:
parachute_reset(id)
{
if(para_ent[id] > 0) {
if (is_valid_ent(para_ent[id])) {
remove_entity(para_ent[id])
}
}
if (is_user_alive(id)) set_user_gravity(id, 1.0)
ilosc_spadochronow_gracza[id] = 0;
para_ent[id] = 0;
}
public client_PreThink(id)
{
//parachute.mdl animation information
//0 - deploy - 84 frames
//1 - idle - 39 frames
//2 - detach - 29 frames
if (!is_user_alive(id)) return
new Float:fallspeed = get_pcvar_float(SpadochronSpadanie) * -1.0
new Float:frame
new button = get_user_button(id)
new oldbutton = get_user_oldbutton(id)
new flags = get_entity_flags(id)
if (para_ent[id] > 0 && (flags & FL_ONGROUND)) {
if (get_pcvar_num(SpadochronDetach))
{
if (get_user_gravity(id) == 0.1) set_user_gravity(id, 1.0)
if (entity_get_int(para_ent[id],EV_INT_sequence) != 2) {
entity_set_int(para_ent[id], EV_INT_sequence, 2)
entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
entity_set_float(para_ent[id], EV_FL_frame, 0.0)
entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
entity_set_float(para_ent[id], EV_FL_framerate, 0.0)
return
}
frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 2.0
entity_set_float(para_ent[id],EV_FL_fuser1,frame)
entity_set_float(para_ent[id],EV_FL_frame,frame)
if (frame > 254.0) {
remove_entity(para_ent[id])
para_ent[id] = 0
}
}
else {
remove_entity(para_ent[id])
set_user_gravity(id, 1.0)
para_ent[id] = 0
}
return
}
if ((button & IN_USE) && (ilosc_spadochronow_gracza[id] > 0 || klasa_gracza[id] == Spadochroniarz))// gdzie spadochroniarz dajesz klase ktora bedzia miale spadochron
{
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
if (velocity[2] < 0.0) {
if(para_ent[id] <= 0) {
para_ent[id] = create_entity("info_target")
if(para_ent[id] > 0) {
entity_set_string(para_ent[id],EV_SZ_classname,"parachute")
entity_set_edict(para_ent[id], EV_ENT_aiment, id)
entity_set_edict(para_ent[id], EV_ENT_owner, id)
entity_set_int(para_ent[id], EV_INT_movetype, MOVETYPE_FOLLOW)
entity_set_model(para_ent[id], "models/parachute.mdl")
entity_set_int(para_ent[id], EV_INT_sequence, 0)
entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
entity_set_float(para_ent[id], EV_FL_frame, 0.0)
entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
}
}
if (para_ent[id] > 0) {
entity_set_int(id, EV_INT_sequence, 3)
entity_set_int(id, EV_INT_gaitsequence, 1)
entity_set_float(id, EV_FL_frame, 1.0)
entity_set_float(id, EV_FL_framerate, 1.0)
set_user_gravity(id, 0.1)
velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed
entity_set_vector(id, EV_VEC_velocity, velocity)
if (entity_get_int(para_ent[id],EV_INT_sequence) == 0) {
frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 1.0
entity_set_float(para_ent[id],EV_FL_fuser1,frame)
entity_set_float(para_ent[id],EV_FL_frame,frame)
if (frame > 100.0) {
entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
entity_set_float(para_ent[id], EV_FL_framerate, 0.4)
entity_set_int(para_ent[id], EV_INT_sequence, 1)
entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
entity_set_float(para_ent[id], EV_FL_frame, 0.0)
entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
}
}
}
}
else if (para_ent[id] > 0) {
remove_entity(para_ent[id])
set_user_gravity(id, 1.0)
para_ent[id] = 0
ilosc_spadochronow_gracza[id]--;
}
}
else if ((oldbutton & IN_USE) && para_ent[id] > 0) {
remove_entity(para_ent[id])
set_user_gravity(id, 1.0)
para_ent[id] = 0;
ilosc_spadochronow_gracza[id]--;
}
if (entity_get_int(id, EV_INT_button) & 2 && klasa_gracza[id] == Klasa_auto_BH) {// tam gdzie Klasa_auto_BH dajemy naszą klase z BH
new flags = entity_get_int(id, EV_INT_flags)
if (flags & FL_WATERJUMP)
return
if (entity_get_int(id, EV_INT_waterlevel) >= 2)
return
if (!(flags & FL_ONGROUND))
return
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[2] += 250.0
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6)
}
return
}
!!UWAGA!! Zakaz kopiowania tego poradnika na inne fora
#162500 Jak dodać itemy do CodMod
Napisane przez ric0 w 21.08.2010 20:26
"Buty Szturmowego", //1 "Podwojna Kamizelka", //2 "Wzmocniona Kamizelka", //3 "Weteran Noza", //4 "Zaskoczenie Wroga", //5 "Plaszcz Partyzanta", //6 "Morfina", //7 "Noz Komandosa", //8 "Podrecznik Szpiega", //9 "Tajemnica Generala", //10 "Notatki Ninji", //11 "Tajemnica Wojskowa", //12 "AWP Sniper",//13 "Adrenalina",//14 "Tajemnica Rambo",//15 "Wyszkolenie Sanitarne",//16 "Kamizelka NASA",//17 "Wytrenowany Weteran",//18 "Apteczka",//19 "Eliminator Rozrzutu",//20 "Tytanowe Naboje",//21 "Naboje Pulkownika",//22 "Ogranicznik Rozrzutu",//23 "Tarcza SWAT",//24 "Wytrenowany Rekrut",//25 "Pancerz Nomexowy",//26 "Notatki Kapitana",//27 "Modul odrzutowy",//28Zmieniasz na:
"Buty Szturmowego", //1 "Podwojna Kamizelka", //2 "Wzmocniona Kamizelka", //3 "Weteran Noza", //4 "Zaskoczenie Wroga", //5 "Plaszcz Partyzanta", //6 "Morfina", //7 "Noz Komandosa", //8 "Podrecznik Szpiega", //9 "Tajemnica Generala", //10 "Notatki Ninji", //11 "Tajemnica Wojskowa", //12 "AWP Sniper",//13 "Adrenalina",//14 "Tajemnica Rambo",//15 "Wyszkolenie Sanitarne",//16 "Kamizelka NASA",//17 "Wytrenowany Weteran",//18 "Apteczka",//19 "Eliminator Rozrzutu",//20 "Tytanowe Naboje",//21 "Naboje Pulkownika",//22 "Ogranicznik Rozrzutu",//23 "Tarcza SWAT",//24 "Wytrenowany Rekrut",//25 "Pancerz Nomexowy",//26 "Notatki Kapitana",//27 "Modul odrzutowy",//28 "Super Item" //29 // "Super Item" zmianasz na nazwe swojego itemuSzukasz:
"Cicho biegasz", "Obniza uszkodzenia zadawane graczowi o LW", "Obniza uszkodzenia zadawane graczowi o LW", "Zadajesz wieksze obrazenia nozem", "Gdy trafisz kogos od tylu, obrazenia sa 2 razy wieksze", "Masz LW premii niewidocznosci", "1/LW szans do ponownego odrodzenia sie po smierci", "Natychmiastowe zabicie z Noza", "Masz 1/LW szans na natychmiastowe zabicie z HE. Posiadasz takze ubranie wroga", "Natychmiastowe zabicie granatem HE. Zadajesz LW dodatkowych obrazen", "Mozesz zrobic podwojny skok w powietrzu", "Twoje obrazenia sa zredukowane o 5. Masz 1/LW szans na oslepienie wroga", "Natychmiastowe zabicie z AWP", "Za kazdego Fraga dostajesz 50 zycia", "Za kazdego Fraga dostajesz pelen magazynek oraz +20 hp", "Dostajesz 10 HP co 5 sekund", "Masz 500 pancerza", "Dostajesz +100 HP co runde, wolniej biegasz", "Uzyj, aby uleczyc sie do maksymalnej ilosci HP", "Nie posiadasz rozrzutu broni", "Zadajesz 10 obrazen wiecej", "Zadajesz 20 obrazen wiecej", "Twoj rozrzut jest mniejszy", "Nie dzialaja na ciebie zadne przedmioty", "Dostajesz +50 HP co runde, wolniej biegasz", "Masz 1/LW szans na odbicie pocisku przez pancerz", "Jestes odporny na 3 pociski w kazdej rundzie", "Nacisnij CTRL i SPACE aby uzyc modulu, modul laduje sie co 4 sekundy",Zmiansz na:
"Cicho biegasz", "Obniza uszkodzenia zadawane graczowi o LW", "Obniza uszkodzenia zadawane graczowi o LW", "Zadajesz wieksze obrazenia nozem", "Gdy trafisz kogos od tylu, obrazenia sa 2 razy wieksze", "Masz LW premii niewidocznosci", "1/LW szans do ponownego odrodzenia sie po smierci", "Natychmiastowe zabicie z Noza", "Masz 1/LW szans na natychmiastowe zabicie z HE. Posiadasz takze ubranie wroga", "Natychmiastowe zabicie granatem HE. Zadajesz LW dodatkowych obrazen", "Mozesz zrobic podwojny skok w powietrzu", "Twoje obrazenia sa zredukowane o 5. Masz 1/LW szans na oslepienie wroga", "Natychmiastowe zabicie z AWP", "Za kazdego Fraga dostajesz 50 zycia", "Za kazdego Fraga dostajesz pelen magazynek oraz +20 hp", "Dostajesz 10 HP co 5 sekund", "Masz 500 pancerza", "Dostajesz +100 HP co runde, wolniej biegasz", "Uzyj, aby uleczyc sie do maksymalnej ilosci HP", "Nie posiadasz rozrzutu broni", "Zadajesz 10 obrazen wiecej", "Zadajesz 20 obrazen wiecej", "Twoj rozrzut jest mniejszy", "Nie dzialaja na ciebie zadne przedmioty", "Dostajesz +50 HP co runde, wolniej biegasz", "Masz 1/LW szans na odbicie pocisku przez pancerz", "Jestes odporny na 3 pociski w kazdej rundzie", "Nacisnij CTRL i SPACE aby uzyc modulu, modul laduje sie co 4 sekundy", "Dostajesz 100hp co runde" // Tu dajesz opis swojego itemu
Szukasz:
if(informacje_przedmiotu_gracza[id][0] == 25) { maksymalne_zdrowie_gracza[id] += 50; szybkosc_gracza[id] -= 0.3; }Dodajesz za tym
if(informacje_przedmiotu_gracza[id][0] == 29) { maksymalne_zdrowie_gracza[id] += 100; // tu dodajesz moc itemu }
To chyba na tyle.
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: Qski
- Regulamin