Raised This Month: $ Target: $400
 0% 

Learn FakeMeta Converted a plugin! How did I do?


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Styles
Veteran Member
Join Date: Jul 2004
Location: California
Old 09-27-2007 , 14:05   Learn FakeMeta Converted a plugin! How did I do?
Reply With Quote #1

Hey!
Ive been learning fakemeta a lot more. And I decided to take a plugin I found and convert it to FakeMeta from Engine.

I commented out the Engine Commands.

How did I do? Is it right?

http://forums.alliedmods.net/showthr...ght=DeathBones

Thats the original Plugin

Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>



#define PLUGIN "DeathBones"
#define VERSION "1.1.0"
#define AUTHOR "mogel"



#define BONE_ALPHA_TASK_BASIS 1000
new pcv_deathmatch	// Deathmatch-Support
new pcv_bonestime	// anzeigen der Bones



#define ALPHA EV_INT_iuser4
#define PLAYER EV_INT_iuser3



public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)

	register_message(get_user_msgid("DeathMsg"), "Event_Death")
	register_event("HLTV", "Event_FreezeTime", "a", "1=0", "2=0")
	
	register_cvar("DeathBones", VERSION, FCVAR_SERVER | FCVAR_SPONLY | FCVAR_UNLOGGED)
	
	pcv_deathmatch = register_cvar("db_deathmatch", "0")	// per default kein DM-Support
	pcv_bonestime = register_cvar("db_bonestime", "30.0")	// 30 Sekunden
}
public plugin_precache() {
	precache_model("models/skeleton.mdl")
}
public Event_FreezeTime() {
	new players[32], count
	get_players(players, count, "h")
	for(new i = 0; i < count; i++)
	{
		new player = players[i]
		
		// Render zurück setzen
		set_pev(player, pev_renderfx, kRenderFxNone)
		set_pev(player, pev_rendercolor, 255,255,255)
		set_pev(player, pev_rendermode, kRenderNormal)
		set_pev(player, pev_renderamt, 0.0)
	}
	
	//remove_entity_name("deathbones")
	engfunc(EngFunc_RemoveEntity, "deathbones")
}
public Event_Death() {
	new player = get_msg_arg_int(2)
	
	new Float:bones[3]
	new Float:angle[3]
	
	pev(player, pev_origin, bones)
	//entity_get_vector(player, EV_VEC_origin, bones)
	pev(player, pev_angles, angle)
	//entity_get_vector(player, EV_VEC_angles, angle)
	bones[2] -= 32.0 // gleich nach unten setzen
	
	// Bones erstellen
	new entity = engfunc(EngFunc_CreateEntity, "info_target")
	//new entity = create_entity("info_target")
	set_pev(entity, pev_classname, "deathbones")
	//entity_set_string(entity, EV_SZ_classname, "deathbones")
	set_pev(entity, pev_model, "models/skeleton.mdl")
	//entity_set_model(entity, "models/skeleton.mdl")
	set_pev(entity, pev_origin, bones)
	//entity_set_origin(entity, bones)
	set_pev(entity, pev_angles, angle)
	//entity_set_vector(entity, EV_VEC_angles, angle)

	set_pev(entity, pev_movetype, MOVETYPE_TOSS)
	//entity_set_int(entity, EV_INT_movetype, MOVETYPE_TOSS)
	set_pev(entity, pev_solid, SOLID_NOT)
	//entity_set_int(entity, EV_INT_solid, SOLID_NOT)
	
	// Bones erstmal unsichtbar
	set_pev(entity, pev_renderfx, kRenderFxNone)
	set_pev(entity, pev_rendercolor, 255,255,255)
	set_pev(entity, pev_rendermode, kRenderTransAlpha)
	set_pev(entity, pev_renderamt, 0.0)

	// Spieler durch Bones wechseln
	set_pev(entity, pev_iuser3, player)
	//entity_set_int(entity, PLAYER, player)		// den Bones dem Spieler zuweisen
	set_pev(entity, pev_iuser4, 0)
	//entity_set_int(entity, ALPHA, 0)		// aktuelles Alpha für die Bones
	set_task(1.0, "BonesAlphaIn", entity)
}
public BonesAlphaIn(bones) {
	if (!pev_valid(bones)) return
	
	new alpha = pev(bones,pev_effects, pev_iuser4 + 1)
	//new alpha = entity_get_int(bones, ALPHA) + 1
	new player = pev(bones, pev_effects, pev_iuser3)
	//new player = entity_get_int(bones, PLAYER)
	
	// Spieler ausblenden, aber nur wenn kein DM-Modus
	if ((pev_valid(player)) && !get_pcvar_num(pcv_deathmatch))
	{
		set_pev(player, pev_renderfx, kRenderFxNone)
		set_pev(player, pev_rendercolor, 255,255,255)
		set_pev(player, pev_rendermode, kRenderTransAlpha)
		set_pev(player, pev_renderamt, float(256 - alpha * 16))
	}
	
	if (pev_valid(bones))
	{
		set_pev(bones, pev_renderfx, kRenderFxNone)
		set_pev(bones, pev_rendercolor, 255,255,255)
		set_pev(bones, pev_rendermode, kRenderTransAlpha)
		set_pev(bones, pev_renderamt, float(alpha * 16 - 1))
	}
	
	// neuen Alpha-Wert merken
	//entity_set_int(bones, ALPHA, alpha)
	pev(bones, pev_iuser4, alpha)
	// jetzt entscheiden .. .weiter Alpha oder liegen lassen
	if (alpha >= 16)
	{
		// wenn kein DM dann Spieler jetzt nach unten setzen
		if (!get_pcvar_num(pcv_deathmatch))
		{
			// Bones werden am Rundenanfng automatisch gelöscht
			PlayerMove(player)
		} else
		{
			// im DM-Modus nach X Sekunden wieder ausblenden
			set_task(get_pcvar_float(pcv_bonestime), "BonesAlphaOut", bones)
		}
	} else
	{
		set_task(0.1, "BonesAlphaIn", bones)
	}
}
public BonesAlphaOut(bones) {
	if (!pev_valid(bones)) return
	
	//new alpha = entity_get_int(bones, ALPHA) - 1
	new alpha = pev(bones,pev_effects, pev_iuser4 - 1)
	
	if (pev_valid(bones))
	{
		set_pev(bones, pev_renderfx, kRenderFxNone)
		set_pev(bones, pev_rendercolor, 255,255,255)
		set_pev(bones, pev_rendermode, kRenderTransAlpha)
		set_pev(bones, pev_renderamt, float(alpha * 16 - 1))
	}
	
	// neuen Alpha-Wert merken
	//entity_set_int(bones, ALPHA, alpha)
	pev(bones, pev_iuser4, alpha)
	
	// jetzt entscheiden .. .weiter Alpha oder killen
	if (alpha)
	{
		set_task(0.1, "BonesAlphaOut", bones)
	} else
	{
		//remove_entity(bones)
		engfunc(EngFunc_RemoveEntity, "deathbones")
	}			
}
public PlayerMove(player) {
	new Float:pos[3]
	//entity_get_vector(player, EV_VEC_origin, pos)
	pev(player, pev_origin, pos)
	pos[2] -= 2000.0
	//entity_set_vector(player, EV_VEC_origin, pos)
	set_pev(player, pev_origin, pos)
}
Thanks
Styles is offline
Send a message via AIM to Styles
Wilson [29th ID]
Veteran Member
Join Date: Nov 2005
Location: London
Old 09-29-2007 , 14:55   Re: Learn FakeMeta Converted a plugin! How did I do?
Reply With Quote #2

Quote:
Originally Posted by styles View Post
How did I do? Is it right?
..does it work?
__________________

Day of Defeat AMXX Community

FakeMeta Research . Voice Proximity . Advanced Deploy . Technician
Wilson [29th ID] is offline
Send a message via ICQ to Wilson [29th ID] Send a message via AIM to Wilson [29th ID] Send a message via MSN to Wilson [29th ID] Send a message via Yahoo to Wilson [29th ID]
Styles
Veteran Member
Join Date: Jul 2004
Location: California
Old 09-30-2007 , 12:03   Re: Learn FakeMeta Converted a plugin! How did I do?
Reply With Quote #3

I don tknow lol i dont play cs really anymore
Styles is offline
Send a message via AIM to Styles
fxfighter
Veteran Member
Join Date: Feb 2007
Location: Trollhättan
Old 09-30-2007 , 12:40   Re: Learn FakeMeta Converted a plugin! How did I do?
Reply With Quote #4

why wuld you want it engine?
is it just for fun?
__________________
If one of my plugins become broken, contact me by mail. [email protected]
fxfighter is offline
Send a message via MSN to fxfighter
potatis_invalido
BANNED
Join Date: Jul 2007
Location: 0 (world)
Old 10-01-2007 , 05:29   Re: Learn FakeMeta Converted a plugin! How did I do?
Reply With Quote #5

Quote:
Originally Posted by fxfighter View Post
why wuld you want it engine fakemeta?
is it just for fun?
potatis_invalido is offline
Styles
Veteran Member
Join Date: Jul 2004
Location: California
Old 10-01-2007 , 13:28   Re: Learn FakeMeta Converted a plugin! How did I do?
Reply With Quote #6

Quote:
Originally Posted by fxfighter View Post
why wuld you want it engine?
is it just for fun?
Engine is slower than fakemeta.
Fakemeta is way faster. But if you do something wrong you can crash the server really easily.
Styles is offline
Send a message via AIM to Styles
potatis_invalido
BANNED
Join Date: Jul 2007
Location: 0 (world)
Old 10-01-2007 , 13:43   Re: Learn FakeMeta Converted a plugin! How did I do?
Reply With Quote #7

Quote:
Originally Posted by styles View Post
you can crash the server really easily.
I disagree.
Fakemeta isnt much harder to use than engine, and it doesnt crash easily.

Last edited by potatis_invalido; 10-01-2007 at 13:46.
potatis_invalido is offline
Styles
Veteran Member
Join Date: Jul 2004
Location: California
Old 10-01-2007 , 13:46   Re: Learn FakeMeta Converted a plugin! How did I do?
Reply With Quote #8

Quote:
Originally Posted by potatis_invalido View Post
No.
Humm.. Thats what I was told by I belive hawk.
Styles is offline
Send a message via AIM to Styles
potatis_invalido
BANNED
Join Date: Jul 2007
Location: 0 (world)
Old 10-01-2007 , 13:48   Re: Learn FakeMeta Converted a plugin! How did I do?
Reply With Quote #9

Quote:
Originally Posted by styles View Post
Humm.. Thats what I was told by I belive hawk.
Hawk uses the word "no" very often.
potatis_invalido is offline
Old 09-30-2007, 13:41
X-Script
This message has been deleted by X-Script. Reason: nvm
Reply



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 16:01.


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