+- +-

+-User

Welcome, Guest.
Please login or register.
 
 
 

Login with your social network

Forgot your password?

Author Topic: Zombie XP and Levels Plugin  (Read 109 times)

0 Members and 1 Guest are viewing this topic.

SilverQuick

  • Not In Use
  • Newbie
  • *****
  • Posts: 7
  • Karma: +0/-0
    • View Profile
Zombie XP and Levels Plugin
« on: May 12, 2019, 01:47:21 am »
I made this plugin for the servers which is Zombie. Its is Xp and of levels.

#include < amxmodx >
#include < amxmisc >
#include < fvault >
 
#define PLUGIN  "Zombie XP"
#define VERSION "1.0 Beta"
#define AUTHOR  "SilverQuick"
 
#define SAVE_FILE_NAME  "ZPXP_fVault"
#define MAX_LEVEL   10
 
new g_PlayerName [ 33 ] [ 32 ];
new g_Experience [ 33 ], g_Level [ 33 ];
new g_CvarAmmoPacksDamage;
 
new const ExperienceNeed [ MAX_LEVEL ] =
{
    0,  //  Level 1
    500,    //  Level 2
    1000,   //  Level 3
    2000,   //  Level 4
    3500,   //  Level 5
    4000,   //  Level 6
    5500,   //  Level 7
    6300,   //  Level 8
    7200,   //  Level 9
    9000,   //  Level 10
}
 
public plugin_init ( )
{
    register_plugin ( PLUGIN, VERSION, AUTHOR );
    register_cvar ( "zombie_xp_silverquick", VERSION, FCVAR_SERVER|FCVAR_SPONLY );
    set_cvar_string ( "zombie_xp_silverquick", VERSION );
 
    g_CvarAmmoPacksDamage = register_cvar ( "zp_xp_damage_for_experience", "500" );
 
    register_event ( "Damage", "Event_UserMakeDamage", "b", "2!=0" );
    register_event ( "DeathMsg", "Event_UserKillSomeone", "a" );
}
 
public plugin_natives ( )
{
    register_native ( "zpxp_set_experience", "_set_experience", 1 );
    register_native ( "zpxp_get_experience", "_get_experience", 1 );
    register_native ( "zpxp_set_level", "_set_level", 1 );
    register_native ( "zpxp_get_level", "_get_level", 1 );
}
 
public _set_experience ( Player, Amount )
{
    if ( !is_user_connected ( Player ) )
        return;
 
    g_Experience [ Player ] += Amount;
 
    check_user_level ( Player );
}
 
public _get_experience ( Player )
{
    return g_Experience [ Player ];
}
 
public _set_level ( Player, Level )
{
    if ( !is_user_connected ( Player ) )
        return;
 
    if ( Level > MAX_LEVEL )
        return;
 
    g_Level [ Player ] = Level;
 
    g_Experience [ Player ] = ExperienceNeed [ g_Level [ Player ] ];
}
 
public _get_level ( Player )
{
    return g_Level [ Player ];
}
 
public Event_UserMakeDamage ( Player )
{
    new Damage = read_data ( 2 );
    new ID = get_user_attacker ( Player );
 
    if ( ID == Player || !ID || !is_user_alive ( ID ) )
        return;
 
    while ( Damage >= get_pcvar_num ( g_CvarAmmoPacksDamage ) )
    {
        Damage -= get_pcvar_num ( g_CvarAmmoPacksDamage );
        g_Experience [ ID ] += random_num ( 1, 3 );
    }
 
    check_user_level ( ID );
 
}
 
 
public Event_UserKillSomeone ( )
{
    new Attacker;   Attacker = read_data ( 1 );
    new Victim; Victim = read_data ( 2 );
 
    if ( Attacker == Victim || !Attacker || !is_user_alive ( Attacker ) )
        return;
 
    g_Experience [ Attacker ] += 20;
 
    check_user_level ( Attacker );
}
 
public check_user_level ( Player )
{
    if ( g_Level [ Player ] < MAX_LEVEL )
    {
        while ( g_Experience [ Player ] >= ExperienceNeed [ g_Level [ Player ] ] )
        {
            g_Level [ Player ]++;
        }
    }
 
    save_user_data ( Player );
}
 
public client_connect ( Player )
{
    if ( is_user_bot ( Player ) || is_user_hltv ( Player ) )
        return;
 
    get_user_name ( Player, g_PlayerName [ Player ], charsmax ( g_PlayerName ) );
 
    load_user_data ( Player );
}
 
public client_disconnect ( Player )
{
    if ( is_user_bot ( Player ) || is_user_hltv ( Player ) )
        return;
 
    save_user_data ( Player );
}
 
public save_user_data ( Player )
{
    new g_String [ 32 ];
    formatex ( g_String, charsmax ( g_String ), "%s %s", g_Level [ Player ], g_Experience [ Player ] );
 
    fvault_set_data ( SAVE_FILE_NAME, g_PlayerName [ Player ], g_String );
}
 
public load_user_data ( Player )
{
    new g_String [ 32 ];
   
    if ( fvault_get_data ( SAVE_FILE_NAME, g_PlayerName [ Player ], g_String, charsmax ( g_String ) ) )
    {
        // a = level | b = experience
        new a [ 16 ], b [ 16 ];
        parse ( g_String, a, charsmax ( a ), b, charsmax ( b ) );
 
        g_Level [ Player ] = str_to_num ( a );
        g_Experience [ Player ] = str_to_num ( b );
    }
    else
    {
        g_Level [ Player ] = 0;
        g_Experience [ Player ] = 0;
    }
}

« Last Edit: May 12, 2019, 01:31:01 pm by DON KHAN »

Share on Facebook Share on Twitter


DON KHAN

  • My Bio
  • FoundeR
  • Hero Member
  • *****
  • Posts: 5046
  • Karma: +0/-0
  • Gender: Male
  • Scriptor, Model Editor, Bug Fixer And Student
  • Location: Karachi
    • View Profile
    • Ro{Y}aL WarLanD Community
Re: Zombie XP and Levels Plugin
« Reply #1 on: May 12, 2019, 01:30:31 pm »
Good Job.

But This Is Not Section For This You Should Upload It On Approved Plugins :D

Well You Should Add This Code In
Code: [Select]
And Also Post SMA File And AMXX File By Uploading On Media Fire
« Last Edit: May 12, 2019, 01:34:44 pm by DON KHAN »
Selling Mods.
PM Me If You Want Any Plugin.
Facebook:- https://www.facebook.com/cs.pro.usman
Youtube:- PC Gaming And Technology With Usman
My Introduction:- Muslim, Student, Scriptor At Counter Strike 1.6, Bug Fixer And Model Editor.
To Download Any Game Visit Here:- http://crazygamers.ucoz.net/

 

+-Recent Topics

5 ways to make money from playing games by Martha Louise
February 21, 2023, 01:47:19 am

Need mod :/ by bacem
October 13, 2019, 05:49:09 am

Rules by DON KHAN
August 28, 2019, 01:50:29 pm

[REQ] VIP are knife and all see this by DON KHAN
August 20, 2019, 12:56:37 pm

Advance VIP Menu [Public, CSDM & Furien] by DON KHAN
June 22, 2019, 11:50:05 am

For Umbrella Swarm mod by DON KHAN
June 22, 2019, 08:13:26 am

[ZP] VIP Model by DON KHAN
June 17, 2019, 08:57:35 am

[ZP] SVIP Plugin by DON KHAN
June 13, 2019, 11:43:24 am

Updates / Helpful BBC Codes For Your Post by DON KHAN
June 09, 2019, 03:01:39 am

BHOP Script by DON KHAN
June 08, 2019, 01:40:41 pm