Skočit na obsah


Xp za peníze -> Peníze za Xp


  • Please log in to reply
9 odpovědí na toto téma

#1 Host_OnanManiak_*

Host_OnanManiak_*
  • Host

Odesláno 20.08.2004 19:22

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
  • 0

#2 Host_Ice_frog_*

Host_Ice_frog_*
  • Host

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 ...
  • 0

#3 Host_Mole_*

Host_Mole_*
  • Host

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.
  • 0

#4 Host_OnanManiak_*

Host_OnanManiak_*
  • Host

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? :rolleyes:
  • 0

#5 Host_Mole_*

Host_Mole_*
  • Host

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.
  • 0

#6 Host_OnanManiak_*

Host_OnanManiak_*
  • Host

Odesláno 21.08.2004 22:27

Jo díky :) moooc ;)
  • 0

#7 Host_OnanManiak_*

Host_OnanManiak_*
  • Host

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.

#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 :rolleyes:
  • 0

#8 Host_Mole_*

Host_Mole_*
  • Host

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.
  • 0

#9 Host_harph_*

Host_harph_*
  • Host

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 ;)
  • 0

#10 Host_OnanManiak_*

Host_OnanManiak_*
  • Host

Odesláno 22.08.2004 14:20

Děkji moooc :) fajně mi to funguje ;)
  • 0




0 uživatelů si čte toto téma

0 členů, 0 návětěvníků, 0 anonymních