Raised This Month: $ Target: $400
 0% 

collect all lvls


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
tor0en
Junior Member
Join Date: Dec 2008
Old 12-29-2008 , 10:26   Re: collect all lvls
Reply With Quote #5

here is my code:

Code:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fakemeta>
#include <hamsandwich>
#include <fakemeta_util>


new HpXp[33]
new StrXp[33]
new DefXp[33]
new AttXp[33]
new TotalXp[33]
new HpLevel[33]
new StrLevel[33]
new DefLevel[33]
new AttLevel[33]
new Level[33]
new max_players
new g_vault
new TotalLevel[33]

new const Levels[99] = {
	0,
	200,
	400,
	600,
	800,
	1000,
	1250,
	1500,
	1750,
	2000,
	2250,
	2500,
	2750,
	3000,
	3300,
	3600,
	3900,
	4200,
	4500,
	5000,
	5500,
	6000,
	7500,
	8000,
	8500,
	9000,
	9500,
	10000,
	10500, 
	11000, 
	11500,
	12000,
	12500,
	13000,
	13500,
	14000,
	14500,
	15000,
	15500,
	16000,
	16500,
	17000,
	17500,
	18000,
	18500,
	19000,
	19500,
	20000,
	20500,
	21000,
	21500,
	22000,
	22500,
	23000,
	23500,
	24000,
	25000,
	26000,
	27000,
	28000,
	29000,
	30000,
	31000,
	32000,
	33000,
	34000,
	35000,
	36000,
	37000,
	38000,
	39000,
	40000,
	41000,
	42000,
	43000,
	44000,
	45000,
	46000,
	47000,
	48000,
	49000,
	50000,
	51500,
	53000,
	54500,
	56000,
	57500,
	59000,
	60500,
	62000,
	65000,
	68000,
	71000,
	74000,
	77000,
	80000,
	85000,
	90000,
	95000
	//100000,
}




new const CombatLevels[40] = {
	3,
	9,
	12,
	15,
	18,
	21,
	24,
	27,
	30,
	33,
	36,
	39,
	42,
	45,
	48,
	51,
	54,
	57,
	60,
	63,
	66,
	69,
	72,
	75,
	78,
	81,
	84,
	87,
	90,
	93,
	96,
	99,
	102,
	105,
	108,
	111,
	114,
	117,
	120,
	123
}

new pc_head,pc_normal,pc_knife


public plugin_init() {
	register_plugin("Runescape Mod", "0.1", "Tor0en")
	g_vault = nvault_open("Rs")
	
	register_event( "DeathMsg", "Death", "a")
	
	RegisterHam(Ham_Spawn, "player", "event_spawn", 1)

	pc_head		= register_cvar("Rs_Xp_Head", "30")
	pc_normal	= register_cvar("Rs_Xp_NormalXp", "20")
	pc_knife 	= register_cvar("Rs_Xp_KnifeKill", "40")
	
	register_clcmd( "say /RS","RunesScapeStat")
	register_clcmd( "say_team /RS","RunesScapeStat")
	
	register_logevent("R_End", 2, "1=Round_End")
	max_players = get_maxplayers()
}


public ShowHud(id)
{
	set_hudmessage(255, 0, 0, 0.0, 0.1, 0, 6.0, 9999.0)
	show_hudmessage(id, "Combat LvL: %i ^nTotal Lvl:      %i^nTotal Xp: %i      ^nHitPoint Lvl: %i^nHitPoint Xp: %i  ^nAttack Lvl: %i   ^nAttack Xp: %i   ^nStrength Lvl: %i^nStrength Xp: %i^nDefence Lvl: %i^nDefence Xp: %i",TotalLevel[id],TotalLevel[id],HpLevel[id],HpXp[id],AttLevel[id],AttXp[id],StrLevel[id],StrXp[id],DefLevel[id],DefXp[id])
} 

public R_End()
{
	new id,Float:health
	for(new i;i<=max_players;i++)
	{
		id = i
		if(is_user_alive(id))
		{
			//gets his health its a float
			pev(id,pev_health,health)
			
			DefXp[id] = 100-floatround(health) 
		}
	}
}



