[Pytanie] NPC Lvl Up

Zaczęty przez P4CZU, Marzec 20, 2012, 12:37:41 PM

Poprzedni wątek - Następny wątek

P4CZU

Cześć, chciałbym by NPC dawał określony level lecz do końca nie wiem jak to zrobić. Jakiego wpisu użyć aby dawał określony level a nie go odejmował jak poniżej? Zmienić na give?

def onEvent (self,event,st) :
   htmltext=event
   if st.getQuestItemsCount(ITEM) < CDAD :
     htmltext = "error.htm"
     st.exitQuest(1)
   elif event == "level" :
     st.takeItems(ITEM,CDAD)
     level = st.getPlayer().getLevel() - 1
     exp = st.getPlayer().getStat().getExpForLevel(level)
     st.getPlayer().getStat().setExp(exp)
     st.getPlayer().getStat().setLevel(level)
     htmltext = "ok.htm"
     st.getPlayer().broadcastUserInfo()
     st.exitQuest(1)
   return htmltext


Z góry dzięki za odpowiedź - jestem zielony :s

Maślan

level = st.getPlayer().getLevel() - 1

zmien na

level = st.getPlayer().getLevel() + 1

gdzie 1 to o ile chcesz podnieść so:

si.getPlayer().getLevel() = 40
to level = st.getPlayer().getLevel() + 2
wychodzi

level = 42


czaisz?

P4CZU

#2
A jak to dodać do skryptu? Ja zrobiłem to tak:

def onEvent (self,event,st) :
   htmltext=event
   if st.getQuestItemsCount(ITEM) < CDAD :
     htmltext = "error.htm"
     st.exitQuest(1)
   elif event == "level" :
     st.takeItems(ITEM,CDAD)
     level = st.getPlayer().getLevel() + 1
st.getPlayer().getLevel() = 40
     htmltext = "ok.htm"
     st.getPlayer().broadcastUserInfo()
     st.exitQuest(1)
   return htmltext


...i tak...

def onEvent (self,event,st) :
   htmltext=event
   if st.getQuestItemsCount(ITEM) < CDAD :
     htmltext = "error.htm"
     st.exitQuest(1)
   elif event == "level" :
     st.takeItems(ITEM,CDAD)
     level = st.getPlayer().getLevel() + 1
si.getPlayer().getLevel() = 40
to level = st.getPlayer().getLevel() + 2
     exp = st.getPlayer().getStat().getExpForLevel(level)
     st.getPlayer().getStat().setExp(exp)
     st.getPlayer().getStat().setLevel(level)
     htmltext = "ok.htm"
     st.getPlayer().broadcastUserInfo()
     st.exitQuest(1)
   return htmltext


jednak wywala mi error


Traceback (innermost last):
  (no code object) at line 0
SyntaxError: ('invalid syntax', ('__init__.py', 28, 10, '\t si.getPlayer().getLevel() = 40'))


Próbowałem jeszcze inaczej jednak dalej to samo

Maślan

przeczytaj dokładnie co napisałem:


Cytat
level = st.getPlayer().getLevel() - 1
zmien na

level = st.getPlayer().getLevel() + 1



Tu Ci powiedziałem co masz zrobić a tu:
Cytat
gdzie 1 to o ile chcesz podnieść so:
si.getPlayer().getLevel() = 40
to level = st.getPlayer().getLevel() + 2
wychodzi
level = 42

czaisz?
wytłumaczyłem co i jak i popełniłem literówke - zamiast si powinno być st.

P4CZU

Cytat: Maślan w Marzec 21, 2012, 10:05:37 PM
przeczytaj dokładnie co napisałem:


Cytat
level = st.getPlayer().getLevel() - 1
zmien na

level = st.getPlayer().getLevel() + 1



Tu Ci powiedziałem co masz zrobić a tu:
Cytat
gdzie 1 to o ile chcesz podnieść so:
si.getPlayer().getLevel() = 40
to level = st.getPlayer().getLevel() + 2
wychodzi
level = 42

czaisz?
wytłumaczyłem co i jak i popełniłem literówke - zamiast si powinno być st.

Czyli skrypt powinien wyglądać tak?

