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
 

dakashi303 - zdjęcie

dakashi303

Rejestracja: 18.10.2009
Aktualnie: Nieaktywny
Poza forum Ostatnio: 06.07.2010 18:06
-----

Moje tematy

XP Mod

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:
{

}
}
}

Blockmaker

16.02.2010 17:14

Witam. :)

Mam blockmakera by Necro + edytowany przeze mnie oraz bcm5 by Fatalis.
W BCM Fatalisa jest tak że strzałkę i trampoline można dotykaż z każdej strony(wtedy trampolina działa jak drabinka) i chciałbym to przenieść do Blockmakera lecz nie chce dawać mojego sma ;) Proszę wiec o przerobienie tego BM'a (załącznik) tak, aby można było korzystać z bloków (najważniejsza trampolina) dotykając ich nie tylko od góry.

Z góry dziękuję i obdarzę karmą ;)

Radar

06.12.2009 22:22

Witam.

Chce zrobic taki radar, ktory pokazuje najblizszego wroga w promieniu 20 metrow.
Tylko ze nie wiem jaka jest komenda na dystans :(
Powinno to wygladac tak:

Najblizszy wrog: name
Odleglosc: dystans

Jezeli nikogo nie ma w poblizu 20m to wiadomosc znika

Nie chodzi mi o to zeby mi caly plug napisac ;P
Tylko zebyscie mi podali funkcje:

Jezeli ktos jest w poblizu 20m to wyswietl hudmessage:
Najbliszzy wrog: name
Odleglosc: distance

Z gory thx za pomoc ;)

BlockMaker -> Drabinka

04.12.2009 18:35

Witam :)

Chodzi o Blockmaker.
Potrzebuję aby ktoś napisał mi cały action bloka drabiny tak aby można było po niej wychodzić.

Z góry dzięki za pomoc ;)

[ Dodano: 05-12-2009, 17:24 ]
@Refresh

XP Mod

18.10.2009 10:43

Nie wiedziałem gdzxie napisać więc pisze tu.

Bardzo bym prosił o napisanie pluginu exp:

-10 lvl'i
lvl 1: 0 xP
lvl 2: 5 xP
lvl 3: 15 xP
lvl 4: 30 xP
lvl 5: 60 xP
lvl 6: 120 xP
lvl 7: 240 xP
lvl 8: 480 xP
lvl 9: 600 xP
lvl 10: 750 xP
-za kazdy lvl wiecej hp na starcie:
lvl 1: 100 hp
lvl 2: 105 hp
lvl 3: 107 hp
lvl 4: 110 hp
lvl 5: 113 hp
lvl 6: 115 hp
lvl 7: 120 hp
lvl 8: 125 hp
lvl 9: 130 hp
lvl 10: 140 hp

-plugin musi być kompatybilny z BlockMaker'em
chodzi o to że jak sie normalnie doda hp i sie stanie na bloku ktory dodaje hp to resetuje hp do 100, a mi chodzi o to żeby się tak nie dzialo.

Bardzo bym prosił o napisanie takiego pluginu :help: