Problem z klasą CoD
Eustachy8
22.12.2011
Witam!
Postanowiłem stworzyć klasę, jest to moja pierwsza, więc pewnie nie wygląda to za ciekawie. Wracając do tematu, nie przechodzi mi kompilacji
wychodzą 2 błędy
prosiłbym również o poprawienie innych (jeżeli występują) błędów.
Edit: zmniejszenie grawitacji dodałem poprzez generatora klas.
Użytkownik Eustachy8 edytował ten post 22.12.2011 13:01
Postanowiłem stworzyć klasę, jest to moja pierwsza, więc pewnie nie wygląda to za ciekawie. Wracając do tematu, nie przechodzi mi kompilacji

Welcome to the AMX Mod X 1.8.1-300 Compiler. Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team codclass_elitarnyzolnierz.sma(35) : warning 217: loose indentation codclass_elitarnyzolnierz.sma(37) : error 035: argument type mismatch (argument 2) 1 Error. Could not locate output file codclass_elitarnyzolnierz.amxx (compile failed).
prosiłbym również o poprawienie innych (jeżeli występują) błędów.
Edit: zmniejszenie grawitacji dodałem poprzez generatora klas.
Załączone pliki
Użytkownik Eustachy8 edytował ten post 22.12.2011 13:01
Nenczoks
22.12.2011
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <hamsandwich>
#include <cstrike>
new const nazwa[] = "Elitarny zolnierz";
new const opis[] = "Ma 2 MP5 i Elita oraz zmniejszoną grawitację.";
new const bronie = (1<<CSW_ELITE);
new const zdrowie = 30;
new const kondycja = 30;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new bool: ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
RegisterHam(Ham_Spawn, "player", "fwSpawn_Grawitacja", 1);
}
public cod_class_enabled(id)
{
if (ma_klase[id] && is_user_alive(id) && is_user_connected(id)){
entity_set_float(id, EV_FL_gravity, 600.0/800.0);
cod_give_weapon(id, CSW_MP5NAVY);
cs_set_user_bpammo(id,CSW_MP5NAVY , 240);
cs_set_weapon_ammo(CSW_MP5NAVY, 60);
ma_klase[id] = true;
}
}
public cod_class_disabled(id)
{
entity_set_float(id, EV_FL_gravity, 1.0);
cod_take_weapon( id, CSW_MP5NAVY );
ma_klase[id] = false;
}
public fwSpawn_Grawitacja(id)
{
if(ma_klase[id]) entity_set_float(id, EV_FL_gravity, 600.0/800.0);
}
A tak nie może być?
Użytkownik Nenczoks edytował ten post 22.12.2011 13:17
Eustachy8
22.12.2011
nie dodaje broni (mp5) i nie zmniejsza grawitacji
Użytkownik Eustachy8 edytował ten post 22.12.2011 13:28

Użytkownik Eustachy8 edytował ten post 22.12.2011 13:28
Eustachy8
22.12.2011
tak, jak już się naprawi te błędy, planuję również dodać zmianę modelu na podwójną mp5. Ale to później.
Nenczoks
22.12.2011
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <hamsandwich>
#include <cstrike>
#include <fun>
new const nazwa[] = "Elitarny zolnierz";
new const opis[] = "Ma 2 MP5 oraz zmniejszoną grawitację.";
new const bronie = (1<<CSW_MP5NAVY);
new const zdrowie = 30;
new const kondycja = 30;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new bool: ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
}
public cod_class_enabled(id)
{
set_user_gravity(id, x.x) // wstaw tutaj wartosc, np. 0.5
cs_set_user_bpammo(id,CSW_MP5NAVY , 240);
cs_set_weapon_ammo(CSW_MP5NAVY, 60);
ma_klase[id] = true;
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
set_user_gravity(id, 1.0)
}
???
Eustachy8
22.12.2011
a więc tak, dodaje fajnie mp5, ale dalej ma standardową ilość amunicji
(słyszałem właśnie, że nie powinno jej się dodawać tam w stałych bo nie będzie banglać z ammo coś, dlatego w mojej pierwszej próbie dodawałem ją w enable). Zależy mi by się zwiększyła ponieważ chce później ten nowy model wgrac, gdzie są 2 mp5.
a btw, ile mam ustawić gravitacje? aby z 800 zrobić 600? bo dałem 600.0 i była fest za duża ;D
Użytkownik Eustachy8 edytował ten post 22.12.2011 17:12