public Death( )
{
	new iVictim = read_data( 2 )
	new weapon, hitplace, attacker = get_user_attacker(iVictim,weapon,hitplace)
	//get the victim,gun,hitplace and attacker
	
	if(hitplace == HIT_HEAD)AttXp[attacker] += get_pcvar_num(pc_head)
	
	if(hitplace != HIT_HEAD && hitplace)HpXp[attacker] += get_pcvar_num(pc_normal)
	
	
	if(weapon == CSW_KNIFE)StrXp[attacker] += get_pcvar_num(pc_knife)
	
	if(DefXp[attacker] >= Levels[DefLevel[attacker]])
	{
		DefLevel[attacker] += 1
		client_print(attacker, print_chat, "[Runescape] Congratulations! You are now Defence Level %i!", DefLevel[attacker])
	}
	
	if(Level[attacker] >= CombatLevels[Level[attacker]])
	{
		Level[attacker] += 1
		client_print(attacker, print_chat, "[Runescape] Congratulations! You are now Combat Level %i!", Level[attacker])
	}
	
	
	if(StrXp[attacker] >= Levels[StrLevel[attacker]])
	{
		StrLevel[attacker] += 1
		TotalLevel[attacker] += 1
		client_print(attacker, print_chat, "[Runescape] Congratulations! You are now Strength Level %i!", StrLevel[attacker])
	}
	
	{
		StrLevel[attacker] += 1
		TotalLevel[attacker] += 1
		client_print(attacker, print_chat, "[Runescape] Congratulations! You are now Strength Level %i!", StrLevel[attacker])
	}
	
	if(AttXp[attacker] >= Levels[AttLevel[attacker]])
	{
		AttLevel[attacker] += 1
		TotalLevel[attacker] += 1
		client_print(attacker, print_chat, "[Runescape] Congratulations! You are now Attack Level %i!", AttLevel[attacker])
	}
	
	if(HpXp[attacker] >= Levels[HpLevel[attacker]])
	{
		HpLevel[attacker] += 1
		TotalLevel[attacker] += 1
		client_print(attacker, print_chat, "[Runescape] Congratulations! Your Hp Level is now %i!", HpLevel[attacker])
	}
	ShowHud(attacker)
}

	


public SaveData(id)
{
	new AuthID[35]
	get_user_authid(id,AuthID,34)
	
	new vaultkey[64],vaultdata[256]
	format(vaultkey,63,"%s-Rs",AuthID)
	format(vaultdata,255,"%i %i %i %i %i %i %i %i %i %i",TotalXp[id],HpXp[id],DefXp[id],StrXp[id],AttXp[id],DefLevel[id],StrLevel[id],AttLevel[id],HpLevel[id])
	nvault_set(g_vault,vaultkey,vaultdata)
	return PLUGIN_HANDLED
}  

public LoadData(id)
{
	new AuthID[35]
	get_user_authid(id,AuthID,34)
	
	new vaultkey[64],vaultdata[256]
	format(vaultkey,63,"%s-Rs",AuthID)
	format(vaultdata,255,"%i %i %i %i %i %i %i %i %i %i ",HpXp[id],DefXp[id],StrXp[id],AttXp[id],DefLevel[id],StrLevel[id],AttLevel[id],HpLevel[id])
	nvault_get(g_vault,vaultkey,vaultdata,255)
	
	new playerhpxp[33],playerdefxp[33],playerattxp[33],playerstrxp[33],playerhplevel[33],playerattlevel[33],playerdeflevel[33],playerstrlevel[33]
	parse(vaultdata, playerhpxp, 32, playerdefxp, 32, playerattxp, 32, playerstrxp, 32, playerhplevel, 32, playerattlevel, 32, playerdeflevel, 32, playerstrlevel, 32)
	
	HpXp[id] = str_to_num(playerhpxp)
	StrXp[id] = str_to_num(playerstrxp)
	DefXp[id] = str_to_num(playerdefxp)
	AttXp[id] = str_to_num(playerattxp)
	HpLevel[id] = str_to_num(playerhplevel)
	StrLevel[id] = str_to_num(playerstrlevel)
	DefLevel[id] = str_to_num(playerdeflevel)
	AttLevel[id] = str_to_num(playerattlevel)
	
	return PLUGIN_HANDLED
}  



public client_disconnect(id)
{
	SaveData(id)
	HpXp[id] = 0
	StrXp[id] = 0
	DefXp[id] = 0
	AttXp[id] = 0
	TotalXp[id] = 0
	HpLevel[id] = 0
	StrLevel[id] = 0
	DefLevel[id] = 0
	AttLevel[id] = 0
	Level[id] = 0
}  

public client_putinserver(id)LoadData(id)

public event_spawn(id)
{ 
	if(!is_user_alive(id))return
	
	if(!HpLevel[id])HpLevel[id] = 10
	ShowHud(id)
	set_pev(id,pev_health,HpLevel[id]*10.0)
	
	if(!DefLevel[id])DefLevel[id] = 1
	fm_set_user_armor(id, DefLevel[id]*10)
	/*
	if(!StrLevel[id])StrLevel[id] = 1
	pev_takedamage(id, StrLevel[id]
	*/
	

	
}
tor0en is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 09:07.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode