Chtel jsem si udelat runu ktera by menila xp za penize a naopak.
Jenze kdyz jsem to udelal tak se naskyt problém s tím ľe kdyľ byla poloľka třeba: 2000Xp za 200gp a hrac nemel tech potrebnych 2000Xp a mel treba jen 1xp tak mu to zebralo to 1xp a dalo 200gp.
Nevíte co s tím ? chtel bych nejak detekovat kolik ma hrac xp (i naopak)a kdyby nemel dostatek tak at se to vypise :*(
Díky mooc

Xp za peníze -> Peníze za Xp
Započal
Host_OnanManiak_*
, 20.08.04 19:22
9 odpovědí na toto téma
#1 Host_OnanManiak_*
Odesláno 20.08.2004 19:22
#2 Host_Ice_frog_*
Odesláno 20.08.2004 19:30
Pokud bys zachoval pomer 1:10, tak to uprav tak, ze hrac si vybere, ze chce vymenit 10 exp, 100 exp, 1000 exp nebo 10 000 exp a pak mu jednoduse pridej 1GP, 10, ... a opacnou cestou stejne ... druha moznost je, ze pomoci GetXP() zjistis, kolik ma hrac exp, vydelis deseti, das mu tolik GP, to cislo vynasobis 10 a odeberes mu tolik exp ... pak mu zbyde ten nedelitelny zbytek ...
#3 Host_Mole_*
Odesláno 20.08.2004 19:55
Nejjednodussi cesta je rozdelit dialog jak pise ta Zaba a v Text Appear When kontrolovat pres zminene GetXP, jestli ma dostatek nebo ne. A pripadne zobrazovat moznost v dialogu ci nikoliv.
#4 Host_OnanManiak_*
Odesláno 20.08.2004 22:50
Děkuji... ale co kdybych chtěl vzít pc peníze ? jak zjistim ze ma potrebnou sumu?

#5 Host_Mole_*
Odesláno 20.08.2004 22:53
// Get the amount of gold possessed by oTarget.
int GetGold(object oTarget=OBJECT_SELF)
kdyz do filtru napises slovo, ktery potrebujes, najde ti to prislusnou funkci. Jen musis vedet, jestli napsat gold nebo gp nebo money ... nebo zkouset.
int GetGold(object oTarget=OBJECT_SELF)
kdyz do filtru napises slovo, ktery potrebujes, najde ti to prislusnou funkci. Jen musis vedet, jestli napsat gold nebo gp nebo money ... nebo zkouset.
#6 Host_OnanManiak_*
Odesláno 21.08.2004 22:27
Jo díky :) moooc ;)
#7 Host_OnanManiak_*
Odesláno 22.08.2004 11:35
Nějak mi to nefunguje :)
I kdyľ němá hrác u sebe ľádné gp nebo xp tak mu to porad dáva protejąek.
Dejme tomu ľe hráč má u sebe 200gp ,klikne a da mu to 2500xp :)
A to i kdyľ má 0gp :) muľe klikat do blba a bude dostavat 2500xp i kdyľ nema gp.
Nejsem nějakej velkej scripter ani stripter tak mi prosim poradte
I kdyľ němá hrác u sebe ľádné gp nebo xp tak mu to porad dáva protejąek.
#include "nw_i0_tool" void main() { object oPC = GetPCSpeaker(); AssignCommand(oPC, TakeGoldFromCreature(250, oPC, TRUE)); RewardPartyXP(2500, oPC, FALSE); }
Dejme tomu ľe hráč má u sebe 200gp ,klikne a da mu to 2500xp :)
A to i kdyľ má 0gp :) muľe klikat do blba a bude dostavat 2500xp i kdyľ nema gp.
Nejsem nějakej velkej scripter ani stripter tak mi prosim poradte

#8 Host_Mole_*
Odesláno 22.08.2004 12:36
Predpokladam, ze tento script mas na nejake vete jako Action. Do TextAppearWhen dej kontrolu
GetGold =>250
Pokud nebude mit dostatecnou sumu penez, veta se mu v rozhovoru neukaze. Aby se to nedalo zneuzivat, mel by jsi tu kontrolu mit i v tom tvem scriptu.
GetGold =>250
Pokud nebude mit dostatecnou sumu penez, veta se mu v rozhovoru neukaze. Aby se to nedalo zneuzivat, mel by jsi tu kontrolu mit i v tom tvem scriptu.
#9 Host_harph_*
Odesláno 22.08.2004 13:45
ku kazdemu scriptu daj jednoduchu podmienku
if (GetGold(oPC) >= SUMA)
{
...
}
else
{
// vypise ze nemas dost penez alebo nieco take
}
trochu sa aj nauc zaklady klasickeho programovania DOST to pomoze ;)
if (GetGold(oPC) >= SUMA)
{
...
}
else
{
// vypise ze nemas dost penez alebo nieco take
}
trochu sa aj nauc zaklady klasickeho programovania DOST to pomoze ;)
#10 Host_OnanManiak_*
Odesláno 22.08.2004 14:20
Děkji moooc :) fajně mi to funguje ;)
0 uživatelů si čte toto téma
0 členů, 0 návětěvníků, 0 anonymních