AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Learn FakeMeta Converted a plugin! How did I do? (https://forums.alliedmods.net/showthread.php?t=61341)

Styles 09-27-2007 14:05

Learn FakeMeta Converted a plugin! How did I do?
 
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

Wilson [29th ID] 09-29-2007 14:55

Re: Learn FakeMeta Converted a plugin! How did I do?
 
Quote:

Originally Posted by styles (Post 536299)
How did I do? Is it right?

..does it work?

Styles 09-30-2007 12:03

Re: Learn FakeMeta Converted a plugin! How did I do?
 
I don tknow lol i dont play cs really anymore

fxfighter 09-30-2007 12:40

Re: Learn FakeMeta Converted a plugin! How did I do?
 
why wuld you want it engine?
is it just for fun?:mrgreen:

potatis_invalido 10-01-2007 05:29

Re: Learn FakeMeta Converted a plugin! How did I do?
 
Quote:

Originally Posted by fxfighter (Post 537169)
why wuld you want it engine fakemeta?
is it just for fun?:mrgreen:


Styles 10-01-2007 13:28

Re: Learn FakeMeta Converted a plugin! How did I do?
 
Quote:

Originally Posted by fxfighter (Post 537169)
why wuld you want it engine?
is it just for fun?:mrgreen:

Engine is slower than fakemeta.
Fakemeta is way faster. But if you do something wrong you can crash the server really easily.

potatis_invalido 10-01-2007 13:43

Re: Learn FakeMeta Converted a plugin! How did I do?
 
Quote:

Originally Posted by styles (Post 537579)
you can crash the server really easily.

I disagree.
Fakemeta isnt much harder to use than engine, and it doesnt crash easily.

Styles 10-01-2007 13:46

Re: Learn FakeMeta Converted a plugin! How did I do?
 
Quote:

Originally Posted by potatis_invalido (Post 537585)
No.

Humm.. Thats what I was told by I belive hawk.

potatis_invalido 10-01-2007 13:48

Re: Learn FakeMeta Converted a plugin! How did I do?
 
Quote:

Originally Posted by styles (Post 537587)
Humm.. Thats what I was told by I belive hawk.

Hawk uses the word "no" very often.

Styles 10-01-2007 14:00

Re: Learn FakeMeta Converted a plugin! How did I do?
 
I am aware... He also likes the world Failure.


All times are GMT -4. The time now is 16:01.

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