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

Wywala błąd Surf XP Mod


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

#1 zedNPolska

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Lokalizacja:ZaGranica
Offline

Napisano 07.10.2014 15:50

Witam, mam problem z pluginem SurfXPMod, tutaj podaje co wyskakuję mi w konsoli po dopisaniu debug

L 10/07/2014 - 16:47:21: [AMXX] Displaying debug trace (plugin "SurfXPMod.amxx")
L 10/07/2014 - 16:47:21: [AMXX] Run time error 10: native error (native "get_user_weapon")
L 10/07/2014 - 16:47:21: [AMXX]    [0] SurfXPMod_2526429.sma::fwHamTakeDamage (line 415)

Tutaj podaję .SMA pluginu

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <nvault>
#include <fakemeta>

#define PLUGIN	"SURF XP MOD"
#define AUTHOR	"Ardivaba"
#define VERSION	"1.0"

#define TUTORIAL 1001
#define TASK_TUT 1111

#define MSOUND "items/nvg_off.wav"

enum { RED = 1, BLUE, YELLOW, GREEN }

new const g_TutorPrecache[][] = { "gfx/career/icon_!.tga", "gfx/career/icon_!-bigger.tga", "gfx/career/icon_i.tga", "gfx/career/icon_i-bigger.tga", "gfx/career/icon_skulls.tga", "gfx/career/round_corner_ne.tga", "gfx/career/round_corner_nw.tga", "gfx/career/round_corner_se.tga", "gfx/career/round_corner_sw.tga", "resource/TutorScheme.res", "resource/UI/TutorTextWindow.res" }

new g_MsgTutor
new g_MsgTutClose

new const LEVELS[408] =
{
	50,100,200,400,600,800,1000,1200,1400,1600,1800,2000,2200,2400,2600,2800,3000,3200,3400,3600,
	3800,4000,4200,4400,4600,4800,5000,5200,5400,5600,5800,6000,6200,6400,6600,6800,7000,7200,7400,
	7600,7800,8000,8200,8400,8600,8800,9000,9200,9400,9600,9800,10000,10200,10400,10600,10800,11000,
	11200,11400,11600,11800,12000,12200,12400,12600,12800,13000,13200,13400,13600,13800,14000,14200,
	14400,14600,14800,15000,15200,15400,15600,15800,16000,16200,16400,16600,16800,17000,17200,17400,
	17600,17800,18000,18200,18400,18600,18800,19000,19200,19400,19600,19800,20000,20200,20400,20600,
	20800,21000,21200,21400,21600,21800,22000,22200,22400,22600,22800,23000,23200,23400,23600,23800,
	24000,24200,24400,24600,24800,25000,25200,25400,25600,25800,26000,26200,26400,26600,26800,27000,
	27200,27400,27600,27800,28000,28200,28400,28600,28800,29000,29200,29400,29600,29800,30000,30200,
	30400,30600,30800,31000,31200,31400,31600,31800,32000,32200,32400,32600,32800,33000,33200,33400,
	33600,33800,34000,34200,34400,34600,34800,35000,35200,35400,35600,35800,36000,36200,36400,36600,
	36800,37000,37200,37400,37600,37800,38000,38200,38400,38600,38800,39000,39200,39400,39600 
}

