Raised This Month: $ Target: $400
 0% 

[Help] Editing deathbones plugin


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
AcidoX
Senior Member
Join Date: Oct 2007
Location: Vilnius
Old 12-18-2008 , 18:57   [Help] Editing deathbones plugin
Reply With Quote #1

Hi all, i tried to port the 'deathbones' plugin from engine, but there are some errors. Please someone help me port it. Thnx in advance...
Attached Files
File Type: sma Get Plugin or Get Source (deathbones.sma - 773 views - 4.4 KB)
__________________
Who need lockerz invite? Pm me.
AcidoX is offline
Send a message via Skype™ to AcidoX
L//
Senior Member
Join Date: Aug 2008
Location: Not found
Old 12-18-2008 , 21:54   Re: [Help] Editing deathbones plugin
Reply With Quote #2

Only fixed
Attached Files
File Type: sma Get Plugin or Get Source (deathbones.sma - 834 views - 4.2 KB)
L// is offline
Send a message via MSN to L//
SchlumPF*
Veteran Member
Join Date: Mar 2007
Old 12-19-2008 , 03:25   Re: [Help] Editing deathbones plugin
Reply With Quote #3

PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <fakemeta_util>
#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
 
public plugin_init() {
 
register_plugin(PLUGINVERSIONAUTHOR)
 
register_message(get_user_msgid("DeathMsg"), "Event_Death")
 
register_event("HLTV""Event_FreezeTime""a""1=0""2=0")
 
 
register_cvar("DeathBones"VERSIONFCVAR_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
(playerscount"h")
 for(new 
0counti++)
 {
  new 
player players[i]
  
  
// Render zurück setzen
  
set_pev(playerpev_renderfxkRenderFxNone)
  
set_pev(playerpev_rendercolor255,255,255)
  
set_pev(playerpev_rendermodekRenderNormal)
  
set_pev(playerpev_renderamt0.0)
 }
 
 
fm_remove_entity_name("deathbones")
}
public 
Event_Death() {
 new 
player get_msg_arg_int(2)
 
 new 
Float:bones[3]
 new 
Float:angle[3]
 
 
set_pev(playerpev_originbones)
 
set_pev(playerpev_anglesangle)
 
bones[2] -= 32.0 // gleich nach unten setzen
 
 // Bones erstellen
 
new entity fm_create_entity("info_target")
 
set_pev(entitypev_classname"deathbones")
 
engfunc(EngFunc_SetModelentity"models/skeleton.mdl")
 
set_pev(entitypev_originbones)
 
set_pev(entitypev_anglesangle)
 
set_pev(entitypev_movetypeMOVETYPE_TOSS)
 
set_pev(entitypev_solidSOLID_NOT)
 
 
// Bones erstmal unsichtbar
 
set_pev(entitypev_renderfxkRenderFxNone)
 
set_pev(entitypev_rendercolor255,255,255)
 
set_pev(entitypev_rendermodekRenderTransAlpha)
 
set_pev(entitypev_renderamt0.0)
 
// Spieler durch Bones wechseln
 
set_pev(entitypev_euser3player// den Bones dem Spieler zuweisen
 
set_pev(entitypev_euser40)  // aktuelles Alpha für die Bones
 
set_task(1.0"BonesAlphaIn"entity)
}
public 
BonesAlphaIn(bones) {
 if (!
pev_valid(bones)) return
 
 new 
alpha pev(bonespev_iuser4) + 1
 
new player pev(bonespev_iuser3)
 
 
// Spieler ausblenden, aber nur wenn kein DM-Modus
 
if ((pev_valid(player)) && !get_pcvar_num(pcv_deathmatch))
 {
  
set_pev(playerpev_renderfxkRenderFxNone)
  
set_pev(playerpev_rendercolor255,255,255)
  
set_pev(playerpev_rendermodekRenderTransAlpha)
  
set_pev(playerpev_renderamtfloat(256 alpha 16))
 }
 
 if (
pev_valid(bones))
 {
  
set_pev(bonespev_renderfxkRenderFxNone)
  
set_pev(bonespev_rendercolor255,255,255)
  
set_pev(bonespev_rendermodekRenderTransAlpha)
  
set_pev(bonespev_renderamtfloat(alpha 16 1))
 }
 
 
// neuen Alpha-Wert merken
 
set_pev(bonespev_iuser4alpha)
 
 
// 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 pev(bonespev_iuser4) - 1
 
 
if (pev_valid(bones))
 {
  
set_pev(bonespev_renderfxkRenderFxNone)
  
set_pev(bonespev_rendercolor255,255,255)
  
set_pev(bonespev_rendermodekRenderTransAlpha)
  
set_pev(bonespev_renderamtfloat(alpha 16 1))
 }
 
 
// neuen Alpha-Wert merken
 
set_pev(bonespev_iuser4alpha)
 
 
// jetzt entscheiden .. .weiter Alpha oder killen
 
if (alpha)
 {
  
set_task(0.1"BonesAlphaOut"bones)
 } else
 {
  
fm_remove_entity(bones)
 }
}
public 
PlayerMove(player) {
 new 
Float:pos[3]
 
pev(playerpev_originpos)
 
pos[2] -= 2000.0
 set_pev
(playerpev_originpos)

__________________
SchlumPF* is offline
Send a message via ICQ to SchlumPF*
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 12-19-2008 , 03:28   Re: [Help] Editing deathbones plugin
Reply With Quote #4

Try my edition.
Attached Files
File Type: sma Get Plugin or Get Source (deathbones.sma - 735 views - 2.7 KB)
__________________
- tired and retired -

- my plugins -

Last edited by ConnorMcLeod; 12-19-2008 at 05:11.
ConnorMcLeod is offline
AcidoX
Senior Member
Join Date: Oct 2007
Location: Vilnius
Old 12-22-2008 , 18:46   Re: [Help] Editing deathbones plugin
Reply With Quote #5

Ok, thnx guys!
__________________
Who need lockerz invite? Pm me.
AcidoX is offline
Send a message via Skype™ to AcidoX
Sn!ff3r
Veteran Member
Join Date: Aug 2007
Location: Poland
Old 12-22-2008 , 20:52   Re: [Help] Editing deathbones plugin
Reply With Quote #6

PHP Code:
/*
        Skeletons
            v0.1 by SAMURAI
*/

#include <amxmodx>
#include <csx>
#include <fakemeta>

#define PLUGIN "Skeletons"
#define VERSION "0.1"
#define AUTHOR "SAMURAI"


// util funcs
#define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
#define fm_remove_entity(%1) engfunc(EngFunc_RemoveEntity, %1)

// sizes
#define SK_MINZ Float:{-2.440000, -3.540000, -4.960000 }
#define SK_MAXZ Float:{5.880000, 3.780000, 4.750000}

// model
stock const gModel[] = "models/skeleton.mdl";

// ent classname
new const gClassname[] = "amxx_skeleton";

public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
// block "ClCorpse". Now, the bodyes doesen't stay on ground anymore
    
set_msg_block(get_user_msgid("ClCorpse"), BLOCK_SET);
    
    
register_event("HLTV","event_newround""a","1=0""2=0");
}


public 
plugin_precache()
{
    
precache_model(gModel);
}

public 
client_death(killer,victim,weapon,hit,TK)
{
    
// get victim origin
    
static Float:origin[3];
    
pev(victim,pev_origin,origin);
    
    
// create new ent
    
new ent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString,"info_target"));
    
    
// adjuts coords
    // origin.z -= 32;
    
origin[2] -= 32;
    
    
// set origins to new ent
    
engfunc(EngFunc_SetOrigin,ent,origin);
    
    
// check if isn't a valid ent
    
if(!pev_valid(ent))
        return 
0;
        
    
// set model
    
engfunc(EngFunc_SetModel,ent,gModel);
    
    
// set classname
    
set_pev(ent,pev_classname,gClassname);
    
    
// spawn ent
    
dllfunc(DLLFunc_Spawnent);
    
    
// make it solid
    
set_pev(ent,pev_solid,SOLID_BBOX);
    
    
// set movetype
    
set_pev(ent,pev_movetype,MOVETYPE_FLY);
    
    
// set sizes
    
engfunc(EngFunc_SetSize,ent,SK_MINZ,SK_MAXZ);
    
    
// drop ent to floor
    
engfunc(EngFunc_DropToFloor,ent);
    
    return 
0;
}

// This is called on every new round
// Remove all fucking skeletons
public event_newround()
{
    
    new 
skeletons = -1;
    while((
skeletons  fm_find_ent_by_class(skeletons gClassname)))
        
fm_remove_entity(skeletons );
        

__________________
Join US - custom Zombie Server - Custom Addons:



Sn!ff3r is offline
Send a message via Skype™ to Sn!ff3r
AcidoX
Senior Member
Join Date: Oct 2007
Location: Vilnius
Old 12-23-2008 , 06:09   Re: [Help] Editing deathbones plugin
Reply With Quote #7

ConnorMcLeod: your version has a bug, when a player dies hes corpse is disapearing, and gets visible again, so it goes that deathbones, and player = 2 2 corpses
__________________
Who need lockerz invite? Pm me.
AcidoX is offline
Send a message via Skype™ to AcidoX
xPaw
Retired AMX Mod X Moderator
Join Date: Jul 2008
Old 12-23-2008 , 06:59   Re: [Help] Editing deathbones plugin
Reply With Quote #8

so many codes, ill post one too
PHP Code:
#include <amxmodx>
#include <fakemeta>

#define SK_MINZ Float:{-2.440000, -3.540000, -4.960000 }
#define SK_MAXZ Float:{5.880000, 3.780000, 4.750000}

public plugin_init()  {
    
register_plugin("Skeletons""1.0""SAMURAI");
    
    
set_msg_block(get_user_msgid("ClCorpse"), BLOCK_SET);
    
register_event("DeathMsg",    "eDeath",    "a");
    
register_event("HLTV",        "eNewRound",    "a""1=0""2=0");
}

public 
plugin_precache()
    
precache_model("models/skeleton.mdl");

public 
eDeath() {
    new 
victim read_data(2);
    
    static 
Float:origin[3];
    
pev(victimpev_originorigin);
    
    new 
ent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target"));
    
    
origin[2] -= 32;
    
engfunc(EngFunc_SetOriginentorigin);
    
    if( !
pev_valid(ent) )
        return 
0;
    
    
engfunc(EngFunc_SetModelent"models/skeleton.mdl");
    
set_pev(entpev_classname"amxx_skeleton");
    
dllfunc(DLLFunc_Spawnent);
    
set_pev(entpev_solidSOLID_BBOX);
    
set_pev(entpev_movetypeMOVETYPE_FLY);
    
engfunc(EngFunc_SetSizeentSK_MINZSK_MAXZ);
    
engfunc(EngFunc_DropToFloorent);
    
    return 
0;
}

public 
eNewRound() {
    new 
skeletons = -1;
    while((
skeletons engfunc(EngFunc_FindEntityByStringskeletons"classname""amxx_skeleton")))
        
engfunc(EngFunc_RemoveEntityskeletons );

__________________

Last edited by xPaw; 12-27-2008 at 14:50.
xPaw is offline
AcidoX
Senior Member
Join Date: Oct 2007
Location: Vilnius
Old 12-27-2008 , 14:35   Re: [Help] Editing deathbones plugin
Reply With Quote #9

xPaw: Your version error

Code:
L 12/27/2008 - 21:27:00: Start of error session.
L 12/27/2008 - 21:27:00: Info (map "de_inferno") (file "addons/amxmodx/logs/error_20081227.log")
L 12/27/2008 - 21:27:00: Invalid message argument 2
L 12/27/2008 - 21:27:00: [AMXX] Displaying debug trace (plugin "deathbones.amxx")
L 12/27/2008 - 21:27:00: [AMXX] Run time error 10: native error (native "get_msg_arg_int")
L 12/27/2008 - 21:27:00: [AMXX]    [0] deathbones.sma::eDeath (line 19)
L 12/27/2008 - 21:27:00: Invalid message argument 2
connor: Can you fix your version?
__________________
Who need lockerz invite? Pm me.
AcidoX is offline
Send a message via Skype™ to AcidoX
xPaw
Retired AMX Mod X Moderator
Join Date: Jul 2008
Old 12-27-2008 , 14:50   Re: [Help] Editing deathbones plugin
Reply With Quote #10

i changed one thing try now
__________________
xPaw is offline
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 06:05.


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