Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

XP Mod


  • Zamknięty Temat jest zamknięty
2 odpowiedzi w tym temacie

#1 dakashi303

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:12
  • Lokalizacja:KrK
Offline

Napisano 27.02.2010 10:58

Witam :)
Napisałem plugin naliczający XP, lecz coś nie nalicza tego EXP'a :(


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

#define PLUGIN "Deathrun XP Mod"
#define VERSION "1.0"
#define AUTHOR "Dakashi"

new PlayerXP[33], PlayerLevel[33]
new XP_Kill, XP_Knife, XP_Hs, SaveXP
new g_vault

new bool:gHp[33]
new gCostHp

new const LEVELS[11] =
{
0,
2,
10,
25,
50,
75,
100,
130,
160,
200,
250
}

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("DeathMsg", "eDeath", "a")
register_event("CurWeapon", "CurWeapon", "be", "1=1")
register_event("HLTV", "NewRound", "a", "1=0", "2=0")

SaveXP = register_cvar("dr_savexp", "1")
XP_Hs = register_cvar("dr_headshot_kill", "2")
XP_Kill = register_cvar("dr_normal_kill", "1")
XP_Knife = register_cvar("dr_knife_kill", "1")
gCostHp = register_cvar("dr_cost_hp", "5000")

g_vault = nvault_open("drxp")

register_clcmd("say /lvl", "ShowXP")
register_clcmd("say_team /lvl", "ShowXP")

register_clcmd("say /sklep", "shop")
register_clcmd("say_team /sklep", "shop")
}

public eDeath()
{
new attacker = read_data( 1 )

new headshot = read_data( 3 )
new clip, ammo, weapon = get_user_weapon(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]])
{
client_print(attacker, print_chat, "[XPMOD]Gratulacje! Zdobyles poziom %i", PlayerLevel[attacker])
PlayerLevel[attacker] += 1
}
ShowXP(attacker)
SaveData(attacker)
return PLUGIN_CONTINUE
}

public ShowXP(id)
{
set_hudmessage(0, 120, 100, 0.5, 0.5, 0, 6.0, 15.0)
show_hudmessage(id, "LVL: %i, EXP: %i", PlayerLevel[id], PlayerXP[id])
}

public client_connect(id)
{
if(get_pcvar_num(SaveXP) == 1)
{
LoadData(id)
}
gHp[id] = false;
}

public client_disconnect(id)
{
if(get_pcvar_num(SaveXP) == 1)
{
SaveData(id)
}
PlayerLevel[id] = 0
PlayerXP[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(vaultdata, 255, "#", " ")

new playerlevel[32], playerxp[32]
parse(vaultdata, playerxp, 31, playerlevel, 31)

PlayerXP[id] = str_to_num(playerxp)
PlayerLevel[id] = str_to_num(playerlevel)
return PLUGIN_CONTINUE
}

public set_gravity(id)
{
new Float:grav = 1.0
if(PlayerLevel[id] != 0)
{
grav-=PlayerLevel[id]*2
}
set_user_gravity(id, grav)
}

public set_speed(id)
{
new Float:speed = 250.0
if(PlayerLevel[id] != 0)
{
speed+=PlayerLevel[id]*2
}
set_user_maxspeed(id, speed)
}

public CurWeapon(id)
{
if(PlayerLevel[id] != 0)
{
set_gravity(id)
set_speed(id)
}
}

public NewRound(id)
{
gHp[id] = false
}

public shop(id)
{
new gShop = menu_create("Deathrun Shop:", "ShopHandler")

menu_additem(gShop, "\yHP +30", "1", 0)
menu_additem(gShop, "\y2", "2", 0)
menu_additem(gShop, "\y3", "3", 0)

menu_setprop(gShop, MPROP_EXIT, MEXIT_ALL)

menu_display(id, gShop, 0)

return PLUGIN_CONTINUE
}

public ShopHandler(id, gShop, item)
{
new szCommand[8], szName[64];
new acces, callback

menu_item_getinfo(gShop, item, acces, szCommand, 7, szName, 63, callback)

new i = str_to_num(szCommand)

switch(i)
{
case 1:
{
new gMoney = cs_get_user_money(id)
new szHealth = get_user_health(id)
if(!is_user_alive(id) || gHp[id] || gMoney < get_pcvar_num(gCostHp))
{
client_print(id, print_chat, "[DR SKLEP]Nie mozesz kupic HP")
}
else
{
cs_set_user_money(id, gMoney - get_pcvar_num(gCostHp))
set_user_health(id, szHealth + 30)
client_print(id, print_chat, "[DR SKLEP]Kupiles HP!")
gHp[id] = true
}
}

case 2:
{

}

case 3:
{

}
}
}


  • +
  • -
  • 0

#2 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 27.02.2010 11:24

Napisałem plugin naliczający XP, lecz coś nie nalicza tego EXP'a :(

A czym się to objawia ? Jakie są problemy ? Daj więcej informacji.
  • +
  • -
  • 0

#3 dakashi303

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:12
  • Lokalizacja:KrK
Offline

Napisano 27.02.2010 11:50

Już rozwiązałem problem z naliczaniem ;P Można zamknąć
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych