#include <amxmodx>
#include <nvault>
#include <hamsandwich>
#define PLUGIN "ExpMod"
#define VERSION "1.2"
#define AUTHOR "Wonsz żeczny"
#define MAXPOZIOM 100
new Exp[ 33 ], Poziom[ 33 ]
new vault, HUD
public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR )
register_event( "DeathMsg", "DeathMsg", "a" )
RegisterHam( Ham_Spawn, "player", "Odrodzenie", 1 )
HUD = CreateHudSyncObj()
vault = nvault_open( "ZapisExpMod" )
}
public DeathMsg()
{
new Zabojca = read_data( 1 )
new Ofiara = read_data( 2 )
if( Zabojca == Ofiara )
return PLUGIN_HANDLED
if( Gracz( Zabojca ) )
{
DodajExp( Zabojca )
SprawdzPoziom( Zabojca )
}
return PLUGIN_CONTINUE
}
public DodajExp( wonsz )
{
if( get_user_flags( wonsz ) & ADMIN_LEVEL_H )
{
Exp[ wonsz ] = Exp[ wonsz ] + 20
} else {
Exp[ wonsz ] = Exp[ wonsz ] + 10
}
}
public SprawdzPoziom( zeka )
{
while( Exp[ zeka ] >= WymaganyExp( Poziom[ zeka ] ) && Poziom[ zeka ] < MAXPOZIOM )
Poziom[ zeka ] ++
}
public WymaganyExp( cyka )
{
return power(cyka, 2) * 25
// tutaj poziom gracza bedzie podniesiony do potegi 2 oraz pomnozony przez 25 co da nam wymagany exp na kolejny poziom
}
public Gracz( id )
{
if( is_user_connected( id ) && is_user_alive( id ) )
return true
return false
}
public client_connect( id )
{
WczytajExp( id )
}
public client_disconnect( id )
{
ZapiszExp( id )
}
public WczytajExp( id )
{
new name[ 35 ]
new vaultdata[ 256 ]
new vaultkey[ 64 ]
get_user_name( id, name, 34 )
format( vaultkey, 63, "%s-NAME", name )
format( vaultdata,255, "%i#%i#", Poziom[ id ], Exp[ id ] )
nvault_get( vault, vaultkey, vaultdata, 255 )
replace_all( vaultdata , 255, "#", " " )
new poziom[ 32 ], exp[ 32 ]
parse( vaultdata, poziom, 31, exp, 31 )
Poziom[ id ] = str_to_num( poziom )
Exp[ id ] = str_to_num( exp )
}
public ZapiszExp( id )
{
new name[ 35 ]
get_user_name( id, name, 34 )
new vaultdata[ 256 ]
new vaultkey[ 64 ]
format( vaultkey, 63, "%s-NAME", name )
format( vaultdata, 255, "%i#%i#", Poziom[ id ], Exp[ id ] )
nvault_set( vault , vaultkey, vaultdata )
}
public Odrodzenie( id )
{
set_task( 0.1, "PokazHUD", id, _, _, "b" )
}
public PokazHUD( id )
{
if( !Gracz( id ) )
return PLUGIN_HANDLED
set_hudmessage(255, 0, 0, 0.03, 0.30, 0, 0.0, 0.3, 0.0, 0.0)
ShowSyncHudMsg(id, HUD , "Poziom: %d ^nExp: %d / %d", Poziom[ id ], Exp[ id ], WymaganyExp( Poziom[ id ] ) )
return PLUGIN_HANDLED
}
Tutaj masz prostego expmoda z mojego poradnika.
Przyda Ci się jeszcze tworzenie menu:
https://amxx.pl/topi...tworzenie-menu/
Jak z czymś będziesz miał problem to pisz.