←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Dual MP5 - crashe

Zablokowany

  • +
  • -
A może sma? - zdjęcie A może sma? 13.07.2011

Siemanko :D
Mam taki plugin:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <codmod>
#include <engine>
#include <cstrike>
//#include <hamsandwich>

#define PLUGIN "Perk DualMP5"
#define VERSION "1.0"
#define AUTHOR "kisiel96"

new const perk_name[] = "Dual MP5";
new const perk_desc[] = "Dostajesz drugie MP5, twoje obrazenia sa dwukrotnie zwiekszone";

new bool:ma_perk[33]

public plugin_init()
{
register_plugin(perk_name, "1.0", "kisiel96");

cod_register_perk(perk_name, perk_desc);

register_event("CurWeapon", "CurWeapon", "be", "1=1")

//RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}

public cod_perk_enabled(id)
{
cod_give_weapon(id, CSW_MP5NAVY);
ma_perk[id]=true

cs_set_user_bpammo(id, CSW_MP5NAVY, 240)
}
public cod_perk_disabled(id)
{

cod_take_weapon(id, CSW_MP5NAVY);
ma_perk[id]=false

cs_set_user_bpammo(id, CSW_MP5NAVY, 120)
}


public plugin_precache()
{
precache_model("models/QTM_CodMod/v_dualmp5.mdl");
}

public CurWeapon(id)
{
new weapon = read_data(2);

if(ma_perk[id])
{
if(weapon == CSW_MP5NAVY)
{
entity_set_string(id, EV_SZ_viewmodel, "models/dziadowo.eu/v_dualmp5.mdl")
}
}
}

/*public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_perk[idattacker])
return HAM_IGNORED;

if(ma_perk[idattacker] && get_user_weapon(idattacker) == CSW_MP5NAVY)
cod_inflict_damage(idattacker, this, damage, 0.0, idinflictor, damagebits);

return HAM_IGNORED;
}*/


I najśmieszniejsze jest to że 0 errorów :D Po prostu jak dostane perk, wybiore MP5 serwer pada :D Dlaczego? (komentarze w *.sma są dlatego, że wcześniej perk oparłem na zwiększeniu 2x obrażeń i podmianie modelu, jednak po przez moduł cstrike ( Dokumentacja AMXX.pl: Cstrike >> cstrike > cs_set_weapon_ammo i Dokumentacja AMXX.pl: Cstrike >> cstrike > cs_set_user_bpammo ) chciałem osiągnąć by rozmiar magazynku zwiększyć do 60, a plecak do 240 naboi...
Użytkownik kisiel96 edytował ten post 13.07.2011 23:22
Odpowiedz

  • +
  • -
Goliath - zdjęcie Goliath 14.07.2011

precache_model("models/QTM_CodMod/v_dualmp5.mdl");
entity_set_string(id, EV_SZ_viewmodel, "models/dziadowo.eu/v_dualmp5.mdl")
Chyba ścieżki ci się pomyliły ;)
Odpowiedz

  • +
  • -
A może sma? - zdjęcie A może sma? 14.07.2011

Ehhh... Faktycznie :P Zapomniałem zmienić w jednym miejscu :P
Edit:
Yyy...
Bo taki problem teraz mam:

Jeżeli sma wygląda tak: Załączony plik  codperk_dualmp5.sma   1,79 KB   34 Ilość pobrań
To gdzie mam wpisać:

cs_set_user_bpammo(id, CSW_MP5NAVY, 240)
new weapon_id = find_ent_by_owner(-1, "weapon_mp5navy", id)
if(weapon_id)
{
cs_set_weapon_ammo(weapon_id, 60)
}

Próbowałem to dać do plugin enabled, działało... Ale... Tylko przy dostaniu itemu zwiększało naboje do 60 w magazynku, po przeładowaniu było już tylko 30 oraz w plecaku 240 tylko przy dostaniu ustawiało.
Próbowałem do CurWeapon - efekt: nieskończoność ammo :P (tzn. naboje non stop ustawione na 59 i plecak na 254 (po 1. strzale))
Próbowałem też dać warunki do CurWeapon:
if(cs_get_user_bpammo(id, CSW_MP5NAVY) == 120)
cs_set_user_bpammo(id, CSW_MP5NAVY, 240)

oraz

new weapon_id = find_ent_by_owner(-1, "weapon_mp5navy", id)
if(weapon_id)
{
if(cs_get_weapon_ammo(weapon_id) == 30)
cs_set_weapon_ammo(weapon_id, 60)
}

Efekt: CurWeapon w ogóle nie działał (nawet modelu nie podmieniał)
Próbowałem też utworzyć event wykrywający nową rundę, a w cod enabled dać przejście do tej funkcji, by przy dostaniu również wywołać tą funkcje - nie wykrywało nowej rundy...
Spróbowałem eventu początek rundy - efekt był taki sam... (Kod brałem stąd: Eventy - AMXX.pl: Support AMX Mod X )
Użytkownik kisiel96 edytował ten post 14.07.2011 12:41
Odpowiedz
Zablokowany