AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   help :))) (https://forums.alliedmods.net/showthread.php?t=136149)

lashsh 08-23-2010 12:00

help :)))
 
PHP Code:

#include <amxmodx>  
#include <amxmisc>  
#include <nvault> 

#define MAXCLASSES 5 

new PlayerXP 33 ], PlayerLevel 33 ], PlayerClass 33 ]  
//these are for special kills  
new XP_Kill XP_Knife XP_Hs SaveXP  
//this is for Nvault. so that We can save XP  
new g_vault 

new const CLASSES MAXCLASSES ][] = {  
"None" ,  
"Dog" ,  
"Cat" ,  
"Horse" ,  
"Admin"  


new const 
LEVELS ] = {  
,  
100 //this means you need 100 xp  
200 //this means you need 200 xp  
400 //this means you need 400 xp  
800 //so on  
1600 //so on  
3200 //so on  


public 
plugin_init ()  
{  
register_plugin "XpLif" "0.1" "LifIgor" )  

//we need this to check your level after you kill some one  
register_event "DeathMsg" "eDeath" "a" )  
//is saving on?  
SaveXP register_cvar "SaveXP" "1" )  
//how many xp are u gonna get per kill?  
XP_Kill register_cvar "XP_per_kill" "3" )  
//if you get a hs you get bonus xp  
XP_Hs register_cvar "XP_hs_bonus" "7" )  
//if you make a knife kill you get bounus xp  
XP_Knife register_cvar "XP_knife_bonus" "8" )  
//we just opened a new connection NVAULT connection  
// we will call it animod  
g_vault nvault_open "animod" )  
// register a say command to change class  
register_clcmd "say /class" "ChangeClass" )  
register_clcmd "say_team /class" "ChangeClass" )  
//show how much xp you have  
register_clcmd "say /xp" "ShowHud" )  
register_clcmd "say_team /xp" "ShowHud" )  


public 
eDeath id )  
{  
new 
headshot read_data )  
new 
attacker read_data )  
new 
clip ammo weapon get_user_weapon id clip ammo );  

PlayerXP attacker ] += get_pcvar_num XP_Kill )  

if( 
headshot )  
PlayerXP attacker ] += get_pcvar_num XP_Hs )  

if( 
weapon == CSW_KNIFE )  
PlayerXP attacker ] += get_pcvar_num XP_Knife )  


while( 
PlayerXP attacker ] >= LEVELS PlayerLevel attacker ]])  
{  
PlayerLevel attacker ] += 1  
client_print 
attacker print_chat "[LifMod] Congratulations! You are a level %i %s!" PlayerLevel attacker ], CLASSES PlayerClass attacker ]])  
}  
ShowHud attacker )  
SaveData attacker )  



public 
ShowHud id )  
{  
set_hudmessage 255 0.75 0.01 6.0 15.0 )  
show_hudmessage id "Level: %i^nXP: %i^nClass: %s" PlayerLevel id ], PlayerXP id ], CLASSES PlayerClass id ]])  


public 
ChangeClass id )  
{  
new 
menu menu_create "Class Menu" "Class_Handle" );  
menu_additem menu "Dog" "1" );  
menu_additem menu "Cat" "2" );  
menu_additem menu "Horse" "3" );  
menu_additem menu "Admin" "4" );  

menu_setprop menu MPROP_EXIT MEXIT_ALL );  

menu_display id menu );  

return 
PLUGIN_CONTINUE ;  


public 
Class_Handle id menu item )  
{  
if( 
item == MENU_EXIT )  
{  

menu_destroy menu );  

}  

new 
szCommand ] , szName 64 ];  
new 
access callback ;  

menu_item_getinfo menu item access szCommand szName 63 callback );  

new 
str_to_num szCommand )  
if( 
PlayerClass id ] != )  
{  
PlayerClass id ] = i  
client_print 
id print_chat "You are now a %s" CLASSES ])  
}  
else  
{  
client_print id print_chat "You are alredy a %s" CLASSES ])  
}  

menu_destroy menu );  
return 
PLUGIN_CONTINUE  


public 
client_connect id )  
{  
// Only does it if xp saving is on  
if( get_pcvar_num SaveXP ) == )  
{  
// load your player data  
LoadData id )  
}  


public 
client_disconnect id )  
{  
// Only does it if xp saving is on  
if( get_pcvar_num SaveXP ) == )  
{  
// lets save the data  
SaveData id )  
}  


public 
SaveData id )  
{  
new 
AuthID 35 ]  
get_user_authid id AuthID 34 )  

new 
vaultkey 64 ], vaultdata 256 ]  
format vaultkey 63 "%s-Mod" AuthID )  
format vaultdata 255 "%i#%i#" PlayerXP id ], PlayerLevel id ])  
nvault_set g_vault vaultkey vaultdata )  
return 
PLUGIN_CONTINUE  


public 
LoadData id )  
{  
new 
AuthID 35 ]  
get_user_authid id AuthID 34 )  

new 
vaultkey 64 ], vaultdata 256 ]  
format vaultkey 63 "%s-Mod" AuthID )  
format vaultdata 255 "%i#%i#" PlayerXP id ], PlayerLevel id ])  
nvault_get g_vault vaultkey vaultdata 255 )  

replace_all vaultdata 255 "#" " " )  

new 
playerxp 32 ], playerlevel 32 ]  

parse vaultdata playerxp 31 playerlevel 31 )  

PlayerXP id ] = str_to_num playerxp )  
PlayerLevel id ] = str_to_num playerlevel )  

return 
PLUGIN_CONTINUE  


how delete from this plugin class , menu and add on XP title e.g 1 kill 10 XP, and 800 XP title serious player


All times are GMT -4. The time now is 22:02.

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