def onEvent (self,event,st) :
   htmltext=event
   if st.getQuestItemsCount(ITEM) < CDAD :
     htmltext = "error.htm"
     st.exitQuest(1)
   elif event == "level" :
     st.takeItems(ITEM,CDAD)
     level = st.getPlayer().getLevel() + 1
     st.getPlayer().getLevel() = 40
     to level = st.getPlayer().getLevel() + 2
     exp = st.getPlayer().getStat().getExpForLevel(level)
     st.getPlayer().getStat().setExp(exp)
     st.getPlayer().getStat().setLevel(level)
     htmltext = "ok.htm"
     st.getPlayer().broadcastUserInfo()
     st.exitQuest(1)
   return htmltext

Maślan

k*u*r*w*a mac ogarniasz?

st.getPlayer().getLevel() = 40
     to level = st.getPlayer().getLevel() + 2

to z kodu wywal bo podałem Ci to tylko dla wytłumaczenia jak to w ogóle dziala.... no jejku rusz głową

P4CZU

Cytat: Maślan w Marzec 21, 2012, 10:15:00 PM
k*u*r*w*a mac ogarniasz?

st.getPlayer().getLevel() = 40
     to level = st.getPlayer().getLevel() + 2

to z kodu wywal bo podałem Ci to tylko dla wytłumaczenia jak to w ogóle dziala.... no jejku rusz głową

No przecież napisałem Ci, że jestem zielony... Działa dodaje level, lecz jak zrobić aby dawał 85 level?



Nayana

Cytat: P4CZU w Marzec 21, 2012, 10:48:31 PM
Cytat: Maślan w Marzec 21, 2012, 10:15:00 PM
k*u*r*w*a mac ogarniasz?

st.getPlayer().getLevel() = 40
     to level = st.getPlayer().getLevel() + 2

to z kodu wywal bo podałem Ci to tylko dla wytłumaczenia jak to w ogóle dziala.... no jejku rusz głową

No przecież napisałem Ci, że jestem zielony... Działa dodaje level, lecz jak zrobić aby dawał 85 level?

A z którym levelem podchodzisz do npcka?

P4CZU

Cytat: Nayana w Marzec 22, 2012, 01:38:06 PM
Cytat: P4CZU w Marzec 21, 2012, 10:48:31 PM
Cytat: Maślan w Marzec 21, 2012, 10:15:00 PM
k*u*r*w*a mac ogarniasz?

st.getPlayer().getLevel() = 40
     to level = st.getPlayer().getLevel() + 2

to z kodu wywal bo podałem Ci to tylko dla wytłumaczenia jak to w ogóle dziala.... no jejku rusz głową

No przecież napisałem Ci, że jestem zielony... Działa dodaje level, lecz jak zrobić aby dawał 85 level?

A z którym levelem podchodzisz do npcka?

Chciałbym aby niezależnie od levela podnosił do 85 a nie o jakąś liczbę.

Nayana

Cytat: P4CZU w Marzec 22, 2012, 03:27:45 PM
Cytat: Nayana w Marzec 22, 2012, 01:38:06 PM
Cytat: P4CZU w Marzec 21, 2012, 10:48:31 PM
Cytat: Maślan w Marzec 21, 2012, 10:15:00 PM
k*u*r*w*a mac ogarniasz?

st.getPlayer().getLevel() = 40
     to level = st.getPlayer().getLevel() + 2

to z kodu wywal bo podałem Ci to tylko dla wytłumaczenia jak to w ogóle dziala.... no jejku rusz głową

No przecież napisałem Ci, że jestem zielony... Działa dodaje level, lecz jak zrobić aby dawał 85 level?

A z którym levelem podchodzisz do npcka?

Chciałbym aby niezależnie od levela podnosił do 85 a nie o jakąś liczbę.

A to musisałbyś w .setlevel ustawić 85.

P4CZU


Maślan

#11
st.getPlayer().getStat().getExpForLevel(85)

i dziękuje ;)

/GenesiZ
Plusik.

P4CZU

Cytat: Maślan w Marzec 22, 2012, 06:34:45 PM
st.getPlayer().getStat().getExpForLevel(85)

i dziękuje ;)

Dziękuje, działa.