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

Baronowa pająków - quest.


Rekomendowane odpowiedzi

Opublikowano

Witam,
mam pewien problem z questem na dungeon - Komnata Pająków V3 (Baronowa pająków).

Mianowicie, quest się kompiluje, ale gdy już jestem w komnacie, po zabiciu jajek nic się nie dzieje,
a jak wynika z questa powinny pojawić się moby o ID 2094. Tak samo nie wyświetla się wiadomość.

Jajka się respią, ale quest od 53 linijki tak naprawdę nie działa.

Oto quest:
http://wklej.org/id/1474702/

Z góry dziękuję za poprawę :)
Pozdrawiam.

 

Opublikowano

when login Ci działa?  o.O, jeżeli tak to trochę dziwne, bo widzę, że nie masz objętego całego dungeon indexu w warunku pc.get_max_index() (chyba, że index mapy to 4).

Natomiast, skoro Ci taki warunek działa to muszę zadać bardzo głupie pytanie, czy zabijasz te jajka w grupie? Bo event wyraźnie każe zabić jajko w grupie "2095.party_kill".

Opublikowano

Tak, index mapy to 4. Jajka zabijam w grupie, ale nawet po zmianie na "2095.kill" nie działa. Czy grupa czy nie, i tak nie działa.

Opublikowano

Sprawdź czy event w ogóle się wykonuje np.

when kill with npc.get_race() == 2095 and pc.get_map_index() >= 40000 and pc.get_map_index() < 50000 begin
	syschat("DZIAŁAM!")
end

Jeżeli to działa, to wstawiaj instrukcje ze starego eventu i znajdź ewentualny błąd - chyba, że błąd stał przy rozpisce when, bo jak widzisz mój jest troszkę inny.

 

edit.

Ah przypadkowo nie dałem jednego "=", zwróć uwagę, jeżeli już kopiowałeś, czy przy npc.get_race() są dwa "=", powinno to wyglądać tak:

npc.get_race() == 2095

Opublikowano

Dobra, skompilował się. Ale po zabiciu jajek syschat nie wyświetla się.

Po 1 skasuj stary event z party_kill, a po drugie zmień w moim when'ie ID 2095 na 2094 i wtedy zabij moba o ID 2094.

 

edit

A nie czekaj nie umiem czytać, ty zabiłeś jajko, daj mi chwile muszę pomyśleć. xD

 

edit2.

Dobra zrób tak, wykonaj zwykłe

when kill with npc.get_race() == 2095 begin

syschat("dupa")

end

 

Jeżeli działa (a nawet musi) to sprawdź dokładnie swoje indexy mapy. Zobacz czy wszystko się zgadza i dopasuj index do eventu.

Opublikowano

Dziwne... Nie działa. Tak jakby tego fragmentu questa w ogóle nie czytało o.O

Widocznie coś wyżej masz spartolone np. składnia, czy znak specjalny na końcu linijki i po prostu quest zatrzymuje się w jakimś miejscu. A tak wgl. to quest kompiluje się do samego końca? Pokaż wynik kompilacji.

Opublikowano

Masz tu ode mnie quescik

quest spider_dungeon begin
		state start begin
			when 20095.chat."Wejdź do Komnaty Baronówny Pająków " begin 
				say_green(""..mob_name(20095)..":")
				say("Witaj! ")
				say("W dzisiejszych czasach mało tak odważnych ")
				say("wojowników, widocznie jesteś jakimś odmiennikiem. ")
				say("Baronówna jest wściekła uważajcie na siebie! ")
				say("Musicie spełnić warunki:")
				say_reward("Minimalnie 75 poziom lidera grupy.")
				say_reward("Posiadać Pajęczy Klucz.")
				say_reward("Przynajmniej 1 osobową grupe.")
				wait()
			if pc.get_level() < 75 then
				say_green(""..mob_name(20095)..":")
				say("Wybacz, mogę wpuszczać tylko osoby od 75 poziomu. ")
				party.chat("Lider grupy nie posiada 75 poziomu. ")
				return
			elseif party.get_near_count() < 1 then
				say_green(""..mob_name(20095)..":")
				say("Wybacz, musisz mieć ze sobą min. 1 osobę w grupie! ")
				return
			elseif not party.is_leader() then
				say_green(""..mob_name(20095)..":")
				say("Niestety nie jesteś liderem grupy... ")
				say("Tylko lider grupy może was przeteleportować! ")
				return
			elseif pc.countitem(30324) < 1 then
				say_green(""..mob_name(20095)..":")
				say("Nie posiadasz:")
				say_item_vnum(30324)
				return
			else
				say_green(""..mob_name(20095)..":")
				say("Spełniacie wszystkie warunki! ")
				say("Czy aby na pewno chcecie wejść? ")
				local x = select("Tak!", "Nie!")
				if x == 2 then 
			return
			elseif x == 1 then
				pc.remove_item(30324, 1)
				pc.setqf("spider_dungeon", 1)
				pc.setqf("eldorado", 1)
				d.join(217)
				end
				end 
			end 
			when login with pc.get_map_index() >= 2170000 and pc.get_map_index() < 2180000 and pc.getqf("spider_dungeon") == 1 and pc.getqf("eldorado") == 1 and pc.in_dungeon() begin
				pc.setqf("spider_dungeon", 0)
				pc.setqf("eldorado", 0)
				d.notice("<Informacja> Witajcie w Komnacie Baronówny Pająków! ")
				d.notice("<Informacja> Odpierajcie ataki wroga w tym czasie musicie rozbić 5 Pajęczych Jaj, następnie czeka Was kolejne wyzwanie!")
				d.notice("<Informacja> Macie na to 20 minut.")
				d.notice("<Informacja> Powodzenia!")
				d.spawn_mob(2095, 357, 577)
				d.spawn_mob(2095, 378, 578)
				d.spawn_mob(2095, 376, 598)
				d.spawn_mob(2095, 357, 596)
				d.spawn_mob(2095, 367, 585)
				timer("regen", 2)
				timer("eldoka", 1200)
			end
			when eldoka.timer with pc.get_map_index() >= 2170000 and pc.get_map_index() < 2180000 and pc.in_dungeon() begin
				d.notice("<Informacja> Czas się skończył! Zostaniecie wyrzuceni z Komnaty Baronówenj!")
				d.exit_all()
			end
			when regen.timer with pc.get_map_index() >= 2170000 and pc.get_map_index() < 2180000 and pc.in_dungeon() begin
				d.regen_file("data/dungeon/spider_dungeon_regen.txt")
			end
			when 2095.party_kill with pc.get_map_index() >= 2170000 and pc.get_map_index() < 2180000 and pc.in_dungeon() begin
				d.setf("metin", d.getf("metin")+1)
			if d.getf("metin") == 1 then
				d.notice("<Informacja> Jedeo Pajęcze Jajo został zniszczony!")
			elseif d.getf("metin") == 2 then
				d.notice("<Informacja> Dwa Pajęcze Jaja zostały zniszczone!")
			elseif d.getf("metin") == 3 then
				d.notice("<Informacja> Trzy Pajęcze Jaja zostały zniszczone!")
			elseif d.getf("metin") == 4 then
				d.notice("<Informacja> Cztery Pajęcze Jaja zostały zniszczone!")
			elseif d.getf("metin") == 5 then
				d.kill_all()
				d.jump_all(368+512, 523+5632)
				d.notice("<Informacja> Zbiliście wszystkie Pajęcze Jaja. ")
				d.notice("<Informacja> Teraz musicie zabić wszystkie potwory, następnie pokonajcie Baronówne Pająków! ")
				timer("regenikxd", 2)
				end
			end
			when regenikxd.timer with pc.get_map_index() >= 2170000 and pc.get_map_index() < 2180000 and pc.in_dungeon() begin
				d.regen_file("data/dungeon/spider_dungeon_regen.txt")
			end
			when 2074.party_kill with pc.get_map_index() >= 2170000 and pc.get_map_index() < 2180000 and pc.in_dungeon() begin
				d.set_warp_at_eliminate(2, d.get_map_index(), 512+368, 5632+523, "data/dungeon/spider_dungeon_regen1.txt")
			end
			when 2092.party_kill with pc.get_map_index() >= 2170000 and pc.get_map_index() < 2180000 and pc.in_dungeon() begin
				timer("Exit_Z", 40)
				d.notice("<Informacja> Doskonała robota Baronówna pokonana! ")
				d.notice("<Informacja> Macie 40 sekund zanim Was wyrzuci, pospieszcie się! ")
			end
			when Exit_Z.timer with pc.get_map_index() >= 2170000 and pc.get_map_index() < 2180000 and pc.in_dungeon() begin
			d.exit_all()
		end
	end
end
Opublikowano

@Ti'o

Dawanie gotowego questa jest strasznie c*****e, bo gość się niczego nie nauczy oprócz ctrl+c i ctrl+v.

 

Wiem ale może też sobie go przeanalizować i zobaczyć jak działa poprawny :)

Opublikowano

@Ti'o W Twoim quescie jest tak samo. Przy zabijaniu jajek nic się nie dzieje.

Quest działa poprawnie tyle mogę powiedzieć :)

Opublikowano

@Ti'o W Twoim quescie jest tak samo. Przy zabijaniu jajek nic się nie dzieje.

Wchodzisz do konsoli ssh i wpisujesz cd (ścieżka do questów) i rm -r object.

W grze wpisujesz reload q, potem kompilujesz nowego questa i znów reload q.

Opublikowano

Nie działa, błąd musi być w takim razie gdzieś indziej a nie w quescie. Bynajmniej tak mi się wydaje. Sprawdziłem quest (stary) na plikach Derina. Tam działa poprawnie o.O

Opublikowano

Nie działa, błąd musi być w takim razie gdzieś indziej a nie w quescie. Bynajmniej tak mi się wydaje. Sprawdziłem quest (stary) na plikach Derina. Tam działa poprawnie o.O

quest test begin
	state start begin
		when kill with npc.get_race() == 101 begin
			chat("dddddddddd")
		end
	end
end

Zobacz czy Ci ten quest działa, po wgraniu zabij dzikiego psa.

Opublikowano
quest test begin
	state start begin
		when kill with npc.get_race() == 101 begin
			chat("dddddddddd")
		end
	end
end

Zobacz czy Ci ten quest działa, po wgraniu zabij dzikiego psa.

 

działa

Opublikowano

działa

Nwm sprawdź starego questa po skasowaniu object czy coś, ja już Ci dalej nie pomogę bo wychodzę z domu.

Sprawdzaj syslog channela, jeżeli istnieje jakiś błąd, na pewno będzie on tam logowany.

Opublikowano
SYSERR: Sep 28 13:11:32 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0) Map(40000) 
SYSERR: Sep 28 13:11:32 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0) Map(40000) 
SYSERR: Sep 28 13:11:45 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0) Map(40000) 
SYSERR: Sep 28 13:11:54 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0) Map(40000) 
SYSERR: Sep 28 13:11:54 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0) Map(40000) 
SYSERR: Sep 28 13:11:54 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0) Map(40000) 

syslog wywala

Opublikowano

Usuwanie folderu "object" to rzeczywiście świetne rozwiązanie, gratuluje. o.O

 

Jeśli jeszcze go nie usunąłeś to wejdz do tego folderu i zobacz, czy jest folder z ID tego moba, a jeśli jest to pokaż mi jakie pliki i foldery są w nim.

Q4iKmxa.gif


Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...