Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Credits: QTM Peyote: Za sistem prikazivanja levela
- Ovidius: Za nacin racunanja levela(za mogucnost upotrebe beskonacno levela)
- Sn1per: Za ideju o ovom modu koju sam delimicno preuzeo
- Hvala vam svima :)
- PS: Ovaj rad nije namenjen za prodaju niti bilo kakvo ostvarivanje materijalnih sredstava,
- vec iskljucivo za zabavu i nastavak kreiranja novog Level Mod-a
- */
- /*
- Credits: QTM Peyote: Za sistem prikazivanja levela
- Ovidius: Za nacin racunanja levela(za mogucnost upotrebe beskonacno levela)
- Sn1per: Za ideju o ovom modu koju sam delimicno preuzeo
- Hvala vam svima :)
- PS: Ovaj rad nije namenjen za prodaju niti bilo kakvo ostvarivanje materijalnih sredstava,
- vec iskljucivo za zabavu i nastavak kreiranja novog Level Mod-a
- */
- #include <amxmodx>
- #include <amxmisc>
- #include <fun>
- #include <cstrike>
- #include <engine>
- #include <nvault>
- new g_vault;
- new SyncHudObj;
- new iskustvo_igraca[33]
- new nivo_igraca[33] = 1;
- new maxlvl
- new kill_iskustvo;
- public plugin_init()
- {
- register_plugin("Level Mod", "1.0", "AMD");
- register_event("DeathMsg", "Death", "ade");
- g_vault = nvault_open("xpmod");
- SyncHudObj = CreateHudSyncObj();
- kill_iskustvo = register_cvar("amx_killxp", "13");
- maxlvl = register_cvar("amx_maxlevel","100000")
- }
- public client_connect(id)
- {
- PonistiInfo(id);
- UcitajLevele(id);
- set_task(3.0, "PokaziInfo", id+672);
- }
- public client_disconnect(id)
- {
- SacuvajLevele(id);
- PonistiInfo(id);
- remove_task(id+672);
- }
- public PonistiInfo(id)
- {
- nivo_igraca[id] = 0;
- iskustvo_igraca[id] = 0;
- }
- public izracunajxp(level)
- return level*3*10;
- public PokaziInfo(id)
- {
- id -= 672;
- set_task(0.1, "PokaziInfo", id+672);
- if(!is_user_alive(id))
- {
- new target = entity_get_int(id, EV_INT_iuser2);
- if(target == 0)
- {
- return;
- }
- set_hudmessage(255, 212, 42, -1.0, 0.0, 0, 0.0, 0.3, 0.0, 0.0);
- ShowSyncHudMsg(id, SyncHudObj, "Iskustvo : %i / %i ^nLevel: %i", iskustvo_igraca[target],izracunajxp(nivo_igraca[target]), nivo_igraca[target]);
- }
- else
- {
- set_hudmessage(0, 200, 250, -1.0, 0.0, 0, 0.0, 0.3, 0.0, 0.0);
- ShowSyncHudMsg(id, SyncHudObj, "[Iskustvo : %i / %i]^n[Level: %i]", iskustvo_igraca[id],izracunajxp(nivo_igraca[id]), nivo_igraca[id]);
- }
- }
- public Death()
- {
- new id = read_data(2);
- new napadac = read_data(1);
- if(napadac != id && is_user_connected(napadac))
- {
- new novo_iskustvo = get_pcvar_num(kill_iskustvo);
- iskustvo_igraca[napadac] += novo_iskustvo
- ProveriNivo(napadac);
- }
- }
- public ProveriNivo(id)
- {
- if(nivo_igraca[id] < maxlvl)
- {
- while(iskustvo_igraca[id] >= izracunajxp(nivo_igraca[id]))
- {
- nivo_igraca[id]++;
- }
- if(nivo_igraca[id] > maxlvl)
- {
- nivo_igraca[id] = maxlvl
- }
- }
- SacuvajLevele(id);
- }
- public SacuvajLevele(id)
- {
- new AuthID[35];
- get_user_authid(id, AuthID, 34);
- new vaultkey[64], vaultdata[256];
- format(vaultkey, 63, "%s-lvl", AuthID);
- format(vaultdata, 255, "%i#%i#", iskustvo_igraca[id], nivo_igraca[id]);
- nvault_set(g_vault, vaultkey, vaultdata);
- return PLUGIN_CONTINUE;
- }
- public UcitajLevele(id)
- {
- new AuthID[35];
- get_user_authid(id, AuthID, 34);
- new vaultkey[64], vaultdata[256];
- format(vaultkey, 63, "%s-lvl", AuthID);
- format(vaultdata, 255, "%i#%i#", iskustvo_igraca[id], nivo_igraca[id] );
- nvault_get(g_vault, vaultkey, vaultdata, 255);
- replace_all(vaultdata, 255, "#", " ");
- new iskustvoigraca[32], leveligraca[32]
- parse(vaultdata, iskustvoigraca, 31, leveligraca, 31);
- iskustvo_igraca[id] = str_to_num(iskustvoigraca);
- nivo_igraca[id] = str_to_num(leveligraca);
- return PLUGIN_CONTINUE;
- }
Advertisement
Add Comment
Please, Sign In to add comment