AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   collect all lvls (https://forums.alliedmods.net/showthread.php?t=82635)

tor0en 12-26-2008 23:16

collect all lvls
 
hey i have meny skills that have meny lvls.... and i want to check how meny lvls i have total how do i do this?

is this almost it?

Code:

if(TotalLevel[attacker] TotalLevel[33] += StrLevel[33] && DefLevel[33][TotalLevel[attacker]]){
Level[attacker] += 1
ShowHud(attacker)
}

help please it comes error...

SnoW 12-27-2008 06:32

Re: collect all lvls
 
Show full code.

Spunky 12-27-2008 14:21

Re: collect all lvls
 
PHP Code:

if(TotalLevel[attackerTotalLevel[33] += StrLevel[33

Should probably be:

PHP Code:

if (TotalLevel[attacker] == TotalLevel[33] += StrLevel[33


Hawk552 12-28-2008 19:56

Re: collect all lvls
 
Quote:

Originally Posted by Spunky (Post 734111)
PHP Code:

if(TotalLevel[attackerTotalLevel[33] += StrLevel[33

Should probably be:

PHP Code:

if (TotalLevel[attacker] == TotalLevel[33] += StrLevel[33


No, this code is just totally invalid. If "TotalLevel[33]" and "StrLevel[33]" made any sense, then it would actually be:

Code:
if(TotalLevel[attacker] == TotalLevel[33] + StrLevel[33])

The following expressions are equivalent:

Code:
var1 += var2 var1 = var1 + var2

So although the code would compile (again, assuming TotalLevel[33] and StrLevel[33] made any sense), it wouldn't do what he wanted.

tor0en 12-29-2008 10:26

Re: collect all lvls
 
here is my code:

Code:

#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fakemeta>
#include <hamsandwich>
#include <fakemeta_util>


new HpXp[33]
new StrXp[33]
new DefXp[33]
new AttXp[33]
new TotalXp[33]
new HpLevel[33]
new StrLevel[33]
new DefLevel[33]
new AttLevel[33]
new Level[33]
new max_players
new g_vault
new TotalLevel[33]

new const Levels[99] = {
        0,
        200,
        400,
        600,
        800,
        1000,
        1250,
        1500,
        1750,
        2000,
        2250,
        2500,
        2750,
        3000,
        3300,
        3600,
        3900,
        4200,
        4500,
        5000,
        5500,
        6000,
        7500,
        8000,
        8500,
        9000,
        9500,
        10000,
        10500,
        11000,
        11500,
        12000,
        12500,
        13000,
        13500,
        14000,
        14500,
        15000,
        15500,
        16000,
        16500,
        17000,
        17500,
        18000,
        18500,
        19000,
        19500,
        20000,
        20500,
        21000,
        21500,
        22000,
        22500,
        23000,
        23500,
        24000,
        25000,
        26000,
        27000,
        28000,
        29000,
        30000,
        31000,
        32000,
        33000,
        34000,
        35000,
        36000,
        37000,
        38000,
        39000,
        40000,
        41000,
        42000,
        43000,
        44000,
        45000,
        46000,
        47000,
        48000,
        49000,
        50000,
        51500,
        53000,
        54500,
        56000,
        57500,
        59000,
        60500,
        62000,
        65000,
        68000,
        71000,
        74000,
        77000,
        80000,
        85000,
        90000,
        95000
        //100000,
}




new const CombatLevels[40] = {
        3,
        9,
        12,
        15,
        18,
        21,
        24,
        27,
        30,
        33,
        36,
        39,
        42,
        45,
        48,
        51,
        54,
        57,
        60,
        63,
        66,
        69,
        72,
        75,
        78,
        81,
        84,
        87,
        90,
        93,
        96,
        99,
        102,
        105,
        108,
        111,
        114,
        117,
        120,
        123
}

new pc_head,pc_normal,pc_knife


public plugin_init() {
        register_plugin("Runescape Mod", "0.1", "Tor0en")
        g_vault = nvault_open("Rs")
       
        register_event( "DeathMsg", "Death", "a")
       
        RegisterHam(Ham_Spawn, "player", "event_spawn", 1)

        pc_head                = register_cvar("Rs_Xp_Head", "30")
        pc_normal        = register_cvar("Rs_Xp_NormalXp", "20")
        pc_knife        = register_cvar("Rs_Xp_KnifeKill", "40")
       
        register_clcmd( "say /RS","RunesScapeStat")
        register_clcmd( "say_team /RS","RunesScapeStat")
       
        register_logevent("R_End", 2, "1=Round_End")
        max_players = get_maxplayers()
}


public ShowHud(id)
{
        set_hudmessage(255, 0, 0, 0.0, 0.1, 0, 6.0, 9999.0)
        show_hudmessage(id, "Combat LvL: %i ^nTotal Lvl:      %i^nTotal Xp: %i      ^nHitPoint Lvl: %i^nHitPoint Xp: %i  ^nAttack Lvl: %i  ^nAttack Xp: %i  ^nStrength Lvl: %i^nStrength Xp: %i^nDefence Lvl: %i^nDefence Xp: %i",TotalLevel[id],TotalLevel[id],HpLevel[id],HpXp[id],AttLevel[id],AttXp[id],StrLevel[id],StrXp[id],DefLevel[id],DefXp[id])
}

public R_End()
{
        new id,Float:health
        for(new i;i<=max_players;i++)
        {
                id = i
                if(is_user_alive(id))
                {
                        //gets his health its a float
                        pev(id,pev_health,health)
                       
                        DefXp[id] = 100-floatround(health)
                }
        }
}



public Death( )
{
        new iVictim = read_data( 2 )
        new weapon, hitplace, attacker = get_user_attacker(iVictim,weapon,hitplace)
        //get the victim,gun,hitplace and attacker
       
        if(hitplace == HIT_HEAD)AttXp[attacker] += get_pcvar_num(pc_head)
       
        if(hitplace != HIT_HEAD && hitplace)HpXp[attacker] += get_pcvar_num(pc_normal)
       
       
        if(weapon == CSW_KNIFE)StrXp[attacker] += get_pcvar_num(pc_knife)
       
        if(DefXp[attacker] >= Levels[DefLevel[attacker]])
        {
                DefLevel[attacker] += 1
                client_print(attacker, print_chat, "[Runescape] Congratulations! You are now Defence Level %i!", DefLevel[attacker])
        }
       
        if(Level[attacker] >= CombatLevels[Level[attacker]])
        {
                Level[attacker] += 1
                client_print(attacker, print_chat, "[Runescape] Congratulations! You are now Combat Level %i!", Level[attacker])
        }
       
       
        if(StrXp[attacker] >= Levels[StrLevel[attacker]])
        {
                StrLevel[attacker] += 1
                TotalLevel[attacker] += 1
                client_print(attacker, print_chat, "[Runescape] Congratulations! You are now Strength Level %i!", StrLevel[attacker])
        }
       
        {
                StrLevel[attacker] += 1
                TotalLevel[attacker] += 1
                client_print(attacker, print_chat, "[Runescape] Congratulations! You are now Strength Level %i!", StrLevel[attacker])
        }
       
        if(AttXp[attacker] >= Levels[AttLevel[attacker]])
        {
                AttLevel[attacker] += 1
                TotalLevel[attacker] += 1
                client_print(attacker, print_chat, "[Runescape] Congratulations! You are now Attack Level %i!", AttLevel[attacker])
        }
       
        if(HpXp[attacker] >= Levels[HpLevel[attacker]])
        {
                HpLevel[attacker] += 1
                TotalLevel[attacker] += 1
                client_print(attacker, print_chat, "[Runescape] Congratulations! Your Hp Level is now %i!", HpLevel[attacker])
        }
        ShowHud(attacker)
}

       


public SaveData(id)
{
        new AuthID[35]
        get_user_authid(id,AuthID,34)
       
        new vaultkey[64],vaultdata[256]
        format(vaultkey,63,"%s-Rs",AuthID)
        format(vaultdata,255,"%i %i %i %i %i %i %i %i %i %i",TotalXp[id],HpXp[id],DefXp[id],StrXp[id],AttXp[id],DefLevel[id],StrLevel[id],AttLevel[id],HpLevel[id])
        nvault_set(g_vault,vaultkey,vaultdata)
        return PLUGIN_HANDLED


public LoadData(id)
{
        new AuthID[35]
        get_user_authid(id,AuthID,34)
       
        new vaultkey[64],vaultdata[256]
        format(vaultkey,63,"%s-Rs",AuthID)
        format(vaultdata,255,"%i %i %i %i %i %i %i %i %i %i ",HpXp[id],DefXp[id],StrXp[id],AttXp[id],DefLevel[id],StrLevel[id],AttLevel[id],HpLevel[id])
        nvault_get(g_vault,vaultkey,vaultdata,255)
       
        new playerhpxp[33],playerdefxp[33],playerattxp[33],playerstrxp[33],playerhplevel[33],playerattlevel[33],playerdeflevel[33],playerstrlevel[33]
        parse(vaultdata, playerhpxp, 32, playerdefxp, 32, playerattxp, 32, playerstrxp, 32, playerhplevel, 32, playerattlevel, 32, playerdeflevel, 32, playerstrlevel, 32)
       
        HpXp[id] = str_to_num(playerhpxp)
        StrXp[id] = str_to_num(playerstrxp)
        DefXp[id] = str_to_num(playerdefxp)
        AttXp[id] = str_to_num(playerattxp)
        HpLevel[id] = str_to_num(playerhplevel)
        StrLevel[id] = str_to_num(playerstrlevel)
        DefLevel[id] = str_to_num(playerdeflevel)
        AttLevel[id] = str_to_num(playerattlevel)
       
        return PLUGIN_HANDLED




public client_disconnect(id)
{
        SaveData(id)
        HpXp[id] = 0
        StrXp[id] = 0
        DefXp[id] = 0
        AttXp[id] = 0
        TotalXp[id] = 0
        HpLevel[id] = 0
        StrLevel[id] = 0
        DefLevel[id] = 0
        AttLevel[id] = 0
        Level[id] = 0


public client_putinserver(id)LoadData(id)

public event_spawn(id)
{
        if(!is_user_alive(id))return
       
        if(!HpLevel[id])HpLevel[id] = 10
        ShowHud(id)
        set_pev(id,pev_health,HpLevel[id]*10.0)
       
        if(!DefLevel[id])DefLevel[id] = 1
        fm_set_user_armor(id, DefLevel[id]*10)
        /*
        if(!StrLevel[id])StrLevel[id] = 1
        pev_takedamage(id, StrLevel[id]
        */
       

       
}



All times are GMT -4. The time now is 09:07.

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