Klasa - Zawodowiec
Eustachy8
07.02.2012
Witam!
http://img851.images...8930/infovj.png
Klasa u której wraz z inteligencją, zwiększa się szybkość strzelania
Aktualnie, co 4 punkty int szybkość zwiększa się od 0.01 (standardowa szybkość to 1.00)
aby to zmienić trzeba poprawić tutaj:
i tutaj
a dokładniej liczbę 400 (jak ustawimy 500, będzie co 5 punktów 0.01, a jak 300 to co 3 itd.)
http://img851.images...8930/infovj.png
Klasa u której wraz z inteligencją, zwiększa się szybkość strzelania
Aktualnie, co 4 punkty int szybkość zwiększa się od 0.01 (standardowa szybkość to 1.00)
aby to zmienić trzeba poprawić tutaj:
if (1.0-(cod_get_user_intelligence(id)/400.0) <= 0)
i tutaj
fSpeedMultiplier = 1.0-(cod_get_user_intelligence(id)/400.0);
a dokładniej liczbę 400 (jak ustawimy 500, będzie co 5 punktów 0.01, a jak 300 to co 3 itd.)
Załączone pliki
Intex
08.02.2012
Spoko klasa
Tu macie w perku:
Tu macie w perku:
#include <amxmodx> #include <amxmisc> #include <codmod> #include <engine> #include <hamsandwich> #include <cstrike> #include <fun> #include <fakemeta> #include <fakemeta_util> new const perk_name[] = "Zawodowiec"; new const perk_desc[] = "Strzelasz szybciej z broni. 2 int = 0.01 szybkosci"; new ma_perk[33]; public plugin_init() { register_plugin(perk_name, "1.0", "QTM_Peyote") cod_register_perk(perk_name, perk_desc); register_event("CurWeapon","eventCurWeapon", "b"); } public cod_perk_enabled(id) { ma_perk[id] = true; } public cod_perk_disabled(id) { ma_perk[id] = false; } public eventCurWeapon(id) { if(!ma_perk[id]) return PLUGIN_HANDLED; new iWeapon = get_user_weapon(id); new iEnt; static Float:fSpeedMultiplier; if (1.0-(cod_get_user_intelligence(id)/400.0) <= 0) fSpeedMultiplier = 0.01 else fSpeedMultiplier = 1.0-(cod_get_user_intelligence(id)/400.0); if(iWeapon == CSW_M4A1) { iEnt = fm_find_ent_by_owner(-1, "weapon_m4a1", 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 ); } return PLUGIN_HANDLED; }
fbang
08.02.2012
a gdzie give i take weapon??Spoko klasa
Tu macie w perku:#include <amxmodx> #include <amxmisc> #include <codmod> #include <engine> #include <hamsandwich> #include <cstrike> #include <fun> #include <fakemeta> #include <fakemeta_util> new const perk_name[] = "Zawodowiec"; new const perk_desc[] = "Strzelasz szybciej z broni. 2 int = 0.01 szybkosci"; new ma_perk[33]; public plugin_init() { register_plugin(perk_name, "1.0", "QTM_Peyote") cod_register_perk(perk_name, perk_desc); register_event("CurWeapon","eventCurWeapon", "b"); } public cod_perk_enabled(id) { ma_perk[id] = true; } public cod_perk_disabled(id) { ma_perk[id] = false; } public eventCurWeapon(id) { if(!ma_perk[id]) return PLUGIN_HANDLED; new iWeapon = get_user_weapon(id); new iEnt; static Float:fSpeedMultiplier; if (1.0-(cod_get_user_intelligence(id)/400.0) <= 0) fSpeedMultiplier = 0.01 else fSpeedMultiplier = 1.0-(cod_get_user_intelligence(id)/400.0); if(iWeapon == CSW_M4A1) { iEnt = fm_find_ent_by_owner(-1, "weapon_m4a1", 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 ); } return PLUGIN_HANDLED; }
da sie zrobic, zeby dotyczylo to wszystkich broni?
Eustachy8
08.02.2012
Intex zrobiłeś to źle, dalej co 4 int 0.01 się zmniejsza, i działa tylko do m4, którego perk nie dodaje ;D
a po drugie, jak już przerabiasz moją klasę, to może wpisuj odpowiedniego autora
register_plugin(perk_name, "1.0", "QTM_Peyote")
to perk, ltóry działa w każdej broni:
Użytkownik Eustachy8 edytował ten post 08.02.2012 16:48
a po drugie, jak już przerabiasz moją klasę, to może wpisuj odpowiedniego autora
register_plugin(perk_name, "1.0", "QTM_Peyote")
to perk, ltóry działa w każdej broni:
#include <amxmodx> #include <amxmisc> #include <codmod> #include <engine> #include <hamsandwich> #include <cstrike> #include <fun> #include <fakemeta> #include <fakemeta_util> new const perk_name[] = "Zawodowiec"; new const perk_desc[] = "Strzelasz szybciej z broni. 4 int = 0.01 szybkosci"; new ma_perk[33]; public plugin_init() { register_plugin(perk_name, "1.0", "Eustachy") cod_register_perk(perk_name, perk_desc); register_event("CurWeapon","eventCurWeapon", "b"); } public cod_perk_enabled(id) { ma_perk[id] = true; } public cod_perk_disabled(id) { ma_perk[id] = false; } public eventCurWeapon(id) { if(!ma_perk[id]) return PLUGIN_HANDLED; static Float:fSpeedMultiplier; if (1.0-(cod_get_user_intelligence(id)/400.0) <= 0) fSpeedMultiplier = 0.01 else fSpeedMultiplier = 1.0-(cod_get_user_intelligence(id)/400.0); 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 ); return PLUGIN_HANDLED; }
Użytkownik Eustachy8 edytował ten post 08.02.2012 16:48
fbang
08.02.2012
Intex zrobiłeś to źle, dalej co 4 int 0.01 się zmniejsza, i działa tylko do m4, którego perk nie dodaje ;D
a po drugie, jak już przerabiasz moją klasę, to może wpisuj odpowiedniego autora
register_plugin(perk_name, "1.0", "QTM_Peyote")
to perk, ltóry działa w każdej broni:#include <amxmodx> #include <amxmisc> #include <codmod> #include <engine> #include <hamsandwich> #include <cstrike> #include <fun> #include <fakemeta> #include <fakemeta_util> new const perk_name[] = "Zawodowiec"; new const perk_desc[] = "Strzelasz szybciej z broni. 4 int = 0.01 szybkosci"; new ma_perk[33]; public plugin_init() { register_plugin(perk_name, "1.0", "Eustachy") cod_register_perk(perk_name, perk_desc); register_event("CurWeapon","eventCurWeapon", "b"); } public cod_perk_enabled(id) { ma_perk[id] = true; } public cod_perk_disabled(id) { ma_perk[id] = false; } public eventCurWeapon(id) { if(!ma_perk[id]) return PLUGIN_HANDLED; static Float:fSpeedMultiplier; if (1.0-(cod_get_user_intelligence(id)/400.0) <= 0) fSpeedMultiplier = 0.01 else fSpeedMultiplier = 1.0-(cod_get_user_intelligence(id)/400.0); 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 ); return PLUGIN_HANDLED; }
Welcome to the AMX Mod X 1.8.1-300 Compiler. Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team Error: Undefined symbol "iEnt" on line 42 Warning: Expression has no effect on line 42 Error: Undefined symbol "iEnt" on line 42 Error: Invalid expression, assumed zero on line 42 Error: Too many error messages on one line on line 42 Compilation aborted. 4 Errors. Could not locate output file C:\Users\y\Desktop\Untitled.amx (compile failed).
Eustachy8
08.02.2012
eeee... zapomniałem o tym, ten problem wymaga dłuższego przemyślenia, a aktualnie nie mam czasu. Więc na początek łatwiej by było zrobić perk, który dodaje m4, jak będę miał czas przerobie by działało pod każdą broń
teraz powinno działać
Użytkownik Eustachy8 edytował ten post 08.02.2012 17:39
#include <amxmodx> #include <amxmisc> #include <codmod> #include <engine> #include <hamsandwich> #include <cstrike> #include <fun> #include <fakemeta> #include <fakemeta_util> new const perk_name[] = "Zawodowiec"; new const perk_desc[] = "Strzelasz szybciej z broni. 4 int = 0.01 szybkosci"; new ma_perk[33]; public plugin_init() { register_plugin(perk_name, "1.0", "Eustachy") cod_register_perk(perk_name, perk_desc); register_event("CurWeapon","eventCurWeapon", "b"); } public cod_perk_enabled(id) { ma_perk[id] = true; cod_give_weapon(id, CSW_M4A1); } public cod_perk_disabled(id) { ma_perk[id] = false; cod_take_weapon(id, CSW_M4A1); } public eventCurWeapon(id) { if(!ma_perk[id]) return PLUGIN_HANDLED; new iWeapon = get_user_weapon(id); new iEnt; static Float:fSpeedMultiplier; if (1.0-(cod_get_user_intelligence(id)/400.0) <= 0) fSpeedMultiplier = 0.01 else fSpeedMultiplier = 1.0-(cod_get_user_intelligence(id)/400.0); if(iWeapon == CSW_M4A1) { iEnt = fm_find_ent_by_owner(-1, "weapon_m4a1", 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 ); } return PLUGIN_HANDLED; }
teraz powinno działać
Użytkownik Eustachy8 edytował ten post 08.02.2012 17:39
robaloss
08.02.2012
bo zabiciu crash serwa sorry ale w logach nic tylko w konsoli to
pojawia sie to tylko wtedy gdy ktos zabije gracza z ta klasa
Uploading dump (in-process) [proxy'] /tmp/dumps/crash_20111124172504_1.dmp success = no error: Failed to open/read local data from file/application Segmentation fault.
pojawia sie to tylko wtedy gdy ktos zabije gracza z ta klasa
Eustachy8
08.02.2012
nie mam pojęcia, u mnie na serwerze klasa hulała 2 miesiące i ani razu takie coś nie wyskoczyło
Eustachy8
08.02.2012
1.8.2 albo i 1.8.3 nawet
nie jestem do końca pewny, bo nie ja stawiałem serwer
nie jestem do końca pewny, bo nie ja stawiałem serwer
Wetris
29.10.2013
Niestety ,jeżeli zagramy tą klasą jedną rundę i zmienimy klasę na inną to na tej nowej też mamy szybkie strzelanie może ktoś potrafi to naprawić ? Klasa jest Zaje..... ,ale buguje.