AlliedModders

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

SaM.ThE.MaN 06-02-2010 03:24

set_user_hp
 
PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <nvault>
#include <fun>

#define PLUGIN "Level Plugin"
#define VERSION "0.1"
#define AUTHOR "SaMThEMaN"

new PlayerXP[33]
new 
PlayerLevel[33]

new const 
LEVELS[100] = 
  {
    
1
    
2
    
4
    
8,
    
10,
    
20,
    
30,
    
40,
    
50,
    
60,
    
70,
    
80,
    
90,
    
100,
    
110,
    
120,
    
130,
    
140,
    
150,
    
160,
    
170,
    
180,
    
190,
    
200,
    
210,
    
220,
    
230,
    
240,
    
250,
    
260,
    
270,
    
280,
    
290,
    
300,
    
310,
    
320,
    
330,
    
340,
    
350,
    
360,
    
370,
    
380,
    
390,
    
400,
    
410,
    
420,
    
430,
    
440,
    
450,
    
460,
    
470,
    
480,
    
490,
    
500,
    
510,
    
520,
    
530,
    
540,
    
550,
    
560,
    
570,
    
580,
    
590,
    
600,
    
610,
    
620,
    
630,
    
640,
    
650,
    
660,
    
670,
    
680,
    
690,
    
700,
    
710,
    
720,
    
730,
    
740,
    
750,
    
760,
    
770,
    
780,
    
790,
    
800,
    
810,
    
820,
    
830,
    
840,
    
850,
    
860,
    
870,
    
880,
    
890,
    
900,
    
910,
    
920,
    
930,
    
940,
    
950,
    
960,
  }

new 
msgtext,SaveXP,g_vault

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_cvar("sv_Leveler""1")
    
register_event("DeathMsg""DeathMsg""a")
    
register_event("Health""Health""be"
    
register_clcmd("say /level""Level")
    
register_clcmd("say_team /level""Level")
    
register_cvar("XP_per_kill""1")
    
SaveXP register_cvar("SaveXP","1")
    
g_vault nvault_open("Sammod")
}

public 
Level(id)
{
client_print(idprint_chat"^x04[Leveler] You are level %d and you have  %d XP"PlayerLevel[id], PlayerXP[id])
}