a btw, ile mam ustawić gravitacje? aby z 800 zrobić 600? bo dałem 600.0 i była fest za duża ;D
Użytkownik Eustachy8 edytował ten post 22.12.2011 17:12
Nenczoks
22.12.2011
Nie ustawia się tak wartości "600.0". Nastomiast 1.0 to 800, 0.5 - 400, 0.25 - 200... Więc 600 to będzie 0.75 w "x.x".
A z tym drugim dam edit potem.
Użytkownik Nenczoks edytował ten post 22.12.2011 17:23
A z tym drugim dam edit potem.
Użytkownik Nenczoks edytował ten post 22.12.2011 17:23
Eustachy8
22.12.2011
pobawiłem się z kolegą i już prawie gotowe. Chodzi o to, że zrobił się bezlik
non stop ustawia 60 naboi w magazynku, bo cur_weapon jest tez czytane (chyba, tak się domyślam) po strzale każdym. Ma ktoś pomysł jak to naprawić?

#include <amxmodx> #include <amxmisc> #include <codmod> #include <engine> #include <hamsandwich> #include <cstrike> #include <fun> #include <fakemeta> new const nazwa[] = "Elitarny zolnierz"; new const opis[] = "Ma 2 MP5 i Elite oraz zmniejszoną grawitację."; new const bronie = (1<<CSW_MP5NAVY | 1<<CSW_ELITE); new const zdrowie = 30; new const kondycja = 30; new const inteligencja = 0; new const wytrzymalosc = 0; new bool: ma_klase[33]; public plugin_init() { register_plugin(nazwa, "1.0", "QTM_Peyote"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); RegisterHam(Ham_Spawn, "player", "Spawn", 1); register_event("CurWeapon", "CurWeapon", "be", "1=1") } public cod_class_enabled(id) { ma_klase[id] = true; set_user_gravity(id, 0.75) } public cod_class_disabled(id) { ma_klase[id] = false; set_user_gravity(id, 1.0) } public Spawn(id) { if(ma_klase[id] && is_user_alive(id)) { new weapon_id = find_ent_by_owner(-1, "weapon_mp5navy", id); //szuka id bytu broni ak47 u gracza o id == id if(weapon_id) //jeżeli znaleziono broń - byt ma inną wartość niż 0 { cs_set_weapon_ammo(weapon_id, 60); //ustaw broni 50 ammo cs_set_user_bpammo(id, CSW_MP5NAVY, 200) } } } public plugin_precache() { precache_model("models/v_smg_mp5navy2.mdl"); //powyżej zmieniasz ścieżki do nowych modeli } public CurWeapon(id) { new weapon = read_data(2); if(ma_klase[id]) //tutaj wstawiamy ma_klase lub ma_perk { if(weapon == CSW_MP5NAVY) //tutaj ustawiamy broń, jakiej model będziemy zmieniać { set_pev(id, pev_viewmodel2, "models/v_smg_mp5navy2.mdl") //tu dajemy ścieżkę do nowego modeli v_ } } new weapon_id = find_ent_by_owner(-1, "weapon_mp5navy", id) //szuka id bytu broni ak47 u gracza o id == id if(weapon_id) //jeżeli znaleziono broń - byt ma inną wartość niż 0 { cs_set_weapon_ammo(weapon_id, 60) //ustaw broni 50 ammo cs_set_user_bpammo(id, CSW_MP5NAVY, 200) } }
Nenczoks
22.12.2011
Po strzela każdym występuje 60 naboi? Hm, postaram się coś w z tym zrobić, dam tutaj edita, jeżeli nikt nie napisze.
Eustachy8
24.12.2011
doszły kolejne poprawki i teraz klasa crashuje serwer
a najlepsze jest to, że nie wywala żadnych errorów ;<
raz wywaliło errora, oto on:
Użytkownik Eustachy8 edytował ten post 24.12.2011 21:12

#include <amxmodx> #include <amxmisc> #include <codmod> #include <engine> #include <hamsandwich> #include <cstrike> #include <fun> #include <fakemeta> new const nazwa[] = "Elitarny zolnierz"; new const opis[] = "Ma 2 UZI i Elite oraz zmniejszoną grawitację."; new const bronie = (1<<CSW_MP5NAVY | 1<<CSW_ELITE); new const zdrowie = 30; new const kondycja = 30; new const inteligencja = 0; new const wytrzymalosc = 0; new bool: ma_klase[33]; public plugin_init() { register_plugin(nazwa, "1.0", "QTM_Peyote"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); RegisterHam(Ham_Spawn, "player", "Spawn", 1); register_event("CurWeapon", "CurWeapon", "be", "1=1") } public cod_class_enabled(id) { ma_klase[id] = true; set_user_gravity(id, 0.75) } public cod_class_disabled(id) { ma_klase[id] = false; set_user_gravity(id, 1.0) } public Spawn(id) { if(ma_klase[id] && is_user_alive(id)) { new weapon_id = find_ent_by_owner(-1, "weapon_mp5navy", id); //szuka id bytu broni ak47 u gracza o id == id if(weapon_id) //jeżeli znaleziono broń - byt ma inną wartość niż 0 { cs_set_weapon_ammo(weapon_id, 60); //ustaw broni 50 ammo cs_set_user_bpammo(id, CSW_MP5NAVY, 200) } } } public plugin_precache() { precache_model("models/models/v_mp5dual.mdl"); //powyżej zmieniasz ścieżki do nowych modeli } public CurWeapon(id) { new weapon = read_data(2); if(ma_klase[id]) //tutaj wstawiamy ma_klase lub ma_perk { if(weapon == CSW_MP5NAVY) //tutaj ustawiamy broń, jakiej model będziemy zmieniać { set_pev(id, pev_viewmodel2, "models/v_mp5dual.mdl") //tu dajemy ścieżkę do nowego modeli v_ } } new weapon_id = find_ent_by_owner(-1, "weapon_mp5navy", id) //szuka id bytu broni ak47 u gracza o id == id if(weapon_id) //jeżeli znaleziono broń - byt ma inną wartość niż 0 { cs_set_weapon_ammo(weapon_id, 60) //ustaw broni 60 ammo cs_set_user_bpammo(id, CSW_MP5NAVY, 200) } }
raz wywaliło errora, oto on:
L 12/22/2011 - 17:05:55: Start of error session. L 12/22/2011 - 17:05:55: Info (map "de_kabul") (file "addons/amxmodx/logs/error_20111222.log") L 12/22/2011 - 17:05:55: [CSTRIKE] Non-player entity 19 out of range L 12/22/2011 - 17:05:55: [AMXX] Run time error 10 (plugin "codclass_elitarnyzolnierz.amxx") (native "cs_set_weapon_ammo") - debug not enabled! L 12/22/2011 - 17:05:55: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/22/2011 - 17:06:03: [CSTRIKE] Non-player entity 19 out of range L 12/22/2011 - 17:06:03: [AMXX] Run time error 10 (plugin "codclass_elitarnyzolnierz.amxx") (native "cs_set_weapon_ammo") - debug not enabled! L 12/22/2011 - 17:06:03: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/22/2011 - 17:32:36: Start of error session. L 12/22/2011 - 17:32:36: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20111222.log") L 12/22/2011 - 17:32:36: [CSTRIKE] Non-player entity 19 out of range L 12/22/2011 - 17:32:37: [AMXX] Run time error 10 (plugin "codclass_elitarnyzolnierz.amxx") (native "cs_set_weapon_ammo") - debug not enabled! L 12/22/2011 - 17:32:37: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/22/2011 - 17:47:09: Start of error session. L 12/22/2011 - 17:47:09: Info (map "de_dust") (file "addons/amxmodx/logs/error_20111222.log") L 12/22/2011 - 17:47:09: [CSTRIKE] Non-player entity 19 out of range L 12/22/2011 - 17:47:09: [AMXX] Run time error 10 (plugin "codclass_elitarnyzolnierz.amxx") (native "cs_set_weapon_ammo") - debug not enabled! L 12/22/2011 - 17:47:09: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/22/2011 - 17:47:12: [CSTRIKE] Non-player entity 19 out of range L 12/22/2011 - 17:47:12: [AMXX] Run time error 10 (plugin "codclass_elitarnyzolnierz.amxx") (native "cs_set_weapon_ammo") - debug not enabled! L 12/22/2011 - 17:47:12: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/22/2011 - 17:51:08: Start of error session. L 12/22/2011 - 17:51:08: Info (map "de_dust") (file "addons/amxmodx/logs/error_20111222.log") L 12/22/2011 - 17:51:08: [CSTRIKE] Non-player entity 19 out of range L 12/22/2011 - 17:51:08: [AMXX] Run time error 10 (plugin "codclass_elitarnyzolnierz.amxx") (native "cs_set_weapon_ammo") - debug not enabled! L 12/22/2011 - 17:51:08: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/22/2011 - 17:53:20: [CSTRIKE] Non-player entity 19 out of range L 12/22/2011 - 17:53:20: [AMXX] Run time error 10 (plugin "codclass_elitarnyzolnierz.amxx") (native "cs_set_weapon_ammo") - debug not enabled! L 12/22/2011 - 17:53:20: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/22/2011 - 17:55:07: [CSTRIKE] Non-player entity 19 out of range L 12/22/2011 - 17:55:07: [AMXX] Run time error 10 (plugin "codclass_elitarnyzolnierz.amxx") (native "cs_set_weapon_ammo") - debug not enabled! L 12/22/2011 - 17:55:07: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/22/2011 - 18:08:27: [CSTRIKE] Non-player entity 19 out of range L 12/22/2011 - 18:08:27: [AMXX] Run time error 10 (plugin "codclass_elitarnyzolnierz.amxx") (native "cs_set_weapon_ammo") - debug not enabled! L 12/22/2011 - 18:08:27: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/22/2011 - 18:11:03: Start of error session. L 12/22/2011 - 18:11:03: Info (map "de_aztec") (file "addons/amxmodx/logs/error_20111222.log") L 12/22/2011 - 18:11:03: [CSTRIKE] Non-player entity 19 out of range L 12/22/2011 - 18:11:03: [AMXX] Run time error 10 (plugin "codclass_elitarnyzolnierz.amxx") (native "cs_set_weapon_ammo") - debug not enabled! L 12/22/2011 - 18:11:03: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/22/2011 - 18:12:37: [CSTRIKE] Non-player entity 19 out of range L 12/22/2011 - 18:12:37: [AMXX] Run time error 10 (plugin "codclass_elitarnyzolnierz.amxx") (native "cs_set_weapon_ammo") - debug not enabled! L 12/22/2011 - 18:12:37: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes). L 12/22/2011 - 18:31:02: [CSTRIKE] Non-player entity 19 out of range L 12/22/2011 - 18:31:02: [AMXX] Run time error 10 (plugin "codclass_elitarnyzolnierz.amxx") (native "cs_set_weapon_ammo") - debug not enabled! L 12/22/2011 - 18:31:02: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
Użytkownik Eustachy8 edytował ten post 24.12.2011 21:12
d0naciak
24.12.2011
do cod_class_enabled dodaj
i z publica CurWeapon(id) usuń
Spawn(id)
i z publica CurWeapon(id) usuń
new weapon_id = find_ent_by_owner(-1, "weapon_mp5navy", id) //szuka id bytu broni ak47 u gracza o id == id
if(weapon_id) //jeżeli znaleziono broń - byt ma inną wartość niż 0
{
cs_set_weapon_ammo(weapon_id, 60) //ustaw broni 60 ammo
cs_set_user_bpammo(id, CSW_MP5NAVY, 200)
}
Eustachy8
24.12.2011
po spawnie jest fajnie ale po zmianie broni albo przeładowaniu ma tylko 30 w magazynku ;<
a crashowało, bo przez przypadek dałem złą ścieżkę do ściągnięcia modelu.
edit: Nie działa również w pierwszej rundzie ;<
Użytkownik Eustachy8 edytował ten post 25.12.2011 12:12
a crashowało, bo przez przypadek dałem złą ścieżkę do ściągnięcia modelu.
edit: Nie działa również w pierwszej rundzie ;<
Użytkownik Eustachy8 edytował ten post 25.12.2011 12:12
radim
25.12.2011
#include <amxmodx> #include <amxmisc> #include <codmod> #include <engine> #include <hamsandwich> #include <cstrike> #include <fakemeta_util> new const nazwa[] = "Elitarny zolnierz"; new const opis[] = "Ma MP5 (wiecej ammo) i Elita oraz zmniejszoną grawitację."; new const bronie = 1<<CSW_ELITE | 1<<CSW_MP5NAVY; new const zdrowie = 30; new const kondycja = 30; new const inteligencja = 0; new const wytrzymalosc = 0; new bool: ma_klase[33]; public plugin_init() { register_plugin(nazwa, "1.0", "amxx.pl"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); RegisterHam(Ham_Spawn, "player", "fwSpawn", 1); register_event("ResetHUD", "ResetHUD", "abe"); register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0") } public cod_class_enabled(id) { entity_set_float(id, EV_FL_gravity, 600.0/800.0); ma_klase[id] = true; } public cod_class_disabled(id) { entity_set_float(id, EV_FL_gravity, 800.0/800.0); ma_klase[id] = false; } public fwSpawn(id) { if(!is_user_connected(id)) return; if(!ma_klase[id]) return; cs_set_user_bpammo(id, CSW_MP5NAVY, 240); entity_set_float(id, EV_FL_gravity, 600.0/800.0); } public ResetHUD(id) set_task(0.1, "ResetHUDx", id); public ResetHUDx(id) { if(!is_user_connected(id)) return; if(!ma_klase[id]) return; cs_set_weapon_ammo(CSW_MP5NAVY, 60) //ustaw broni 60 ammo }
Eustachy8
25.12.2011
niestety, w pierwszej rundzie jest standard (30 - 120) w kolejnych jest 30 - 240 (nie działa 60 w magazynku).
I jeszcze usunąłeś zamienianie modelu.
Ma wizja to 2 mp5 (dlatego 60 w magazynku, później jeszcze zwiększę szybkość strzelania) i grawitacja.
to w sumie była by już finalna wersja, trzeba tylko by po każdym przeładowaniu miał 60 naboi.... pomógłby ktoś ;D
Użytkownik Eustachy8 edytował ten post 27.12.2011 11:32
I jeszcze usunąłeś zamienianie modelu.
Ma wizja to 2 mp5 (dlatego 60 w magazynku, później jeszcze zwiększę szybkość strzelania) i grawitacja.
to w sumie była by już finalna wersja, trzeba tylko by po każdym przeładowaniu miał 60 naboi.... pomógłby ktoś ;D
#include <amxmodx> #include <amxmisc> #include <codmod> #include <engine> #include <hamsandwich> #include <cstrike> #include <fun> #include <fakemeta> #include <fakemeta_util> new const nazwa[] = "Elitarny zolnierz"; new const opis[] = "Ma dwie MP5 i Elite oraz zmniejszoną grawitację."; new const bronie = (1<<CSW_MP5NAVY | 1<<CSW_ELITE); new const zdrowie = 30; new const kondycja = 30; new const inteligencja = 0; new const wytrzymalosc = 0; new bool: ma_klase[33]; public plugin_init() { register_plugin(nazwa, "1.0", "QTM_Peyote"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); RegisterHam(Ham_Spawn, "player", "Spawn", 1); register_event("CurWeapon", "CurWeapon", "be", "1=1") } public cod_class_enabled(id) { ma_klase[id] = true; } public cod_class_disabled(id) { ma_klase[id] = false; } public Spawn(id) { if(ma_klase[id] && is_user_alive(id)) { new weapon_id = find_ent_by_owner(-1, "weapon_mp5navy", id); //szuka id bytu broni ak47 u gracza o id == id if(weapon_id) //jeżeli znaleziono broń - byt ma inną wartość niż 0 { cs_set_weapon_ammo(weapon_id, 60); //ustaw broni 50 ammo cs_set_user_bpammo(id, CSW_MP5NAVY, 200) } set_user_gravity(id, 0.75) } } public plugin_precache() { precache_model("models/v_mp5dual.mdl"); //powyżej zmieniasz ścieżki do nowych modeli } public CurWeapon(id) { new weapon = read_data(2); if(ma_klase[id]) //tutaj wstawiamy ma_klase lub ma_perk { if(weapon == CSW_MP5NAVY) //tutaj ustawiamy broń, jakiej model będziemy zmieniać { set_pev(id, pev_viewmodel2, "models/v_mp5dual.mdl") //tu dajemy ścieżkę do nowego modeli v_ } } new iWeapon = read_data(2); new iEnt; static Float:fSpeedMultiplier = 0.7; if(iWeapon == CSW_MP5NAVY) { iEnt = fm_find_ent_by_owner(-1, "weapon_mp5navy", id) set_pdata_float( iEnt, 46, ( get_pdata_float(iEnt, 46, 4) * fSpeedMultiplier), 4 ); set_pdata_float( iEnt, 47, ( get_pdata_float(iEnt, 47, 4) * fSpeedMultiplier), 4 ); } }
Użytkownik Eustachy8 edytował ten post 27.12.2011 11:32
Ojciec Dyrektor
29.12.2011
Automatyczna wiadomość
Ten temat został przeniesiony z forum:
AMX Mod X → Problemy z pluginami
do
Mody → Call of Duty Mod → Problemy
Eustachy8
29.12.2011
#include <amxmodx> #include <amxmisc> #include <codmod> #include <engine> #include <hamsandwich> #include <cstrike> #include <fun> #include <fakemeta> #include <fakemeta_util> new const nazwa[] = "Elitarny zolnierz"; new const opis[] = "Ma dwie MP5 i Elite oraz zmniejszoną grawitację."; new const bronie = (1<<CSW_MP5NAVY | 1<<CSW_ELITE); new const zdrowie = 30; new const kondycja = 30; new const inteligencja = 0; new const wytrzymalosc = 0; new bool: ma_klase[33]; static Float:Last[33]; new const max_clip[31] = { -1, 13, -1, 10, 1, 7, 1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 }; public plugin_init() { register_plugin(nazwa, "1.0", "QTM_Peyote"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); RegisterHam(Ham_Spawn, "player", "Spawn", 1); register_forward(FM_CmdStart, "CmdStart"); register_event("CurWeapon", "CurWeapon", "be", "1=1") } public cod_class_enabled(id) { ma_klase[id] = true; } public cod_class_disabled(id) { ma_klase[id] = false; } public Spawn(id) { if(ma_klase[id] && is_user_alive(id)) { new weapon_id = find_ent_by_owner(-1, "weapon_mp5navy", id); //szuka id bytu broni ak47 u gracza o id == id if(weapon_id) //jeżeli znaleziono broń - byt ma inną wartość niż 0 { cs_set_weapon_ammo(weapon_id, 60); //ustaw broni 50 ammo cs_set_user_bpammo(id, CSW_MP5NAVY, 200) } set_user_gravity(id, 0.75) } } public plugin_precache() { precache_model("models/v_mp5dual.mdl"); //powyżej zmieniasz ścieżki do nowych modeli } public CurWeapon(id) { new weapon = read_data(2); if(ma_klase[id]) //tutaj wstawiamy ma_klase lub ma_perk { if(weapon == CSW_MP5NAVY) //tutaj ustawiamy broń, jakiej model będziemy zmieniać { set_pev(id, pev_viewmodel2, "models/v_mp5dual.mdl") //tu dajemy ścieżkę do nowego modeli v_ } } new iWeapon = read_data(2); new iEnt; static Float:fSpeedMultiplier = 0.7; if(iWeapon == CSW_MP5NAVY) { iEnt = fm_find_ent_by_owner(-1, "weapon_mp5navy", id) set_pdata_float( iEnt, 46, ( get_pdata_float(iEnt, 46, 4) * fSpeedMultiplier), 4 ); set_pdata_float( iEnt, 47, ( get_pdata_float(iEnt, 47, 4) * fSpeedMultiplier), 4 ); } } public CmdStart(id, uc_handle) { if(!is_user_alive(id) || !ma_klase[id]) return FMRES_IGNORED; new buttons = get_uc(uc_handle, UC_Buttons); new oldbuttons = pev(id, pev_oldbuttons); new clip, ammo, weapon = get_user_weapon(id, clip, ammo); if(max_clip[weapon] == -1 || !ammo) return FMRES_IGNORED; if((buttons & IN_RELOAD && !(oldbuttons & IN_RELOAD) && !(buttons & IN_ATTACK)) || !clip) { new Float:Now = get_gametime(); if((Now - Float:Last[id]) >= 2.8) { cs_set_user_bpammo(id, weapon, ammo-(max_clip[weapon]-clip)); new new_ammo = ((max_clip[weapon]+30) > ammo)? clip+ammo: (max_clip[weapon]+30) set_user_clip(id, new_ammo); Last[id] = Now; } } return FMRES_IGNORED; } stock set_user_clip(id, ammo) { new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _); get_weaponname(weapon, weaponname, 31); while ((weaponid = engfunc(EngFunc_FindEntityByString, weaponid, "classname", weaponname)) != 0) if (pev(weaponid, pev_owner) == id) { set_pdata_int(weaponid, 51, ammo, 4); return weaponid; } return 0; }
tu wersja praawie działająca, dodałem zwinne palce które daja 60 ammo, próbowałem także dodać opóźnienie, ale nie do końca działa

d0naciak
29.12.2011
ten kod od radima zamien ResetHUDx(id) na
public ResetHUDx(id)
{
new ent_broni = find_ent_by_owner(-1, "weapon_mp5navy", id)
if(!is_user_connected(id)) return;
if(!ma_klase[id]) return;
cs_set_weapon_ammo(ent_broni, 60) //ustaw broni 60 ammo
}
Eustachy8
29.12.2011
niestety, na począku ma 60-240
ale później dodaje tylko 30
jak przeładujemy gdy mamy >30 naboi to przeładuje do 30, a resztę wrzuci do plecaka
Użytkownik Eustachy8 edytował ten post 29.12.2011 21:01
ale później dodaje tylko 30
jak przeładujemy gdy mamy >30 naboi to przeładuje do 30, a resztę wrzuci do plecaka

Użytkownik Eustachy8 edytował ten post 29.12.2011 21:01