[QTM COD:MW Mod] Monety
slawiz
07.10.2010
Tutek polega na pokazaniu wam jak zrobić monety do znanego wam moda Call of duty.
Za 1 fraga dostajemy 1 monetę ilość maksymalna monet wynosi 300.
W zamian za monety możemy kopić coś w sklepie komenda: /sklep
Instrukcja:
Szukamy:
doswiadczenie_za_bombe
Dodajemy za:
new doswiadczenie_za_pake;
new doswiadczenie_za_killa;
Szukamy:
new doswiadczenie_gracza[33];
Dodajemy za:
new doswiadczeniezdobycia_monety[33];
new monety_gracza[33] = 1;
Szukamy:
new nowa_klasa_gracza[33];
Dodajemy za:
new const doswiadczenie_monety [] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,
41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,
135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,178,179,180,181,182,183,184,185,186,187,189,190,191,192,193,194,195,196,197,198,199,200,
201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,
231,232,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,
270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314};
Szukamy:
doswiadczenie_za_bombe = get_cvar_num("cod_bombxp");
Dodajemy za:
doswiadczenie_za_pake = 1;
doswiadczenie_za_killa = 1;
Szukamy:
if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
{
new nowe_doswiadczenie = 0;
Dodajemy za:
new nowe_doswiadczenies = 0;
nowe_doswiadczenies += doswiadczenie_za_killa;
Szukamy:
set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_doswiadczenie);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
Zmieniamy na:
set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
ShowSyncHudMsg(attacker, SyncHudObj2, "Zdobyles %i monet i %i doswiadczenia", nowe_doswiadczenies,nowe_doswiadczenie);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
doswiadczeniezdobycia_monety[attacker] += nowe_doswiadczenies;
Szukamy:
SprawdzPoziom(attacker);
Dodajemy przed:
SprawdzMonety(attacker);
Szukamy:
klasa_gracza[id] = 0;
poziom_gracza[id] = 0;
Dodajemy za:
monety_gracza[id] = 0;
doswiadczeniezdobycia_monety[id] = 0;
Szukamy:
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "TERRORIST");
if(get_playersnum() > 1)
{
Dodajemy za:
doswiadczeniezdobycia_monety[podkladajacy] += doswiadczenie_za_pake;
Szukamy:
if(id != podkladajacy)
{
Dodajemy za:
doswiadczeniezdobycia_monety[id] += doswiadczenie_za_pake;
Szukamy:
else
{
client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia i %i monet doswiadczenia za podlozenie bomby.", doswiadczenie_za_bombe, doswiadczenie_za_pake);
}
SprawdzPoziom(id);
Dodajemy za:
SprawdzMonety(id);
Szukamy:
public ZapiszDane(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa_gracza[id]);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);
nvault_set(g_vault,vaultkey,vaultdata);
}
Zmieniamy na:
public ZapiszDane(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa_gracza[id]);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id], doswiadczeniezdobycia_monety[id], monety_gracza[id]);
nvault_set(g_vault,vaultkey,vaultdata);
}
Szukamy:
public WczytajDane(id, klasa)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);
nvault_get(g_vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32];
parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, inteligencjagracza, 31, silagracza, 31, zrecznoscgracza, 31, zwinnoscgracza, 31);
doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza);
poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1;
inteligencja_gracza[id] = str_to_num(inteligencjagracza);
zdrowie_gracza[id] = str_to_num(silagracza);
wytrzymalosc_gracza[id] = str_to_num(zrecznoscgracza);
kondycja_gracza[id] = str_to_num(zwinnoscgracza);
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
}
Zmieniamy na:
public WczytajDane(id, klasa)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id], doswiadczeniezdobycia_monety[id], monety_gracza[id]);
nvault_get(g_vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32], doswmonety[32], monety[32] ;
parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, inteligencjagracza, 31, silagracza, 31, zrecznoscgracza, 31, zwinnoscgracza, 31, doswmonety, 31, monety, 31);
doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza);
poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1;
inteligencja_gracza[id] = str_to_num(inteligencjagracza);
zdrowie_gracza[id] = str_to_num(silagracza);
wytrzymalosc_gracza[id] = str_to_num(zrecznoscgracza);
kondycja_gracza[id] = str_to_num(zwinnoscgracza);
doswiadczeniezdobycia_monety[id] = str_to_num(doswmonety);
monety_gracza[id] = str_to_num(monety);
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
}
Szukamy:
public SprawdzPoziom(id)
{
if(poziom_gracza[id] < 801)
{
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, "Awansowales do nastepnego poziomu!");
client_cmd(id, "spk QTM_CodMod/levelup");
}
punkty_gracza[id] = (poziom_gracza[id]-1)*1-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-skoki_gracza[id];
}
ZapiszDane(id);
}
Dodajemy za:
public SprawdzMonety(id)
{
if(monety_gracza[id] < 304)
{
while(doswiadczeniezdobycia_monety[id] >= dosiwadczenie_monety[monety_gracza[id]])
{
monety_gracza[id]++;
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
ShowSyncHudMsg(id, SyncHudObj3, "Dostałes Monete !");
}
}
ZapiszDane(id);
}
Szukamy:
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, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPrzedmiot : %s", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target], nazwy_przedmiotow[informacje_przedmiotu_gracza[target][0]]);
return PLUGIN_CONTINUE;
}
set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Przedmiot : %s]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id], nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
return PLUGIN_CONTINUE;
}
Zmieniamy na:
public PokazInformacje(id)
{
id -= ZADANIE_POKAZ_INFORMACJE;
set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
if(!is_user_alive(id))
{
if(!is_valid_ent(id))
return PLUGIN_CONTINUE;
new target = entity_get_int(id, EV_INT_iuser2);
if(target == 0)
return PLUGIN_CONTINUE;
set_hudmessage(255, 255, 255, 0.7, 0.5, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPrzedmiot : %s^nMonety : %i", nazwy_klas[klasa_gracza[target]],
doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target], nazwy_przedmiotow[informacje_przedmiotu_gracza[target][0]], monety_gracza[target]);
return PLUGIN_CONTINUE;
}
new zdrowie[33]
zdrowie[id] = get_user_health(id);
set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Przedmiot : %s]^n[Monety : %i]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id], nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]], monety_gracza[id]);
return PLUGIN_CONTINUE;
}
Teraz gdy posiadamy zrobiony sklep.
Musimy ustawić żeby zamian pobieranych nam pieniędzy pobierało monety.
Usuwamy wszystkie linijki:
new kasa = cs_get_user_money(id)
Szukamy:
cs_set_user_money(id, kasa_gracza-koszt);
Zmieniamy na:
monety_gracza[id] -= koszt;
doswiadczeniezdobycia_monety[id] -= koszt;
Szukamy:
if (kasa_gracza<koszt)
Zmieniamy na:
if (monety_gracza[id]<koszt)
Powinno działać
Użytkownik QTM. Peyote edytował ten post 25.04.2011 19:09
Poprawiono literówkę "dosiwadczenie_monety"
hardcorek2
09.10.2010
CSVision
09.10.2010
OnlyDiabloMod
09.10.2010
Mam tak samo po wyborze klasy już nie mogę ponownie włączyć /klasa do wyboru.Ja mam frakcje zrobione i gdy wybiore np.Polak to nie moge wybrac klasy
Proszę o naprawienie tego.
Co do monet to nawet działają tylko nieraz sie coś wiesza że nie nalicza monet.
slawiz
12.10.2010
hardcorek2
13.10.2010
Na tej lini jest SprawdzMonety(id);
Pawex
13.10.2010
>_< To jest nic nie znaczacy waring o zlej tabulacji....
hardcorek2
13.10.2010
Załączone pliki
Użytkownik hardcorek2 edytował ten post 13.10.2010 15:42
Pawex
13.10.2010
...
Sorry, ze sie unioslem, ale....
hardcorek2
13.10.2010
Tamto skompilowalem ale nie dziala tak jak napisalem wiec dalem sma -,-
ric0
13.10.2010
Dodano 14 październik 2010 - 11:05:
I mam ten blad bo mam frakcje i jak wpisze /klasa i wybiore np Polacy dalej sie nie wyswitla menu z klasami ?? Naprawil by to ktos??
ric0
16.10.2010
Wesoły Trolek
19.10.2010
Your plugin failed to compile! Read the errors below:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team
/groups/amxmodx/tmp3/textW9ok4B.sma(609) : error 017: undefined symbol "SprawdzPoziom"
/groups/amxmodx/tmp3/textW9ok4B.sma(679) : error 017: undefined symbol "SprawdzPoziom"
/groups/amxmodx/tmp3/textW9ok4B.sma(760) : error 017: undefined symbol "SprawdzPoziom"
/groups/amxmodx/tmp3/textW9ok4B.sma(784) : error 017: undefined symbol "SprawdzPoziom"
/groups/amxmodx/tmp3/textW9ok4B.sma(1607) : error 017: undefined symbol "SprawdzPoziom"
5 Errors.
Could not locate output file /home/groups/amxmodx/public_html/websc3/textW9ok4B.amx (compile failed).
.sma poszło na PW, proszę o odpowiedź, dam reputację.
sebul
07.01.2011
lolinhopl
06.02.2011
Szukamy:
public ZapiszDane(id) { new vaultkey[64],vaultdata[256]; format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa_gracza[id]); format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]); nvault_set(g_vault,vaultkey,vaultdata); }
Zmieniamy na:
public ZapiszDane(id) { new vaultkey[64],vaultdata[256]; format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa_gracza[id]); format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id], doswiadczeniezdobycia_monety[id], monety_gracza[id]); nvault_set(g_vault,vaultkey,vaultdata); }
Szukamy:
public WczytajDane(id, klasa) { new vaultkey[64],vaultdata[256]; format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa); format(vaultdata,255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]); nvault_get(g_vault,vaultkey,vaultdata,255); replace_all(vaultdata, 255, "#", " "); new doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32]; parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, inteligencjagracza, 31, silagracza, 31, zrecznoscgracza, 31, zwinnoscgracza, 31); doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza); poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1; inteligencja_gracza[id] = str_to_num(inteligencjagracza); zdrowie_gracza[id] = str_to_num(silagracza); wytrzymalosc_gracza[id] = str_to_num(zrecznoscgracza); kondycja_gracza[id] = str_to_num(zwinnoscgracza); punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]; }
Zmieniamy na:
public WczytajDane(id, klasa) { new vaultkey[64],vaultdata[256]; format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa); format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id], doswiadczeniezdobycia_monety[id], monety_gracza[id]); nvault_get(g_vault,vaultkey,vaultdata,255); replace_all(vaultdata, 255, "#", " "); new doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32], doswmonety[32], monety[32] ; parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, inteligencjagracza, 31, silagracza, 31, zrecznoscgracza, 31, zwinnoscgracza, 31, doswmonety, 31, monety, 31); doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza); poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1; inteligencja_gracza[id] = str_to_num(inteligencjagracza); zdrowie_gracza[id] = str_to_num(silagracza); wytrzymalosc_gracza[id] = str_to_num(zrecznoscgracza); kondycja_gracza[id] = str_to_num(zwinnoscgracza); doswiadczeniezdobycia_monety[id] = str_to_num(doswmonety); monety_gracza[id] = str_to_num(monety); punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]; }
Użytkownik lolinhopl edytował ten post 06.02.2011 13:25
KevinMagic
27.02.2011
Widze zmiany w ZapiszDane, wiec mam lekkie obawy.
KevinMagic
28.02.2011
Co do mojego pytania, zna ktos odpowiedz na nie? (Reset LVLI oczywiście, innym zdaniem usuwanie pliku CodMod.vault)
Użytkownik KevinMagic edytował ten post 28.02.2011 15:18