Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Quest zmiana klasy


Rekomendowane odpowiedzi

Opublikowano

W player masz job i to jest odpowiedzialne za klasę, jak będziesz pisał questa to uwzględnij to, że np. sura może mieć skille starej postaci.. to zrób funkcje która wyśle zapytania aby dana postać mogła jeszcze raz wybrać skille..

A dałbyś radę takiego questa napisać bo ja wgl nie umiem ;d ja zajmuję się w edycji klienta.

Opublikowano

 

http://wklej.to/6v8TS
Proszę, ale to i tak nie będzie działać, bo trzeba przeładować game, a mówiąc po ludzku, zrestartować serwer.

 

 

 

 

quest change_class begin
 
state __func begin
 
function apply_new_job(id, job)
local p = query("UPDATE `player`.`player` SET `job`="..job.." WHERE `id`="..id..";")
if p !=0 then 
return true
else
return false
end
end
 
function has_any_eq()
if pc.get_armor() != 0 or pc.get_weapon() != 0 then
return true
else
return false
end
end
 
end
 
state start begin
 
when 90003.use begin
 
local nowa_profesja = 0
local gracz = pc.get_player_id()
local sprawdz_eq = change_class.has_any_eq()
 
say_title(item_name(item.get_vnum()))
say("")
say("Ten przedmiot zmieni Ci klasę postaci")
say("Wybierz co chesz mieć nowego:")
local wybor = select("Wojownik", "Ninja", "Sura", "Szaman", "Anuluj")
if wybor < 5 then
nowa_profesja = wybor - 1
local zmien_profesje = change_class.apply_new_job(gracz, nowa_profesja)
if zmien_profesje then
if sprawdz_eq then
say("Musisz zdjąć zbroję i broń przed wykonaniem zmiany.")
else
pc.clear_skill()
pc.set_skill_group(0)
say_title(item_name(item.get_vnum()))
say("")
say("OK, zamknę całkiem klienta, żeby zadziałało.")
wait()
pc.remove_item(item.get_vnum(), 1)
cmdchat("quit")
end
else
say("Nie można było zmienić profesji.")
end
end
end
end
end

 

 

arijh2.jpg

Opublikowano

Powiem ci tak wprowadzenie takiego questa to kiepski pomysł trzeba uwzględnić ściąganie eq skille i też nie ma pewności jak serwer zareaguje na taki quest czy nie siądzie ci baza po użyciu :)

Opublikowano

Kolega @Wilczyduch chyba nie zapoznał się dokładnie z moim postem.
Napisałem taką funkcję:
 

function has_any_eq()
if pc.get_armor() != 0 or pc.get_weapon() != 0 then
return true
else
return false
end
end

Sprawdzam, czy mam coś ubrane na sobie (broń i zbroję), jeśli coś mam ubrane zwracam prawdę, czyli coś mam ubrane, a potem w queście jest:
 

sprawdz_eq = change_class.has_any_eq()
if sprawdz_eq then
say("Musisz zdjąć zbroję i broń przed wykonaniem zmiany.")

Więc tu masz sprawdzanie EQ, nie brałem pod uwagę takich elementów EQ Jak biżu i tarcza, bo wszyscy te elementy robią dla każdej klasy.

Ale z jednym się zgadzam, wprowadzenie takiego questu jest bez sensu.

arijh2.jpg

  • 4 miesiące temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...