Zombie Plague 4.3 ----- > http://amxx.pl/topic...-plague-mod-43/
GunXPMod ------ > http://amxx.pl/topic...-zapis-na-nick/
GunXPMod'a musisz sobie skonfigurować pod Zombie plague
To równanie zostało stworzone przy pomocy kodu LaTeX:
Edytor LaTeX online: CodeCogs.com/latex/eqneditor.php
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.
|
Napisane przez M4RV1N w 07.12.2013 16:38
Zombie Plague 4.3 ----- > http://amxx.pl/topic...-plague-mod-43/
GunXPMod ------ > http://amxx.pl/topic...-zapis-na-nick/
GunXPMod'a musisz sobie skonfigurować pod Zombie plague
Napisane przez M4RV1N w 06.12.2013 11:54
Napisane przez M4RV1N w 28.11.2013 20:15
Zazwyczaj jak się ściąga paczkę z tego forum to pliki, które trzeba wrzucić na FTP serwera są folderach tak samo nazwanych. Przykład:
Rozpakowujesz paczkę i widzisz folder cstrike wchodzisz w niego (na FTP serwera robisz to samo)
Przykładowo masz tam foldery models, sounds, addons (szukasz takich folderów na FTP serwera w folderze cstrike)
Otwierasz folder models (na FTP robisz to samo)
Widzisz pliki o rozszerzeniu .mdl
Teraz wrzucasz pliki z rozpakowanej paczki na FTP serwera (czyli pliku o rozszerzeniu .mdl wrzucasz do folderu models)
Jeżeli po wejściu w folder models paczki będzie folder którego nie ma u Ciebie na FTP to po prostu wrzucasz cały ten folder (nie wchodzisz w ten folder tylko wrzucasz go do models)
Nie wiem czy da się to łatwiej opisać...
Napisane przez M4RV1N w 27.11.2013 15:15
Napisane przez M4RV1N w 27.11.2013 14:52
8 linijka, są 2 średniki
new const bronie = 1<<CSW_M4A1 || 1<<CSW_AK47;;
Prawidłowy kod:
#include <amxmodx> #include <amxmisc> #include <codmod> #include <fakemeta> new const nazwa[] = "Determinator SILVER |1|"; new const opis[] = "1/10 na wyrzucenie broni z m4 i AK-47, widzi niewidzialnych, 4 skoki"; new const bronie = 1<<CSW_M4A1 || 1<<CSW_AK47; new const zdrowie = 20; new const kondycja = 20; new const inteligencja = 0; new const wytrzymalosc = 20; new bool:ma_klase[33]; new skoki[33]; public plugin_init() { register_forward(FM_CmdStart, "CmdStart"); register_plugin(nazwa, "1.0", "Pas"); register_forward(FM_AddToFullPack, "FwdAddToFullPack", 1) cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); } public cod_class_enabled(id) { ma_klase[id] = true; return COD_CONTINUE; } public cod_class_disabled(id) ma_klase[id] = false; public FwdAddToFullPack(es_handle, e, ent, host, hostflags, player, pSet) { if(!is_user_connected(host) || !is_user_connected(ent)) return; if(!ma_klase[host]) return; set_es(es_handle, ES_RenderAmt, 255.0); } public Damage(id) { new idattacker = get_user_attacker(id); if(!is_user_alive(idattacker)) return; if(!ma_klase[idattacker]) return; if(random_num(1, 10) != 1) return; client_cmd(id, "drop"); } public CmdStart(id, uc_handle) { if(!is_user_alive(id) || !ma_klase[id]) //jeśli tworzymy perk, wstawiamy ma_perk zamiast ma_klase return FMRES_IGNORED; new flags = pev(id, pev_flags); if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]) { skoki[id]--; new Float:velocity[3]; pev(id, pev_velocity,velocity); velocity[2] = random_float(265.0,285.0); set_pev(id, pev_velocity,velocity); } else if(flags & FL_ONGROUND) skoki[id] = 2; //tutaj podajemy ilość skokow w powietrzu, jaką może wykonać klasa return FMRES_IGNORED; } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ ansicpg1250\\ deff0\\ deflang1045{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par } */
Napisane przez M4RV1N w 25.11.2013 14:21
a – immunitet (gracz z tą flagą ma immunitet czyli nie może być kickowany, banowany, slapowany itp. Zaleca się nie dawanie tej flagi nikomu. Co najwyżej sobie.
b – rezerwacja slotu (gracz dostaje rezerwacje slotu)
c – amx_kick (admin z tą flagą może kopać ludzi z serwera)
d – amx_ban i amx_unban (admin z tą flagą może banować i odbanowywac graczy)
e – amx_slay i amx_slap (admin z tą flagą może slayować i slapować graczy)
f – amx_map (admin z tą flagą może zmieniać mapę)
g – amx_cvar (admin z tą flagą może zmieniać ustawienia serwera [nie wszystkie!])
h – amx_cfg (admin z tą flagą może uruchamiać configi serwera)
i – amx_chat (admin z tą flagą może używać kolorowych napisów)
j – amx_vote (admin z tą flagą może uruchamiać glosowania)
k – dostęp do sv_password (admin z tą flagą może ustawić hasło na serwerze)
l – dostęp do amx_rcon (admin z tą flagą może wykonywać polecenia na konsoli samego serwera poprzez amx_cvar)
m – własny poziom A
n – własny poziom B
o – własny poziom C
p – własny poziom
D – (Flagi te są używane przez dodatkowe pluginy. Poziom A ma najniższy priorytet, poziom H najwyższy.)
q – własny poziom E
r – własny poziom F
s – własny poziom G
t – własny poziom H
u – menu access (admin z tą flagą może używać menu)
z – użytkownik (flaga do oznaczenia NIE admin, zwykłego użytkownika)
Wystarczy poszukać, masz tu opisane co dana flaga nadaje graczowi
Napisane przez M4RV1N w 19.11.2013 21:42
Napisane przez M4RV1N w 11.11.2013 14:16
Teleport.
Biblioteki:
#include <fakemeta> #include <xs>
Zmienne:
new bool:uzyl[33];
Rejestrujemy:
register_event("ResetHUD", "ResetHUD", "abe");
W cod_class_enabled:
uzyl[id] = false; return COD_CONTINUE;
I na koncu sma:
public cod_class_skill_used(id) { if (!uzyl[id]==false) { client_print(id, print_center, "Teleport mozna uzywac co 20s"); return PLUGIN_CONTINUE; } if(uzyl[id] || !is_user_alive(id)) return PLUGIN_CONTINUE; new Float:start[3], Float:view_ofs[3]; pev(id, pev_origin, start); pev(id, pev_view_ofs, view_ofs); xs_vec_add(start, view_ofs, start); new Float:dest[3]; pev(id, pev_v_angle, dest); engfunc(EngFunc_MakeVectors, dest); global_get(glb_v_forward, dest); xs_vec_mul_scalar(dest, 999.0, dest); xs_vec_add(start, dest, dest); engfunc(EngFunc_TraceLine, start, dest, 0, id, 0); new Float:fDstOrigin[3]; get_tr2(0, TR_vecEndPos, fDstOrigin); if(engfunc(EngFunc_PointContents, fDstOrigin) == CONTENTS_SKY) return PLUGIN_CONTINUE; new Float:fNormal[3]; get_tr2(0, TR_vecPlaneNormal, fNormal); xs_vec_mul_scalar(fNormal, 50.0, fNormal); xs_vec_add(fDstOrigin, fNormal, fDstOrigin); set_pev(id, pev_origin, fDstOrigin); uzyl[id] = true; set_task ( 20.0, "ResetHUD", id )///Tu zmieniamy co ile teleport set_task ( 10.0, "InfoTel", id ) } public ResetHUD(id) { uzyl[id] = false; } public InfoTel(id) { client_print(id, print_center, "Ok, teleportuj sie :)"); } Radar (Widzisz wrogow): Zmienne: new g_msgHostageAdd, g_msgHostageDel; new bool:ma_klase[33] Rejestrujemy: g_msgHostageAdd = get_user_msgid("HostagePos"); g_msgHostageDel = get_user_msgid("HostageK"); set_task (2.0,"radar_scan",_,_,_,"b"); I na koncu sma: public radar_scan(id) { new PlayerCoords[3]; for (new id=1; id<=32; id++) { if((!is_user_alive(id))||(!ma_klase[id])) continue; for (new i=1;i<=32;i++) { if(!is_user_alive(i) || get_user_team(i) == get_user_team(id)) continue; get_user_origin(i, PlayerCoords) message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id) write_byte(id) write_byte(i) write_coord(PlayerCoords[0]) write_coord(PlayerCoords[1]) write_coord(PlayerCoords[2]) message_end() message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id) write_byte(i) message_end() } } }
Napisane przez M4RV1N w 06.11.2013 20:16
Proszę:
Napisane przez M4RV1N w 01.11.2013 14:29
Grawitacja Spider Man'a
#include <amxmodx> #include <amxmisc> #include <codmod> #include <engine> #include <hamsandwich> new const perk_name[] = "Grawitacja Spider Man'a"; new const perk_desc[] = "Dostajemy zwiekszona grawitacje"; new ma_perk[33]; public plugin_init() { register_plugin(perk_name, "1.0", "QTM_Peyote") cod_register_perk(perk_name, perk_desc); RegisterHam(Ham_Spawn, "player", "fwSpawn_Grawitacja", 1); } public cod_class_enabled(id) { entity_set_float(id, EV_FL_gravity, 400.0/800.0); ma_perk[id] = true; } public cod_class_disabled(id) { entity_set_float(id, EV_FL_gravity, 1.0); ma_perk[id] = false; } public fwSpawn_Grawitacja(id) { if(ma_perk[id]) entity_set_float(id, EV_FL_gravity, 400.0/800.0); }
#include <amxmodx> #include <amxmisc> #include <codmod> #include <hamsandwich> #include <cstrike> #include <fakemeta> new const perk_name[] = "Mlot Tora"; new const perk_desc[] = "Dostajemy 1/2 z kosy (LPM)"; new ostatnio_prawym[33]; new ma_perk[33]; public plugin_init() { register_plugin(perk_name, "1.0", "QTM_Peyote") cod_register_perk(perk_name, perk_desc); RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenCios"); RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "fwPrimaryAttack_JedenCios"); RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "fwSecondaryAttack_JedenCios"); } public cod_class_enabled(id) { ma_perk[id] = true; } public cod_class_disabled(id) { ma_perk[id] = false; } public fwTakeDamage_JedenCios(id, ent, attacker) { if(is_user_alive(attacker) && ma_perk[attacker] && get_user_weapon(attacker) == CSW_KNIFE && !ostatnio_prawym[id]) { cs_set_user_armor(id, 0, CS_ARMOR_NONE); SetHamParamFloat(4, float(get_user_health(id) + 1)); return HAM_HANDLED; } return HAM_IGNORED; } public fwPrimaryAttack_JedenCios(ent) { new id = pev(ent, pev_owner); ostatnio_prawym[id] = 1; } public fwSecondaryAttack_JedenCios(ent) { new id = pev(ent, pev_owner); ostatnio_prawym[id] = 0; }
Napisane przez M4RV1N w 31.10.2013 15:51
Sprawdź tą
#include <amxmodx> #include <codmod> #include <hamsandwich> #include <ColorChat> #include <engine> #define DMG_BULLET (1<<1) new bool:ma_klase[33]; new const nazwa[] = "Frankenstein (PREMIUM)"; new const opis[] = "Dostaje dodatkowe 30 procent obrazen z AK47"; new const bronie = 1<<CSW_AK47; new const zdrowie = 15; new const kondycja = 0; new const inteligencja = 20; new const wytrzymalosc = 10; public plugin_init() { register_plugin(nazwa, "1.0", "QTM_Peyote"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); } public cod_class_enabled(id) { ColorChat(id, RED, "Nie masz uprawnien, aby korzystac z tej klasy"); // Gdy gracz nie ma flagi wyświetli mu komunikat if(!(get_user_flags(id) & ADMIN_LEVEL_H)) //FLAGA { ColorChat(id, GREEN, "Wybrales klase %s modyfikowana przez Corel | Wbij na forum www.hard-shooters.cba.pl ", nazwa); // Info ze przykładowa klasa jest PREMIUM return COD_STOP; } ma_klase[id] = true; return COD_CONTINUE; } public cod_class_disabled(id) ma_klase[id] = false; 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_AK47 && damagebits & DMG_BULLET) cod_inflict_damage(idattacker, this, damage*0.30, 0.0, idinflictor, damagebits); return HAM_IGNORED; }
PS. Powinno all działać
Napisane przez M4RV1N w 31.10.2013 08:37
W public cod_class_enabled(id) po
if(!(get_user_flags(id) & ADMIN_LEVEL_F)) { ColorChat(id, RED, "[%s] Nie masz uprawnien, aby korzystac z tej klasy."); return COD_STOP; }
dodaj
else { ColorChat(id, GREEN, "Wybrales klase %s modyfikowana przez Corel | Wbij na forum www.hard-shooters.cba.pl ", nazwa); }
Czyli cały public ma wyglądać tak:
public cod_class_enabled(id) { if(!(get_user_flags(id) & ADMIN_LEVEL_F)) { ColorChat(id, RED, "[%s] Nie masz uprawnien, aby korzystac z tej klasy."); return COD_STOP; } else { ColorChat(id, GREEN, "Wybrales klase %s modyfikowana przez Corel | Wbij na forum www.hard-shooters.cba.pl ", nazwa); } ma_klase[id] = true; return COD_CONTINUE; }
Napisane przez M4RV1N w 23.10.2013 12:25
Nie mam pojęcia po co w tej klasie biblioteka colorchat, ale to tak na marginesie..
Powinno działać, sprawdź :
Napisane przez M4RV1N w 22.10.2013 13:35
Frakcję są wczytywane z pliku cod_frakcje.ini co ułatwia dodawanie ich.
W pliku cod_frakcje.ini masz dodane podstawowe klasy do frakcji "Zwykle" i na takiej samej zasadzie dodawaj nowe klasy (podałem Ci przykład w pliku)
Plik cod_frakcje.ini wrzucasz do cstrike->addons->amxmodx->configs.
Jeżeli będziesz miał jakiś problem pisz na PW
Napisane przez M4RV1N w 17.10.2013 07:33
Proszę:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <codmod> #include <engine> #include <fakemeta> #include <hamsandwich> new const nazwa[] = "Pro Sniper"; new const opis[] = "Klasa premium, ma 1/1 szansy na zabicie z AWP oraz noza, gdy kuca z nozem jest slabo widoczna "; new const bronie = (1<<CSW_AWP)|(1<<CSW_DEAGLE); new const zdrowie = 10; new const kondycja = 15; new const inteligencja = 10; new const wytrzymalosc = 5; new ostatnio_prawym[33]; new skoki[33]; new ma_klase[33]; new oneonone[33][31] public plugin_init() { register_plugin(nazwa, "1.0", "amxx.pl"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); register_forward(FM_PlayerPreThink, "fwPrethink_Niewidzialnosc", 1); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenCios"); RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_knife", "fwPrimaryAttack_JedenCios"); RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_knife", "fwSecondaryAttack_JedenCios"); register_forward(FM_CmdStart, "fwCmdStart_MultiJump"); } public cod_class_enabled(id) { if(!(get_user_flags(id) & ADMIN_LEVEL_H)) { client_print(id, print_chat, "[Pro Sniper] Nie masz uprawnien, aby uzywac tej klasy.") return COD_STOP; } ma_klase[id] = true; oneonone[id][CSW_AWP] = 1 return COD_CONTINUE; } public cod_class_disabled(id) { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255); ma_klase[id] = false; oneonone[id][CSW_AWP] = 0 } //Przy kucaniu public fwPrethink_Niewidzialnosc(id) { if(!ma_klase[id]) return; new button = get_user_button(id); if( button & IN_DUCK && get_user_weapon(id) == CSW_KNIFE) { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 50); } else { set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255); } } public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_connected(idattacker)) return HAM_IGNORED; if(!ma_klase[idattacker]) return HAM_IGNORED; if(!(damagebits & (1<<1))) return HAM_IGNORED; new hp_ofiary = get_user_health(this) new bron_atakujacego = get_user_weapon(idattacker) if (oneonone[idattacker][bron_atakujacego] > 0) { if (random_num(1,oneonone[idattacker][bron_atakujacego]) == 1) cod_inflict_damage(idattacker, this, float(hp_ofiary), 0.0, idinflictor, damagebits); } return HAM_IGNORED; } public fwTakeDamage_JedenCios(id, ent, attacker) { if(is_user_alive(attacker) && ma_klase[attacker] && get_user_weapon(attacker) == CSW_KNIFE && ostatnio_prawym[id]) { cs_set_user_armor(id, 0, CS_ARMOR_NONE); SetHamParamFloat(4, float(get_user_health(id) + 1)); return HAM_HANDLED; } return HAM_IGNORED; } public fwPrimaryAttack_JedenCios(ent) { new id = pev(ent, pev_owner); ostatnio_prawym[id] = 1; } public fwSecondaryAttack_JedenCios(ent) { new id = pev(ent, pev_owner); ostatnio_prawym[id] = 0; } public fwCmdStart_MultiJump(id, uc_handle) { if(!is_user_alive(id) || !ma_klase[id]) return FMRES_IGNORED; new flags = pev(id, pev_flags); if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]) { skoki[id]--; new Float:velocity[3]; pev(id, pev_velocity,velocity); velocity[2] = random_float(265.0,285.0); set_pev(id, pev_velocity,velocity); } else if(flags & FL_ONGROUND) skoki[id] = 3; return FMRES_IGNORED; }