public 
Health(id)
{
if (
PlayerLevel[id] == 1)
{
    
get_user_health(id)
    
set_user_health(id101)
}
if (
PlayerLevel[id] == 2)
    {
    
get_user_health(id)
    
set_user_health(id102)
}
if (
PlayerLevel[id] == 3)
    {
    
get_user_health(id)
    
set_user_health(id103)
}
if (
PlayerLevel[id] == 4)
    {
    
get_user_health(id)
    
set_user_health(id104)
}
if (
PlayerLevel[id] == 5)
    {
    
get_user_health(id)
    
set_user_health(id105)
}
if (
PlayerLevel[id] == 6)
    {
    
get_user_health(id)
    
set_user_health(id106)
 }
if (
PlayerLevel[id] == 7)
    {
    
get_user_health(id)
    
set_user_health(id107)
}
if (
PlayerLevel[id] == 8)
    {
    
get_user_health(id)
    
set_user_health(id108)
}
if (
PlayerLevel[id] == 9)
    {
    
get_user_health(id)
    
set_user_health(id109)
}
if (
PlayerLevel[id] == 10)
    {
    
get_user_health(id)
    
set_user_health(id110)
}
if (
PlayerLevel[id] == 11)
    {
    
get_user_health(id)
    
set_user_health(id111)
}
if (
PlayerLevel[id] == 12)
    {
    
get_user_health(id)
    
set_user_health(id112)
}
if (
PlayerLevel[id] == 13)
    {
    
get_user_health(id)
    
set_user_health(id113)
}
if (
PlayerLevel[id] == 14)
    {
    
get_user_health(id)
    
set_user_health(id114)
}
if (
PlayerLevel[id] == 15)
    {
    
get_user_health(id)
    
set_user_health(id115)
}
if (
PlayerLevel[id] == 16)
    {
    
get_user_health(id)
    
set_user_health(id116)
}
if (
PlayerLevel[id] == 17)
    {
    
get_user_health(id)
    
set_user_health(id117)
}
if (
PlayerLevel[id] == 18)
    {
    
get_user_health(id)
    
set_user_health(id118)
}
if (
PlayerLevel[id] == 19)
    {
    
get_user_health(id)
    
set_user_health(id119)
}
if (
PlayerLevel[id] == 20)
    {
    
get_user_health(id)
    
set_user_health(id120)
}
if (
PlayerLevel[id] == 21)
    {
    
get_user_health(id)
    
set_user_health(id121)
}
if (
PlayerLevel[id] == 22)
    {
    
get_user_health(id)
    
set_user_health(id122)
}
if (
PlayerLevel[id] == 23)
    {
    
get_user_health(id)
    
set_user_health(id123)
}
if (
PlayerLevel[id] == 24)
    {
    
get_user_health(id)
    
set_user_health(id124)
}
if (
PlayerLevel[id] == 25)
    {
    
get_user_health(id)
    
set_user_health(id125)
}
if (
PlayerLevel[id] == 26)
    {
    
get_user_health(id)
    
set_user_health(id126)
}
if (
PlayerLevel[id] == 27)
    {
    
get_user_health(id)
    
set_user_health(id127)
}
if (
PlayerLevel[id] == 28)
    {
    
get_user_health(id)
    
set_user_health(id128)
}
if (
PlayerLevel[id] == 29)
    {
    
get_user_health(id)
    
set_user_health(id129)
}
if (
PlayerLevel[id] == 30)
    {
    
get_user_health(id)
    
set_user_health(id130)
}
if (
PlayerLevel[id] == 31)
    {
    
get_user_health(id)
    
set_user_health(id131)
}
if (
PlayerLevel[id] == 32)
    {
    
get_user_health(id)
    
set_user_health(id132)
}
if (
PlayerLevel[id] == 33)
    {
    
get_user_health(id)
    
set_user_health(id133)
}
if (
PlayerLevel[id] == 34)
    {
    
get_user_health(id)
    
set_user_health(id134)
}
if (
PlayerLevel[id] == 35)
    {
    
get_user_health(id)
    
set_user_health(id135)
}
if (
PlayerLevel[id] == 36)
    {
    
get_user_health(id)
    
set_user_health(id136)
}
if (
PlayerLevel[id] == 37)
    {
    
get_user_health(id)
    
set_user_health(id137)
}
if (
PlayerLevel[id] == 38)
    {
    
get_user_health(id)
    
set_user_health(id138)
}
if (
PlayerLevel[id] == 39)
    {
    
get_user_health(id)
    
set_user_health(id139)
}
if (
PlayerLevel[id] == 40)
    {
    
get_user_health(id)
    
set_user_health(id140)
}
if (
PlayerLevel[id] == 41)
    {
    
get_user_health(id)
    
set_user_health(id141)
}
if (
PlayerLevel[id] == 42)
    {
    
get_user_health(id)
    
set_user_health(id142)
}
if (
PlayerLevel[id] == 43)
    {
    
get_user_health(id)
    
set_user_health(id143)
}
if (
PlayerLevel[id] == 44)
    {
    
get_user_health(id)
    
set_user_health(id144)
}
if (
PlayerLevel[id] == 45)
    {
    
get_user_health(id)
    
set_user_health(id145)
}
if (
PlayerLevel[id] == 46)
    {
    
get_user_health(id)
    
set_user_health(id146)
}
if (
PlayerLevel[id] == 47)
    {
    
get_user_health(id)
    
set_user_health(id147)
}
if (
PlayerLevel[id] == 48)
    {
    
get_user_health(id)
    
set_user_health(id148)
}
if (
PlayerLevel[id] == 49)
    {
    
get_user_health(id)
    
set_user_health(id149)
}
if (
PlayerLevel[id] == 50)
    {
    
get_user_health(id)
    
set_user_health(id150)
}
if (
PlayerLevel[id] == 51)
    {
    
get_user_health(id)
    
set_user_health(id151)
}
if (
PlayerLevel[id] == 52)
    {
    
get_user_health(id)
    
set_user_health(id152)
}
if (
PlayerLevel[id] == 53)
    {
    
get_user_health(id)
    
set_user_health(id153)
}
if (
PlayerLevel[id] == 54)
    {
    
get_user_health(id)
    
set_user_health(id154)
}
if (
PlayerLevel[id] == 55)
    {
    
get_user_health(id)
    
set_user_health(id155)
}
if (
PlayerLevel[id] == 56)
    {
    
get_user_health(id)
    
set_user_health(id156)
}
if (
PlayerLevel[id] == 57)
    {
    
get_user_health(id)
    
set_user_health(id157)
}
if (
PlayerLevel[id] == 58)
    {
    
get_user_health(id)
    
set_user_health(id158)
}
if (
PlayerLevel[id] == 59)
    {
    
get_user_health(id)
    
set_user_health(id159)
}
if (
PlayerLevel[id] == 60)
    {
    
get_user_health(id)
    
set_user_health(id160)
}
if (
PlayerLevel[id] == 61)
    {
    
get_user_health(id)
    
set_user_health(id161)
}
if (
PlayerLevel[id] == 62)
    {
    
get_user_health(id)
    
set_user_health(id162)
}
if (
PlayerLevel[id] == 63)
    {
    
get_user_health(id)
    
set_user_health(id163)
}
if (
PlayerLevel[id] == 64)
    {
    
get_user_health(id)
    
set_user_health(id164)
}
if (
PlayerLevel[id] == 65)
    {
    
get_user_health(id)
    
set_user_health(id165)
}
if (
PlayerLevel[id] == 66)
    {
    
get_user_health(id)
    
set_user_health(id166)
}
if (
PlayerLevel[id] == 67)
    {
    
get_user_health(id)
    
set_user_health(id167)
}
if (
PlayerLevel[id] == 68)
    {
    
get_user_health(id)
    
set_user_health(id168)
}
if (
PlayerLevel[id] == 69)
    {
    
get_user_health(id)
    
set_user_health(id169)
}
if (
PlayerLevel[id] == 70)
    {
    
get_user_health(id)
    
set_user_health(id170)
}
if (
PlayerLevel[id] == 71)
    {
    
get_user_health(id)
    
set_user_health(id171)
}
if (
PlayerLevel[id] == 72)
    {
    
get_user_health(id)
    
set_user_health(id172)
}
if (
PlayerLevel[id] == 73)
    {
    
get_user_health(id)
    
set_user_health(id173)
}
if (
PlayerLevel[id] == 74)
    {
    
get_user_health(id)
    
set_user_health(id174)
}
if (
PlayerLevel[id] == 75)
    {
    
get_user_health(id)
    
set_user_health(id175)
}
if (
PlayerLevel[id] == 76)
    {
    
get_user_health(id)
    
set_user_health(id176)
}
if (
PlayerLevel[id] == 77)
    {
    
get_user_health(id)
    
set_user_health(id177)
}
if (
PlayerLevel[id] == 78)
    {
    
get_user_health(id)
    
set_user_health(id178)
}
if (
PlayerLevel[id] == 79)
    {
    
get_user_health(id)
    
set_user_health(id179)
}
if (
PlayerLevel[id] == 80)
    {
    
get_user_health(id)
    
set_user_health(id180)
}
if (
PlayerLevel[id] == 81)
    {
    
get_user_health(id)
    
set_user_health(id181)
}
if (
PlayerLevel[id] == 82)
    {
    
get_user_health(id)
    
set_user_health(id182)
}
if (
PlayerLevel[id] == 83)
    {
    
get_user_health(id)
    
set_user_health(id183)
}
if (
PlayerLevel[id] == 84)
    {
    
get_user_health(id)
    
set_user_health(id184)
}if (
PlayerLevel[id] == 85)
    {
    
get_user_health(id)
    
set_user_health(id185)
}
if (
PlayerLevel[id] == 86)
    {
    
get_user_health(id)
    
set_user_health(id186)
}
if (
PlayerLevel[id] == 87)
    {
    
get_user_health(id)
    
set_user_health(id187)
}
if (
PlayerLevel[id] == 88)
    {
    
get_user_health(id)
    
set_user_health(id188)
}
if (
PlayerLevel[id] == 89)
    {
    
get_user_health(id)
    
set_user_health(id189)
}
if (
PlayerLevel[id] == 90)
    {
    
get_user_health(id)
    
set_user_health(id190)
}
if (
PlayerLevel[id] == 91)
    {
    
get_user_health(id)
    
set_user_health(id191)
}
if (
PlayerLevel[id] == 92)
    {
    
get_user_health(id)
    
set_user_health(id192)
}
if (
PlayerLevel[id] == 93)
    {
    
get_user_health(id)
    
set_user_health(id193)
}
if (
PlayerLevel[id] == 94)
    {
    
get_user_health(id)
    
set_user_health(id194)
}
if (
PlayerLevel[id] == 95)
    {
    
get_user_health(id)
    
set_user_health(id195)
}
if (
PlayerLevel[id] == 96)
    {
    
get_user_health(id)
    
set_user_health(id196)
}
if (
PlayerLevel[id] == 97)
    {
    
get_user_health(id)
    
set_user_health(id197)
}
if (
PlayerLevel[id] == 98)
    {
    
get_user_health(id)
    
set_user_health(id198)
}
if (
PlayerLevel[id] == 99)
    {
    
get_user_health(id)
    
set_user_health(id199)
}
if (
PlayerLevel[id] == 100)
    {
    
get_user_health(id)
    
set_user_health(id200)
 }
}