new PXP[ 33 ]
new PLEVEL[ 33 ]
new PKS[ 33 ]
new g_vault

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event( "DeathMsg", "EventDeathMsg", "a" )
	
	register_clcmd( "say /xp", "printXp", -1, "Pokazuje twoje punkty Doswiadczenia!" )
	register_clcmd( "say /level", "printLevel", -1, "Pokazuje ktory masz Poziom!" )
	register_clcmd( "say /nowylevel", "printNewLevel", -1, "Pokazuje ile Doswiadczenia do nastepnego Poziomu!" )
	
	register_event("CurWeapon","ev_CurWeapon", "be", "1=1")
	
	RegisterHam(Ham_Spawn, "player", "EventPlayerSpawn", 1)
	RegisterHam(Ham_TakeDamage, "player", "fwHamTakeDamage")
	
	g_vault = nvault_open("SURFXPMOD")
	
	g_MsgTutor = get_user_msgid("TutorText")
	g_MsgTutClose = get_user_msgid("TutorClose")
	
}
public plugin_precache()
{
	precache_sound(MSOUND)
	
	new i
	
	for(i = 0; i < sizeof g_TutorPrecache; i++) 
	{	
		precache_generic(g_TutorPrecache[i])
	}
	precache_model("models/surf/v_knife.mdl")
	precache_model("models/surf/v_glock.mdl")
	precache_model("models/surf/v_usp.mdl")
	precache_model("models/surf/v_p228.mdl")
	precache_model("models/surf/v_elite.mdl")
	precache_model("models/surf/v_fiveseven.mdl")
	precache_model("models/surf/v_deagle.mdl")
	precache_model("models/surf/v_granade.mdl")
	precache_model("models/surf/v_mp5a.mdl")
	precache_model("models/surf/v_ak47.mdl")
	precache_model("models/surf/v_m4a1.mdl")
	precache_model("models/surf/v_ump45.mdl")
	precache_model("models/surf/v_p90.mdl")
	precache_model("models/surf/v_galil.mdl")
	precache_model("models/surf/v_famas.mdl")
	precache_model("models/surf/v_mp5b.mdl")
	precache_model("models/surf/v_sg552.mdl")
	precache_model("models/surf/v_ak47b.mdl")
	precache_model("models/surf/v_m4a1b.mdl")
	precache_model("models/surf/v_awp.mdl")
	precache_model("models/surf/v_m3.mdl")
	precache_model("models/surf/v_xm1014.mdl")
	precache_model("models/surf/v_scout.mdl")
	precache_model("models/surf/v_knife50.mdl")
	
}
public client_connect( id )
{
	PXP[ id ] = 1
	LoadData( id )
}
public client_disconnect( id )
{
	SaveData( id )
	PXP[ id ] = 1
	PLEVEL[ id ] = 1
	PKS[ id ] = 1
}
public EventPlayerSpawn( id )
{
	new health
	new newhealth
	new money
	new newmoney
	new armor
	new newarmor
	
	money = cs_get_user_money( id )
	newmoney = money + (PLEVEL[ id ] * 100)
	cs_set_user_money( id, newmoney)
	
	if( PLEVEL[ id ] <= 25 )
	{
		health = get_user_health( id )
		newhealth = health + (PLEVEL[ id ])
		set_user_health( id, newhealth )
	}
	else
	{
		health = get_user_health( id )
		newhealth = 125
		
		armor = get_user_armor( id )
		newarmor = armor + ((PLEVEL[ id ]) - 25)
		set_user_armor( id, newarmor )
		set_user_health( id, newhealth )
	}
}
public EventDeathMsg()
{
	new killer = read_data( 1 )
	new victim = read_data( 2 )
	new headshot = read_data( 3 )
	new xp
	new hs
	
	if(PLEVEL[ killer ] > PLEVEL[ victim ])
	{
		xp = 20
	}
	if(PLEVEL[ killer ] < PLEVEL[ victim ])
	{
		xp = 20
	}
	if(PLEVEL[ killer ] == PLEVEL[ victim ])
	{
		xp = 20
	}
	
	PKS[ victim ] = 0
	
	if( victim == killer )
	{
		return PLUGIN_CONTINUE
	}
	if(headshot)
	{
		xp = 30
		hs = 1
	}
	if(PKS[ killer ] < 10)
	{
		PKS[ killer ]++
	}
	
	xp = xp + PKS[ killer ]
	
	add_xp( killer, xp, hs )
	check_level( killer )
	
	new Text[ 100 ]
	formatex(Text,191,"Zginales, jednoczesnie straciles swoj KillStreak!")
	MakeTutor(victim,Text,RED,3.0)
	return PLUGIN_CONTINUE
}
public add_xp( id, xp, hs )
{
	new newlevel = LEVELS[PLEVEL[ id ]]-PXP[ id ]
	
	PXP[ id ] = PXP[ id ] + xp
	
	if(hs)
	{
		new Text[ 100 ]
		formatex(Text,191,"BUM HEADSHOT! Otrzymales %d doswiadczenia! ^nTwoj KillStreak: %d^nNowy poziom za %d doswiadczenia!", xp, PKS[ id ], newlevel)
		MakeTutor(id,Text,GREEN,3.0)
	}
	else
	{
		new Text[ 100 ]
		formatex(Text,191,"Otrzymales %d doswiadczenia! ^nTwoj KillStreak: %d^nNowy poziom za %d doswiadczenia!", xp, PKS[ id ], newlevel)
		MakeTutor(id,Text,GREEN,3.0)
	}
}
public check_level( id )
{
	if(PXP[ id ] >= LEVELS[PLEVEL[ id ]])
	{
		PLEVEL[ id ]++
		new Text[ 100 ]
		formatex(Text,191,"Zdobyles nowy poziom! Masz teraz %d!", PLEVEL[ id ])
		MakeTutor(id,Text,GREEN,5.0)
	}
}
public printXp( id )
{
	new Text[ 100 ]
	formatex(Text,191,"Posiadasz %d doswiadczenia!", PXP[ id ])
	MakeTutor(id,Text,YELLOW,3.0)
}
public printNewLevel( id )
{
	new newlevel = LEVELS[PLEVEL[ id ]]-PXP[ id ]
	new Text[ 100 ]
	formatex(Text,191,"Nowy poziom za %d doswiadczenia!", newlevel)
	MakeTutor(id,Text,YELLOW,3.0)
}
public printLevel( id )
{
	new Text[ 100 ]
	formatex(Text,191,"Twoj poziom: %d!", PLEVEL[ id ])
	MakeTutor(id,Text,YELLOW,3.0)
}
public SaveData(id)
{
	new AuthID[35]
	get_user_name(id,AuthID,34)
	
	new vaultkey[64],vaultdata[256]
	format(vaultkey,63,"%s-Mod",AuthID)
	format(vaultdata,255,"%i#%i#",PXP[id],PLEVEL[id])
	nvault_set(g_vault,vaultkey,vaultdata)
	return PLUGIN_CONTINUE
}
public LoadData(id)
{
	new AuthID[35]
	get_user_name(id,AuthID,34)
	
	new vaultkey[64],vaultdata[256]
	format(vaultkey,63,"%s-Mod",AuthID)
	format(vaultdata,255,"%i#%i#",PXP[id],PLEVEL[id])
	nvault_get(g_vault,vaultkey,vaultdata,255)
	
	replace_all(vaultdata, 255, "#", " ")
	
	new playerxp[32], playerlevel[32]
	
	parse(vaultdata, playerxp, 31, playerlevel, 31)
	
	PXP[id] = str_to_num(playerxp)
	PLEVEL[id] = str_to_num(playerlevel)
	
	return PLUGIN_CONTINUE
}
MakeTutor(id,Text[],Color,Float:Time = 0.0)
{
	
	client_cmd( id, "spk %s", MSOUND )
	
	if(is_user_connected( id ))
	{
		message_begin(MSG_ONE_UNRELIABLE,g_MsgTutor,_,id)
		write_string(Text)
		write_byte(0)
		write_short(0)
		write_short(0)
		write_short(1<<Color)
		message_end()
	}
	if(Time != 0.0)
	{
		
		if( task_exists( id + TASK_TUT ) )
		{
			remove_task( id + TASK_TUT )
		}
		set_task(Time,"RemoveTutor",id + TASK_TUT)
	}
}
public RemoveTutor(taskID)
{
	new id = taskID - TASK_TUT
	message_begin(MSG_ALL,g_MsgTutClose,_,id)
	message_end()
}
public ev_CurWeapon(id)
{
	if(!is_user_connected(id) || !is_user_alive(id)) 
	{
		return PLUGIN_HANDLED;
	}
	new Weapon_Id = read_data(2)
	
	if(Weapon_Id == CSW_KNIFE && PLEVEL[ id ] >= 5 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_knife.mdl")
	}
	if(Weapon_Id == CSW_GLOCK18 && PLEVEL[ id ] >= 10 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_glock.mdl")
	}
	if(Weapon_Id == CSW_USP && PLEVEL[ id ] >= 10 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_usp.mdl")
	}
	if(Weapon_Id == CSW_P228 && PLEVEL[ id ] >= 15 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_p228.mdl")
	}
	if(Weapon_Id == CSW_ELITE && PLEVEL[ id ] >= 20 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_elite.mdl")
	}
	if(Weapon_Id == CSW_FIVESEVEN && PLEVEL[ id ] >= 25 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_fiveseven.mdl")
	}
	if(Weapon_Id == CSW_DEAGLE && PLEVEL[ id ] >= 30 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_deagle.mdl")
	}
	if(Weapon_Id == CSW_HEGRENADE && PLEVEL[ id ] >= 40 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_granade.mdl")
	}
	if(Weapon_Id == CSW_KNIFE && PLEVEL[ id ] >= 50 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_knife50.mdl")
	}
	if(Weapon_Id == CSW_MAC10 && PLEVEL[ id ] >= 60 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_mp5a.mdl")
	}
	if(Weapon_Id == CSW_AK47 && PLEVEL[ id ] >= 70 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_ak47.mdl")
	}
	if(Weapon_Id == CSW_M4A1 && PLEVEL[ id ] >= 70 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_m4a1.mdl")
	}
	if(Weapon_Id == CSW_UMP45 && PLEVEL[ id ] >= 70 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_ump45.mdl")
	}
	if(Weapon_Id == CSW_P90 && PLEVEL[ id ] >= 80 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_p90.mdl")
	}
	if(Weapon_Id == CSW_GALIL && PLEVEL[ id ] >= 100 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_galil.mdl")
	}
	if(Weapon_Id == CSW_FAMAS && PLEVEL[ id ] >= 120 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_famas.mdl")
	}
	if(Weapon_Id == CSW_M249 && PLEVEL[ id ] >= 150 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_m249.mdl")
	}
	if(Weapon_Id == CSW_MP5NAVY && PLEVEL[ id ] >= 200 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_mp5b.mdl")
	}
	if(Weapon_Id == CSW_SG552 && PLEVEL[ id ] >= 220 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_sg552.mdl")
	}
	if(Weapon_Id == CSW_AK47 && PLEVEL[ id ] >= 250 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_ak47b.mdl")
	}
	if(Weapon_Id == CSW_M4A1 && PLEVEL[ id ] >= 250 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_m4a1b.mdl")
	}
	if(Weapon_Id == CSW_AWP && PLEVEL[ id ] >= 300 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_awp.mdl")
	}
	if(Weapon_Id == CSW_M3 && PLEVEL[ id ] >= 350 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_m3.mdl")
	}
	if(Weapon_Id == CSW_XM1014 && PLEVEL[ id ] >= 370 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_xm1014.mdl")
	}
	if(Weapon_Id == CSW_SCOUT && PLEVEL[ id ] >= 400 ) 
	{
		set_pev(id, pev_viewmodel2, "models/surf/v_scout.mdl")
	}
	return PLUGIN_CONTINUE;
}
public fwHamTakeDamage(victim, inflictor, attacker, Float:damage, damagebits)
{
	if(get_user_weapon(attacker) == CSW_KNIFE && PLEVEL[ attacker ] >= 5)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_GLOCK18 && PLEVEL[ attacker ] >= 10)
	{
		SetHamParamFloat(4, damage * 1.1)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_USP && PLEVEL[ attacker ] >= 10)
	{
		SetHamParamFloat(4, damage * 1.1)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_P228 && PLEVEL[ attacker ] >= 15)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_ELITE && PLEVEL[ attacker ] >= 20)
	{
		SetHamParamFloat(4, damage * 1.3)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_FIVESEVEN && PLEVEL[ attacker ] >= 25)
	{
		SetHamParamFloat(4, damage * 1.3)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_DEAGLE && PLEVEL[ attacker ] >= 30)
	{
		SetHamParamFloat(4, damage * 1.3)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_HEGRENADE && PLEVEL[ attacker ] >= 40)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_KNIFE && PLEVEL[ attacker ] >= 50)
	{
		SetHamParamFloat(4, damage * 1.8)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_MAC10 && PLEVEL[ attacker ] >= 60)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_AK47 && PLEVEL[ attacker ] >= 70)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_M4A1 && PLEVEL[ attacker ] >= 70)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_UMP45 && PLEVEL[ attacker ] >= 70)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_P90 && PLEVEL[ attacker ] >= 80)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_GALIL && PLEVEL[ attacker ] >= 100)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_FAMAS && PLEVEL[ attacker ] >= 120)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_M249 && PLEVEL[ attacker ] >= 150)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_MP5NAVY && PLEVEL[ attacker ] >= 200)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_SG552 && PLEVEL[ attacker ] >= 220)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_AK47 && PLEVEL[ attacker ] >= 250)
	{
		SetHamParamFloat(4, damage * 1.9)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_M4A1 && PLEVEL[ attacker ] >= 250)
	{
		SetHamParamFloat(4, damage * 1.9)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_AWP && PLEVEL[ attacker ] >= 300)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_M3 && PLEVEL[ attacker ] >= 350)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_XM1014 && PLEVEL[ attacker ] >= 370)
	{
		SetHamParamFloat(4, damage * 1.5)
		return HAM_HANDLED
	}
	if(get_user_weapon(attacker) == CSW_SCOUT && PLEVEL[ attacker ] >= 400)
	{
		SetHamParamFloat(4, damage * 1.9)
		return HAM_HANDLED
	}
	return HAM_IGNORED 
}

Prosiłbym o podanie mi tutaj poprawionej wersji tego oto pluginu :) Bardzo mi na nim zależy a nie chcę aby mi taki błąd wyskakiwał ponieważ chyba też przyczynia się do restartów serwera


  • +
  • -
  • 0




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

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