#define DMG (1<<1)
//przedzial, postep, nagroda xp, nagroda monety, flagi, nazwa
new const zadania[][] =
{
{0, 0, 0, 0, 0, "Brak"},
{1, 10000, 10, 0, DMG, "DMG"}
}
new const zadania_opis[][] =
{
"Brak",
"0000 dmg"
}
new const przedzial[] =
{
0,
1
}
new postep[33][sizeof zadania], zadanie_gracza[33], done[33]
public plugin_init()
{
register_plugin("Misje", "1.0", "AUTHOR")
register_clcmd("say /misje", "MenuZadan")
vault = nvault_open("Misje")
RegisterHam(Ham_TakeDamage, "player", "ObrazeniaPost", 1)
}
public ObrazeniaPost(id, iInflicter, attacker, Float:damage, iBitDamage)
{
if(!is_user_connected(attacker)) return
new zadanie = zadanie_gracza[attacker]
if(get_user_team(id) != get_user_team(attacker))
{
if(zadania[zadanie][4] & DMG)
{
postep[attacker][zadanie] += floatround(damage)
SprawdzPostep(attacker)
ZapiszDane(attacker)
}
}
}
public SprawdzPostep(id)
{
new zadanie = zadanie_gracza[id]
if(!zadanie) return
if(postep[id][zadanie] >= zadania[zadanie][1])
{
cod_set_user_coins(id, cod_get_user_coins(id)+zadania[zadanie_gracza[id]][3])
cod_set_user_xp(id, cod_get_user_xp(id)+zadania[zadanie_gracza[id]][2])
zadanie_gracza[id] = 0
done[id]++
}
}
public client_authorized(id)
{
get_user_name(id, nazwa_gracza[id], 34)
WczytajDane(id)
}
public client_disconnect(id)
{
ZapiszDane(id)
}
public WczytajDane(id)
{
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-ms",nazwa_gracza[id])
format(vaultdata,255,"%d#%d#%d",zadanie_gracza[id],postep[id][zadanie_gracza[id]], done[id])
nvault_get(vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new fragitemp[33],deadstemp[33],donetemp[33]
parse(vaultdata,fragitemp,32,deadstemp,32,donetemp,32)
zadanie_gracza[id]=str_to_num(fragitemp)
postep[id][zadanie_gracza[id]]=str_to_num(deadstemp)
done[id] = str_to_num(donetemp)
return PLUGIN_CONTINUE
}
public ZapiszDane(id){
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-ms",nazwa_gracza[id])
nvault_remove(vault, vaultkey)
format(vaultdata,255,"%d#%d#%d",zadanie_gracza[id],postep[id][zadanie_gracza[id]], done[id])
nvault_set(vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}