Moje pytanie brzmi. Jak zrobić by było 10 poziomów.
1 poziom - 0/10 doświadczenia 2 poziom - 10/30 doświadczenia 3 poziom - 30/60 doświadczenia 4 poziom - 60/100 doświadczenia 5 poziom - 100/150 doświadczenia 6 poziom - 150/210 doświadczenia 7 poziom - 210/280 doświadczenia 8 poziom - 280/350 doświadczenia 9 poziom - 350/430 doświadczenia 10 poziom - 430/500 doświadczenia
1 Poziom - +500HP i +20 obrażeń z każdej broni 2 Poziom - +500HP i +50 obrażeń z każdej broni 3 Poziom - +1000HP i +70 obrażeń z każdej broni 4 Poziom - +1500HP i +100 obrażeń z każdej broni 5 Poziom - +2000HP i +120 obrażeń z każdej broni 6 Poziom - +2500HP i +150 obrażeń z każdej broni 7 Poziom - +3000HP i +170 obrażeń z każdej broni 8 Poziom - +3500HP i +200 obrażeń z każdej broni 9 Poziom - +4000HP i +220 obrażeń z każdej broni 10 Poziom - +4500HP i +250 obrażeń z każdej broni
Za zabicie 2 doświadczenia. Za zabicie 2 poziomu 4 doświadczenia za 3 poziomu 6 za 4 poziomu 8 i tak co +2.
Chciał bym żeby to było w Hud. Lewy środek.
Poziom: X/X
Doświadczenie: X/X
Zycie: X
Obrazenia: +X
Te obrażenia nie muszą być.
Zapisywanie na Nick.
Jeśli to coś mocnego i trzeba zapłaty to proszę pisać PW lub GG: 11664261 (rzadko siedzę) lub STEAM: dbz_goku123 (mam steam 4 lata więc nie patrzeć na nick)
Zrobiłem tyle:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <engine>
#include <hamsandwich>
#include <nvault>
#include <ColorChat>
#define PLUGIN "PvP Mod"
#define VERSION "0.0.1"
#define AUTHOR "oeN."
#define OFFSET_PRIMARYWEAPON 116
#define ZADANIE_POKAZ_INFORMACJE 672
#define MAXLVL 500
new SyncHudObj;
new SyncHudObj3;
new g_vault;
new podkladajacy;
new rozbrajajacy;
new doswiadczenia_za_zabojstwo;
new doswiadczenie_za_bombe;
new nazwa_gracza[33][64];
new poziom_gracza[33] = 1;
new doswiadczenie_gracza[33];
new const doswiadczenie_poziomu[] = {0, 10, 30, 60, 100, 150, 210, 280, 350, 430, 500}
public plugin_init()
{
g_vault = nvault_open("PvPMod");
RegisterHam(Ham_Spawn, "player", "Player_Spawn_Post", 1)
register_logevent("PoczatekRundy", 2, "1=Round_Start");
register_logevent("BombaPodlozona", 3, "2=Planted_The_Bomb");
register_event("SendAudio", "BombaRozbrojona", "a", "2&%!MRAD_BOMBDEF");
register_event("BarTime", "RozbrajaBombe", "be", "1=10", "1=5");
register_forward(FM_PlayerPreThink, "PlayerPreThink")
register_forward(FM_UpdateClientData, "UpdateClientData_Post", 1)
register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
register_cvar("pvp_killxp", "2");
register_cvar("pvp_bombxp", "5");
doswiadczenia_za_zabojstwo = get_cvar_num("pvp_killxp");
doswiadczenie_za_bombe = get_cvar_num("pvp_bombxp");
}
public Player_Spawn_Post( id )
{
if( is_user_alive(id) )
ColorChat(0, GREEN, "^x04~[Hit4u] ^x01PvP Mod^x04 --WLACZONY--.");
{
if( cs_get_user_team(id) == CS_TEAM_CT )
{
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id, "weapon_m4a1")
cs_set_user_bpammo(id, CSW_M4A1, 90)
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 30)
set_user_health(id, 10000)
}
if( cs_get_user_team(id) == CS_TEAM_T )
{
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 90)
give_item(id, "weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 30)
set_user_health(id, 10000)
}
}
}
public client_connect(id)
{
//resetuje umiejetnosci
poziom_gracza[id] = 0;
doswiadczenie_gracza[id] = 0;
get_user_name(id, nazwa_gracza[id], 63);
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
set_task(3.0, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
}
public client_disconnect(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
ZapiszDane(id);
}
public RozbrajaBombe(id)
rozbrajajacy = id;
public BombaPodlozona()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "TERRORIST");
if(get_playersnum() > 1)
{
doswiadczenie_gracza[podkladajacy] += doswiadczenie_za_bombe;
for (new i=0; i<playerCount; i++)
{
if(id != podkladajacy)
{
doswiadczenie_gracza[id] += doswiadczenia_za_zabojstwo;
client_print(id, print_chat, "[Hit4u] Dostales %i doswiadczenia za podlozenie bomby przez twoj team.", doswiadczenia_za_zabojstwo);
}
else
{
client_print(id, print_chat, "[Hit4u] Dostales %i doswiadczenia za podlozenie bomby.", doswiadczenie_za_bombe);
}
SprawdzPoziom(id);
}
}
}
public BombaRozbrojona()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "CT");
doswiadczenie_gracza[rozbrajajacy] += doswiadczenie_za_bombe;
for (new i=0; i<playerCount; i++)
{
if(id != rozbrajajacy)
{
doswiadczenie_gracza[id]+= doswiadczenia_za_zabojstwo;
client_print(id, print_chat, "[Hit4u] Dostales %i doswiadczenia za rozbrojenie bomby przez twoj team.", doswiadczenia_za_zabojstwo);
}
else
client_print(id, print_chat, "[Hit4u] Dostales %i doswiadczenia za rozbrojenie bomby.",doswiadczenie_za_bombe);
SprawdzPoziom(id);
}
}
public ZapiszDane(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-pvp", nazwa_gracza[id]);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id]);
nvault_set(g_vault,vaultkey,vaultdata);
}
public WczytajDane(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-pvp", nazwa_gracza[id]);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id]);
nvault_get(g_vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new doswiadczeniegracza[32], poziomgracza[32];
parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31);
doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza);
poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1;
}
public SprawdzPoziom(id)
{
if(poziom_gracza[id] < 10)
{
while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
{
poziom_gracza[id]++;
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
ShowSyncHudMsg(id, SyncHudObj3, "Zdobyles kolejny poziom! HP +%s Damage +%s");
}
}
ZapiszDane(id);
}
public PokazInformacje(id)
{
id -= ZADANIE_POKAZ_INFORMACJE;
set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
if(!is_user_alive(id))
{
new target = entity_get_int(id, EV_INT_iuser2);
if(target == 0)
return PLUGIN_CONTINUE;
set_hudmessage(255, 255, 0, -1.0, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj, "Hit4u.com.pl^nPoziom : %i^nDoswiadczenie : %i / %i^nZycie : %i", doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target], doswiadczenie_gracza[target]);
return PLUGIN_CONTINUE;
}
}
Dodano 02 styczeń 2011 - 19:29:
Dalej nic?
Użytkownik Blood Angel edytował ten post 02.01.2011 11:47