public 
client_connect(id)
{
    if(
get_pcvar_num(SaveXP) == 1)
    {
 
        
LoadData(id)
    }
}
public 
client_disconnect(id)
{
    if(
get_pcvar_num(SaveXP) == 1)
    {
 
        
SaveData(id)
    }
    
PlayerXP[id] = 0
    PlayerLevel
[id] = 0
}
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(vaultdata255"#"" ")
 
    new 
playerxp[32], playerlevel[32]
 
    
parse(vaultdataplayerxp31playerlevel31)
 
    
PlayerXP[id] = str_to_num(playerxp)
    
PlayerLevel[id] = str_to_num(playerlevel)
 
    return 
PLUGIN_CONTINUE
}  

public 
DeathMsg()
{
if(
get_cvar_num("sv_Leveler") == 0
{
return 
PLUGIN_HANDLED
}
    new 
attacker read_data(1)

    
PlayerXP[attacker] += get_cvar_num("XP_per_kill")

    if(
PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]]) {
    
PlayerLevel[attacker] += 1

    client_print
(attackerprint_chat"[Leveler] Congratulations! You are now level [%d]!"PlayerLevel[attacker])
    if(
get_cvar_num("SaveXP") == 1) {
 
             
SaveData(attacker)
         }
         
ShowHUD(attacker)
    }   
    
ShowHUD(attacker)
    
    return 
PLUGIN_CONTINUE
}

public 
ShowHUD(id)    

    new 
HUD[51
    
    
//This is the stuff that will actually show in game.
    
format(HUD50"Level: %i XP: %i"PlayerLevel[id], PlayerXP[id]) 

    
message_begin(MSG_ONEmsgtext, {0,0,0}, id
    
write_byte(0
    
write_string(HUD
    
message_end() 
    return



Alucard^ 06-02-2010 04:11

Re: set_user_hp
 
Just use get_user_health(id) from amxmodx.inc And set_user_health(id, "amount value here") from fun.inc

SaM.ThE.MaN 06-02-2010 07:07

Re: set_user_hp
 
just like always , i got another problem , it doesnt show my new hp , I mean when i level up i am lvl 1 and have 101 hp, but it still shows 100 . I want it to show my current hp , i have get_user_hp so its supposed to show my hp but it doesnt , lil help...

SonicSonedit 06-02-2010 14:03

Re: set_user_hp
 
Quote:

if (PlayerLevel[id] == 78)
{
get_user_health(id)
set_user_health(id, 178)
}
if (
PlayerLevel[id] == 79)
{
get_user_health(id)
set_user_health(id, 179)
}
if (
PlayerLevel[id] == 80)
{
get_user_health(id)
set_user_health(id, 180)
}
blahblahblah...

Instead of all of this, just use this:

Quote:

public Health(id)
{

set_user_health(id, get_user_health(id)+PlayerLevel[id])
}



SaM.ThE.MaN 06-02-2010 14:18

Re: set_user_hp
 
will it show my real hp , cause when i am lvl 2 , i have 102 hp but it only shows as 100.

SonicSonedit 06-02-2010 14:35

Re: set_user_hp
 
You better use HUD messages for that, like in Zombie Plague, 2 reasons:
1) you have to refresh HUD manually
2) HUD can only show up to 255 health, if you'll have more than 255 it will get bugged

SaM.ThE.MaN 06-02-2010 16:17

Re: set_user_hp
 
In a server they have something similar , but they dont use HUD, and the hp is shown properly...

drekes 06-02-2010 17:05

Re: set_user_hp
 
then you have to refresh hud manually like SonicSonedit said.

DruGzOG 06-02-2010 19:59

Re: set_user_hp
 
Quote:

Originally Posted by SonicSonedit (Post 1198154)
You better use HUD messages for that, like in Zombie Plague, 2 reasons:
1) you have to refresh HUD manually
2) HUD can only show up to 255 health, if you'll have more than 255 it will get bugged

Hud can show more than 255.

Alucard^ 06-02-2010 23:06

Re: set_user_hp
 
Quote:

Originally Posted by DruGzOG (Post 1198450)
Hud can show more than 255.

Maybe he is talking about the default HUD that the health is displayed (in the bottom).


All times are GMT -4. The time now is 05:27.

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