Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Crash oraz dziwne zachowanie serwera przez jeden pluginbiohazard,crash,segmentation fault


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 rzeznik9871

    Wszechwidzący

  • Użytkownik

Reputacja: 80
Zaawansowany

  • Postów:260
Offline

Napisano 08.04.2017 18:43

A więc napisałem sobie plugin do mojego biohazardu jest to item ktory zwieksza amunicje w broniach o 50% na localu wszystko pieknie dziala jak nalezy wrzucam uradowany na serwer wybieram bron z menu jeb serwer pada wchodze ponownie robie to samo serwer znow pada w konsoli "segmentation fault" dodatkowo dzieja sie inne dziwne rzeczy tzn. brak wiadomosci o zmienie z bursta na pol automatyczny w glocku i brak mozliwosci przeladowania broni po nacisnieciu "r" jak i wystrzeleniu wszystkich pociskow uzywam Ham_Weapon_Reload ale nie zwracam w nim ani HAM_SUPERCEDE ani HAM_OVERRIDE jedynie co to HAM_IGNORED po wylaczeniu pluginu serwer chodzi normalnie bez zajakniecia. na serwerze amxx 1.8.2 na localu 1.8.1.3

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <biohazard>
#include <cstrike>

new ma_item[33],OldWeapon[33],bool:IsInReload[33],max_players

new weapon_clip[]={0,13,0,10,0,7,0,30,30,0,30,20,25,30,35,25,12,20,10,30,100,8,30,30,20,0,7,30,30,0,50}
new weapon_name[][]={"none","weapon_p228","weapon_shield","weapon_scout",
"weapon_hegrenade","weapon_xm1014","weapon_c4","weapon_mac10","weapon_aug",
"weapon_smokegrenade","weapon_elite","weapon_fiveseven","weapon_ump45",
"weapon_sg550","weapon_galil","weapon_famas","weapon_usp","weapon_glock18",
"weapon_awp","weapon_mp5navy","weapon_m249","weapon_m3","weapon_m4a1",
"weapon_tmp","weapon_g3sg1","weapon_flashbang","weapon_deagle","weapon_sg552",
"weapon_ak47","weapon_knife","weapon_p90"}

public plugin_init() {
	register_plugin("powiekszone magazynki", "1.0", "fresh")
	
	register_item("Powiekszone Magazynki",16000,0,1)
	
	for(new i=1;i<=30;i++)
		RegisterHam(Ham_Weapon_Reload,weapon_name[i],"fwd_StartReloading")
	
	register_message(get_user_msgid("CurWeapon"),"Message_CurWeapon")
	register_event("HLTV", "Event_HLTV", "a", "1=0", "2=0");
	
	max_players = get_maxplayers()
}
public client_connect(id)
	ma_item[id] = false
public biohazard_item_buy(id)
	ma_item[id] = true
	
public fwd_StartReloading(ent)
{
	if(!pev_valid(ent))
		return HAM_IGNORED
		
	static id,clip,ammo,weapon
	id=pev(ent,pev_owner)
	
	if(!is_user_alive(id))
		return HAM_IGNORED;
		
	weapon=get_user_weapon(id,clip,ammo)
	
	if(clip==weapon_clip[weapon] || weapon == CSW_M3 || weapon == CSW_XM1014 || !ma_item[id])
		return HAM_IGNORED;
	
	IsInReload[id]=true
	return HAM_IGNORED
}	
public Message_CurWeapon(msgId, msgDest, id)
{
	if(!get_msg_arg_int(1) || !is_user_alive(id))
		return ;
		
	static weapon,ammo
	weapon = get_msg_arg_int(2)
	ammo = get_msg_arg_int(3)
	
	if(weapon==OldWeapon[id] && IsInReload[id] && ma_item[id])
	{
		static ent,name[32]
		get_weaponname(weapon,name,31)
		if((ent = fm_find_ent_by_owner(-1,name,id,0)))
		{
			cs_set_weapon_ammo(ent,ammo+ammo/2)
			set_msg_arg_int(3,get_msg_argtype(3),ammo+ammo/2)
		}
	}
	
	IsInReload[id] = false
	OldWeapon[id] = weapon
}
public Event_HLTV()
{
	for(new i = 1; i <= max_players ; i++)
		ma_item[i] = false
}
stock fm_find_ent_by_owner(index, const classname[], owner, jghgtype = 0) {
	new strtype[11] = "classname", ent = index;
	switch (jghgtype) {
		case 1: strtype = "target";
		case 2: strtype = "targetname";
	}

	while ((ent = engfunc(EngFunc_FindEntityByString, ent, strtype, classname)) && pev(ent, pev_owner) != owner) {}

	return ent;
}

  • +
  • -
  • 0

Cześć





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych