←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Nowy Plugin
[ROZWIĄZANE] Lvl/Exp

Zablokowany

Vixen123 - zdjęcie Vixen123 21.03.2012

proszę o napisanie pluginu,aby byly levele,max lvl-50 i exp zeby był.I zeby bylo w lewym dolnym rogu na zielono napis Lvl: a pod spodem exp ile na ile.będę bardzo wdzieczny jak ktos napisze.
Odpowiedz

pfkers - zdjęcie pfkers 21.03.2012

Zapis Leveli na nick :


#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define ZADANIE_POKAZ_INFORMACJE 672
new gVault;

new exp_za_killa;
new lvl_gracza[33] = 1;
new exp_gracza[33]
new SyncHudObj;
new SyncHudObj2;
new SyncHudObj3;

new const exp_lvl[] = {
0,500,1000,1500,2000,2500,3000,3500,4000,4500,5000,6000,7000,8000,9000,10000,11000,12000,14000,15000,
18000,20000,22000,25000,30000,35000,40000,45000,50000,55000,60000,70000,80000,90000,100000,120000,
140000,160000,180000,200000,250000,300000,350000,400000,500000,600000,700000,800000,900000,1000000,1500000
}
public plugin_init()
{
gVault = nvault_open("lvlmod");

register_event("DeathMsg", "Death", "ade");


register_cvar("kill_exp", "100");


SyncHudObj = CreateHudSyncObj();
SyncHudObj2 = CreateHudSyncObj();
SyncHudObj3 = CreateHudSyncObj();

exp_za_killa = get_cvar_num("kill_exp");

}
public client_connect(id)
{
lvl_gracza[id] = 0;
exp_gracza[id] = 0;

set_task(3.0, "Info", id+ZADANIE_POKAZ_INFORMACJE);
Wczytajexp(id)


}
public client_disconnect(id)
{
Zapiszexp(id)
}
public Death()
{
new id = read_data(2);
new attacker = read_data(1);

if(!is_user_alive(attacker) || !is_user_connected(attacker))
return PLUGIN_CONTINUE;


if(get_user_team(id) != get_user_team(attacker))
{

set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", exp_za_killa);

exp_gracza[attacker] += exp_za_killa;
}

Sprawdzlvl(attacker);


return PLUGIN_CONTINUE;
}
public Sprawdzlvl(id)
{
if(lvl_gracza[id] < 50)
{
while(exp_gracza[id] >= exp_lvl[lvl_gracza[id]])
{
lvl_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 LeveL");

}


}
Zapiszexp(id);
}
public Info(id)
{
id -= ZADANIE_POKAZ_INFORMACJE;

set_task(0.1, "Info", id+ZADANIE_POKAZ_INFORMACJE);
{

set_hudmessage(0, 255, 0, 0.02, 0.76, 0, 6.0, 12.0)
ShowSyncHudMsg(id, SyncHudObj, "[ LeveL Mod ]^n[LeveL : %i]^n[Exp : %i / %i ]", lvl_gracza[id],exp_gracza[id],exp_lvl[lvl_gracza[id]]);
return PLUGIN_CONTINUE;
}
}
public Zapiszexp(id)
{
new name[31];
get_user_name(id, name, 31);

new vaultkey[64], vaultdata[256];
format(vaultkey, 63, "%s-exp", name);
format(vaultdata, 255, "%i#%i#", lvl_gracza[id], exp_gracza[id]);
nvault_set(gVault, vaultkey, vaultdata);
return PLUGIN_CONTINUE;
}
public Wczytajexp(id)
{
new name[31];
get_user_name(id,name,31);

new vaultkey[64], vaultdata[256];
format(vaultkey, 63, "%s-exp", name);
format(vaultdata, 255, "%i#%i#", lvl_gracza[id], exp_gracza[id]);
nvault_get(gVault, vaultkey, vaultdata,255);

replace_all(vaultdata, 255, "#", " ");

new lvl[32], exp[32];
parse(vaultdata, lvl, 31, exp, 31);

lvl_gracza[id] = str_to_num(lvl);
exp_gracza[id] = str_to_num(exp);

return PLUGIN_CONTINUE;
}


new const exp_lvl[]
- mozesz sobie zmienic bo zrobilem tylko tak zeby bylo ;]
Użytkownik pfk92 edytował ten post 21.03.2012 15:12
Odpowiedz

Vixen123 - zdjęcie Vixen123 21.03.2012

Dziękuje +++
Odpowiedz

  • +
  • -
Ojciec Dyrektor - zdjęcie Ojciec Dyrektor 21.03.2012

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany