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
 

Zdjęcie
Modyfikacja

ExpMod - Przeróbka

Modyfikacja

  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 Mr. Killer

    Nowy

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:1
  • Imię:HitMan xD
  • Lokalizacja:Poland
Offline

Napisano 03.01.2011 09:54

[nVault] Zdobywanie doswiadczenia. [bez klas!] - Nieoficjalny polski support AMX Mod X - strona 3

Cześć
Mógłby mi ktoś do tego kodu

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

new const LEVELS[6] = { 0, 200, 400, 800, 1600, 3200 };

new iExp[33],iLvl[33];
new cKill,g_vault;

public plugin_init()
{
register_plugin("exp", "0.1", "Flyen & Harsay & Kruszynka");

register_event("DeathMsg", "EventSmierci", "a");

g_vault = nvault_open("TestExpSave");
cKill = register_cvar("amx_exp_kill", "20");
}
public EventSmierci()
{
new iKiller = read_data(1);
new iVictim = read_data(2);
new gNumExp = get_pcvar_num(cKill);

new Kid[32],Vid[32];
get_user_name(iKiller, Kid, 31);
get_user_name(iVictim, Vid, 31);

iExp[iKiller] += gNumExp;
ColorChat(iKiller, GREEN, "^x03[Exp]^x04 %s^x01 Otrzymales^x04 %d doswiadczenia^x01 za zabicie^x04 %s",Kid ,gNumExp, Vid);

SprawdzPoziom(iKiller);
}
public client_connect(id)
{
Wczytaj(id);
set_task(0.1, "PokazInformacje",id,_,_,"b");
}
public client_disconnect(id)
{
Zapisz(id);
}
public Zapisz(id)
{
new NameID[32];
get_user_name(id,NameID,31);

new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-Mod",NameID);
format(vaultdata,255,"%i#%i#",iExp[id], iLvl[id]);
nvault_set(g_vault,vaultkey,vaultdata);
return PLUGIN_CONTINUE;
}
public Wczytaj(id)
{
new NameID[32];
get_user_name(id,NameID,31);

new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-Mod",NameID);
format(vaultdata,255,"%i#%i#",iExp[id], iLvl[id]);
nvault_get(g_vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");

new PEXP[32], PLEV[32];
iExp[id] = str_to_num(PEXP);
iLvl[id] = str_to_num(PLEV);
parse(vaultdata, PEXP, 31, PLEV, 31);
return PLUGIN_CONTINUE;
}
public SprawdzPoziom(id)
{
while(iExp[id] >= LEVELS[iLvl[id]]){
ColorChat(id, GREEN, "^x03[Exp]^x04 Awansowales na kolejny poziom!")
iLvl[id] += 1
}
Zapisz(id);
}
public PokazInformacje(id)
{
if(is_user_alive(id)){
set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
show_hudmessage(id,"[Poziom: %i]^n[Doswiadczenie: %i]", iLvl[id], iExp[id]);
}
return PLUGIN_CONTINUE;
}


Dodać exp za pake, dodanie 2 klas i dodanie zapis na nick albo na sid i chyba tyle

Albo do tego

#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <colorchat>
#include <hamsandwich>
#include <fakemeta>
#include <engine>

/* Oryginal by: Flyen || Zedytowany przez: Harsay */
/* Troszeczke musniety przez [H]ARDBO[T]a */

/*.__ __.
\ `\~~---..---~~~~~~--.---~~| /
`~-. ` .~ _____
~. .--~~ .---~~~ /
/ .-. .-. | <~~ __/
| |_| |_| \ \ .--'
/-. - .-. | \_ \_
\-' -..-..- `-' | \__ \_
`. | _/ _/
~- .,-\ _/ _/
/ -~~~~\ /_ /_
| / | \ \_ \_
| / / / | _/ _/
| | | / .,-|/ _/
)__/ \_/ -~~~| _/
\ / \
| | /_---`
\ .______| ./
( / \ /
`--' /__/ */


new const LEVELS[6] = { 0, 200, 400, 800, 1600, 3200 };

new iExp[33],iLvl[33];
new cKill,TypZapisu,g_vault,gSyncMessage,cRefresh

public plugin_init()
{
register_plugin("exp", "0.1", "Flyen & Harsay");

g_vault = nvault_open("EXP_SAVE");
register_event("DeathMsg", "Event_DeathMsg", "a");

cKill = register_cvar("amx_exp_kill", "20");
TypZapisu = register_cvar("amx_save_type", "0"); // 0 - SteamID || 1 - Nick
cRefresh = register_cvar("amx_refresh_time", "0.2")
gSyncMessage = CreateHudSyncObj();
RegisterHam(Ham_Think,"exp_mod_task","PokazInformacje",0)
create_fakeentity();

}

public create_fakeentity(){
new ent = create_entity("info_target")
if (pev_valid(ent))
{
set_pev(ent, pev_classname, "exp_mod_task");
set_pev(ent, pev_effects, (pev(ent, pev_effects) | EF_NODRAW))
set_pev(ent, pev_solid, SOLID_NOT)
set_pev(ent, pev_origin, Float:{8192.0, 8192.0 , 8192.0})
set_pev(ent,pev_nextthink,get_gametime()+get_pcvar_float(cRefresh))
}
}

public exp_mod_task(this){
for(new i = 1;i<33;i++){
if(!is_user_alive(i)){
PokazInformacje(i)
}
}
set_pev(this,pev_nextthink,get_gametime()+get_pcvar_float(cRefresh))
}

public Event_DeathMsg()
{
new iKiller = read_data(1);

iExp[iKiller] += get_pcvar_num(cKill);
ColorChat(iKiller, GREEN, "^x04[Exp]^x01 Otrzymales %s doswiadczenia za zabicie.", cKill);

SprawdzPoziom(iKiller);
}
public client_connect(id)
{
Wczytaj(id);
}
public client_disconnect(id)
{
Zapisz(id);
}
public Zapisz(id)
{
new key[35]
switch(get_pcvar_num(TypZapisu))
{
case 0: get_user_authid(id,key,34);
case 1: get_user_name(id,key,34);
}

new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-Mod",key);
format(vaultdata,255,"%i#%i",iExp[id], iLvl[id]);
nvault_set(g_vault,vaultkey,vaultdata);

return PLUGIN_CONTINUE;
}
public Wczytaj(id)
{
new key[35]
switch(get_pcvar_num(TypZapisu))
{
case 0: get_user_authid(id,key,34);
case 1: get_user_name(id,key,34);
}

new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-Mod",key);
nvault_get(g_vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");

new playerxp[32], playerlevel[32];
parse(vaultdata, playerxp, 31, playerlevel, 31);

iExp[id] = str_to_num(playerxp);
iLvl[id] = str_to_num(playerlevel);

return PLUGIN_CONTINUE;
}
public SprawdzPoziom(id)
{
while(iExp[id] >= LEVELS[iLvl[id]])
{
ColorChat(id, GREEN, "^x04[Exp]^x01 Awansowales na kolejny poziom!")
set_hudmessage(0, 255, 0, -1.0, 0.17, 0, 6.0, 4.0)
show_hudmessage(id, "Awansowales na kolejny poziom!")
iLvl[id] += 1
}
Zapisz(id);
}
public PokazInformacje(id)
{

set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, gSyncMessage, "[Poziom: %d]^n[Doswiadczenie: %d]", iLvl[id], iExp[id]);

return PLUGIN_CONTINUE;
}

i do tego dodac 2 klasy i exp za pake

Na moje oko to z tym mniej roboty
Ale podobno sie exp nie zapisuje
Ja dopiero testowal bym po edytowaniu
Z góry dzięki i pozdrawiam
Oczywiście dam może więcej niż 2 plusiki





Również z jednym lub większą ilością słów kluczowych: Modyfikacja

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych