1. sayfa (Toplam 1 sayfa)

Eklenti Çökme

Gönderilme zamanı: Çrş Ağu 19, 2020 3:45 pm
gönderen LoseBasgan

Kod: Tümünü seç

#include < amxmodx >

#include < fakemeta >
#include < fakemeta_util >

#define PLUGIN_VERSION		"3.3"

#define FFADE_IN 		0x0000

enum _: iCoords
{
	x = 0,
	y,
	z
};
		
new const szModelKit[ ] = "models/moon_healbox.mdl";
new const szPickupSound[ ] = "items/smallmedkit1.wav";

new gToggleKitEnable;
new gToggleGlowShow;
new gGMsgFade;
new gToggleFadeEnable;
new gToggleRemoveAtRstart;
new gKitHealthCvar;
new gLimitHealthCvar;
new gGMsgItemPickup;

new const gMedKitClassname[ ] = "medkit_entity";

public plugin_init( )
{
	register_plugin( "Healthkit on dead body", PLUGIN_VERSION, "tuty" );
    	
        register_event( "DeathMsg","Event_DeathMsg","a" );
        register_logevent( "LOGEvent_Round_Start", 2, "1=Round_Start" );
	
        register_forward( FM_Touch, "forward_FM_Touch" );
	
        gToggleKitEnable = register_cvar( "kit_enable", "1" );
        gToggleGlowShow = register_cvar( "kit_glow", "1" );
        gToggleFadeEnable = register_cvar( "kit_fade", "1" );
        gToggleRemoveAtRstart = register_cvar( "kit_remove", "0" );
        gKitHealthCvar = register_cvar( "kit_health", "20" );
        gLimitHealthCvar = register_cvar( "kit_limit_health", "120" );
	
	gGMsgFade = get_user_msgid( "ScreenFade" );
        gGMsgItemPickup = get_user_msgid( "ItemPickup" );
}
 
public plugin_precache( )
{
	precache_model( szModelKit );
        precache_sound( szPickupSound );
}

public Event_DeathMsg( )
{
	if( get_pcvar_num( gToggleKitEnable ) == 0 )
        {
		return PLUGIN_HANDLED;
        }	
	
        new iVictim = read_data( 2 );
	
        static Float:flOrigin[ iCoords ];
        pev( iVictim, pev_origin, flOrigin );
	
        new iEnt = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
	
	/* --| Modify the origin a little bit. This is calculated to be set on floor */
        flOrigin[ z ] -= 36; 
	
        engfunc( EngFunc_SetOrigin, iEnt, flOrigin );
	
        if( !pev_valid( iEnt ) )
        {
		return PLUGIN_HANDLED;
        }
	
        set_pev( iEnt, pev_classname, gMedKitClassname );
        engfunc( EngFunc_SetModel, iEnt, szModelKit );
        dllfunc( DLLFunc_Spawn, iEnt );
        set_pev( iEnt, pev_solid, SOLID_BBOX );
        set_pev( iEnt, pev_movetype, MOVETYPE_BOUNCE );
        engfunc( EngFunc_SetSize, iEnt, Float:{ -23.160000, -13.660000, -0.050000 }, Float:{ 11.470000, 12.780000, 6.720000 } );
        engfunc( EngFunc_DropToFloor, iEnt );
	
        if( get_pcvar_num( gToggleGlowShow ) == 1 )
        {
		fm_set_rendering( iEnt, kRenderFxGlowShell, 255, 255, 255, kRenderFxNone, 27 );
        }
	
        return PLUGIN_HANDLED;
}

public forward_FM_Touch( iEnt, id )
{
        if( !pev_valid( iEnt ) 
	|| get_pcvar_num( gToggleKitEnable ) == 0 )
        {
		return FMRES_IGNORED;
        }
	
        new szClassname[ 32 ];
        pev( iEnt, pev_classname, szClassname, charsmax( szClassname ) );
	
        if( !equal( szClassname, gMedKitClassname ) )
        {
		return FMRES_IGNORED;
        }
	
        new iUserHealth = get_user_health( id );

        new iCvarHealth = get_pcvar_num( gKitHealthCvar );
        new iMaxHealth = get_pcvar_num( gLimitHealthCvar );

        if( iUserHealth >= iMaxHealth )
        {
		return FMRES_IGNORED;
        }

        set_hudmessage( 255, 0, 0, -1.0, 0.83, 2, 6.0, 3.0 );
        show_hudmessage( id, "%d HP Aldin.", iCvarHealth );
	
        fm_set_user_health( id, iUserHealth + iCvarHealth );

        emit_sound( id, CHAN_ITEM, szPickupSound, VOL_NORM, ATTN_NORM, 0 , PITCH_NORM );
        UTIL_Send_PickupMessage( id, "item_healthkit" );
        
        if( get_pcvar_num( gToggleFadeEnable ) == 1 )
        {
		message_begin( MSG_ONE_UNRELIABLE, gGMsgFade , _, id );
		write_short( 1<<10 );
		write_short( 1<<10 );
		write_short( FFADE_IN );
		write_byte( 255 );
		write_byte( 0 );
		write_byte( 0 ); 
		write_byte( 75 );
		message_end( );
        }
	
        engfunc( EngFunc_RemoveEntity, iEnt );

        return FMRES_IGNORED;
}

public LOGEvent_Round_Start( )
{
        if( get_pcvar_num( gToggleRemoveAtRstart ) == 1 )
        {
		new iEntity = FM_NULLENT;

		while( ( iEntity = fm_find_ent_by_class( iEntity, gMedKitClassname ) ) )
		{
			engfunc( EngFunc_RemoveEntity, iEntity );
		}
	}	
}

stock UTIL_Send_PickupMessage( const id, const szItemName[ ] )
{
	message_begin( MSG_ONE_UNRELIABLE, gGMsgItemPickup, _, id );
        write_string( szItemName );
        message_end( );
}
Bu eklentideki model gözükdüğü zaman serverde çökme yapıyor loglarada bu düşüyor.

Kod: Tümünü seç

L 19/08/2020 - 15:45:55: (map "(null)") NET_OpenIP: Couldn't allocate dedicated server IP port 27015.
L 19/08/2020 - 15:45:57: (map "(null)") NET_OpenIP: Couldn't allocate dedicated server IP port 27015.
L 19/08/2020 - 15:45:59: (map "(null)") NET_OpenIP: Couldn't allocate dedicated server IP port 27015.
L 19/08/2020 - 15:46:01: (map "(null)") NET_OpenIP: Couldn't allocate dedicated server IP port 27015.
Eklentiden çökme yaptığına eminim eklentiyi kaldırdığımda böyle bir sorun yok. Nasıl çözebilirim bu sorunu ?

Eklenti Çökme

Gönderilme zamanı: Çrş Ağu 19, 2020 8:02 pm
gönderen LoseBasgan
Bu olmasa bile elinde sorunsuz medkit eklentisi olan var mı ? Ölünce düşen üstüne geldiğimizde can gelen.

Eklenti Çökme

Gönderilme zamanı: Çrş Ağu 19, 2020 8:32 pm
gönderen OPC Line
LoseBasgan yazdı: Çrş Ağu 19, 2020 8:02 pm Bu olmasa bile elinde sorunsuz medkit eklentisi olan var mı ? Ölünce düşen üstüne geldiğimizde can gelen.
arşivimden buldum. Zamanında bazuka modda kullanmıştım. çalışıyordu denemedim şuan

Eklenti Çökme

Gönderilme zamanı: Çrş Ağu 19, 2020 8:40 pm
gönderen LoseBasgan
OPC Line yazdı: Çrş Ağu 19, 2020 8:32 pm
LoseBasgan yazdı: Çrş Ağu 19, 2020 8:02 pm Bu olmasa bile elinde sorunsuz medkit eklentisi olan var mı ? Ölünce düşen üstüne geldiğimizde can gelen.
arşivimden buldum. Zamanında bazuka modda kullanmıştım. çalışıyordu denemedim şuan
Teşekkür ederim, bir sorunu var ancak. Öldüğünde zıplıyorsan yada havadayken bu şeyde havada kalıyor. Ekstra olarak bu kutuyu şeffaf yapabilir miyiz yani içinden geçilebilir halde olabilir mi ?

Eklenti Çökme

Gönderilme zamanı: Çrş Ağu 19, 2020 9:23 pm
gönderen OPC Line
bunu dene bide kardeşim. Bu istediğin gibi.

Eklenti Çökme

Gönderilme zamanı: Çrş Ağu 19, 2020 9:40 pm
gönderen LoseBasgan
OPC Line yazdı: Çrş Ağu 19, 2020 9:23 pm bunu dene bide kardeşim. Bu istediğin gibi.
Diğer herşey tamam da bu sefer şey olmuş ya kutu elimize geliyor ordan basıyoruz onu yerden aldığın gibi can gelmeli halini yapabilir misiniz ?

Eklenti Çökme

Gönderilme zamanı: Çrş Ağu 19, 2020 9:40 pm
gönderen LoseBasgan
OPC Line yazdı: Çrş Ağu 19, 2020 9:23 pm bunu dene bide kardeşim. Bu istediğin gibi.
Diğer herşey tamam da bu sefer şey olmuş ya kutu elimize geliyor ordan basıyoruz onu yerden aldığın gibi can gelmeli halini yapabilir misiniz ?

Eklenti Çökme

Gönderilme zamanı: Prş Ağu 20, 2020 9:54 am
gönderen LoseBasgan
Güncel

Eklenti Çökme

Gönderilme zamanı: Prş Ağu 20, 2020 9:33 pm
gönderen bilalgecer47
eski kullandıgımız eklentı ısıne yararsa veriyim?

Eklenti Çökme

Gönderilme zamanı: Prş Ağu 20, 2020 9:58 pm
gönderen LoseBasgan
bilalgecer47 yazdı: Prş Ağu 20, 2020 9:33 pm eski kullandıgımız eklentı ısıne yararsa veriyim?
Çalışıyorsa neden olmasın :)