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

Prośba o poprawę questu - Event OX


Rekomendowane odpowiedzi

Opublikowano

Witam. prosiłbym o poprawę questa OX, wszystko działa (niby) otwieram dostęp, zamykam dostęp, wyskakuje "pytanie w drodze..." i mogę tak stać i stać cały dzień, a pytanie i tak nie leci.

quest:

 

quest oxevent_manager begin
state start begin
when 20011.chat."Konkurs OX" begin
if game.get_event_flag("oxevent_status") == 0 then
say_title("Uriel:")
say("Hey - ty! Tak, ty - wyglądasz na inteligentną ")
say("osobę... Jest konkurs, który nazywa się Konkurs. ")
say("OX. Możesz wykazać się w nim swoją wiedzą. ")
say("Jeśli wygrasz, otrzymasz niezłą nagrodę. ")
say("")
wait()
say_title("Uriel:")
say("Kiedy Konkurs się zacznie, mogę Cię wpuścić jako ")
say("uczestnika. Jeżeli chcesz, możesz wejść tylko ")
say("popatrzeć. ")
say("Czas rozpoczęcia nie jest jeszcze określony.")
say("Kiedy ustalę termin, dam Ci znać! Bądź gotowy! ")
say("")
elseif game.get_event_flag("oxevent_status") == 1 then
say_title("Uriel:")
say("Hey - ty! Tak, ty - wyglądasz na inteligentną ")
say("osobę... Jest konkurs, który nazywa się Konkurs")
say("OX. Możesz wykazać się w nim swoją wiedzą. ")
say("Jeżeli wygrasz, otrzymasz niezłą nagrodę. ")
say("")
wait()
say_title("Uriel:")
say("Czy chcesz wziąć udział w Konkursie?")
say("Jeśli chcesz, możesz tylko pooglądać. ")
local s = select("Weź udział ", "Oglądaj", "Anuluj")
if s == 1 then
pc.warp(896500, 24600)
elseif s == 2 then
pc.warp(896300, 28900)
end
elseif game.get_event_flag("oxevent_status") == 2 then
say_title("Uriel:")
say("Hey - ty! Tak, ty - wyglądasz na inteligentną ")
say("osobę... Jest konkurs, który nazywa się Konkurs")
say("OX. Możesz wykazać się w nim swoją wiedzą. ")
say("Jeżeli wygrasz, otrzymasz niezłą nagrodę. ")
say("")
wait()
say_title("Uriel:")
say("Niestety, Konkurs już się rozpoczął. ")
say("Tym razem nie będziesz mógł wziąć udziału. ")
say("Następnym razem na pewno będziesz o nim")
say("wiedział. ")
say("Jeśli chcesz, wciąż możesz pooglądać. ")
say("")
local s = select("OK", "Anuluj")
if s == 1 then
pc.warp(896300, 28900)
end
end
end
when 20358.chat."Konkurs OX" with pc.is_gm() begin
local stat = oxevent.get_status()
if stat == 0 then
say("Czy chcesz rozpocząć konkurs OX?")
say("")
local s = select("Rozpocznij OX", "Anuluj")
if s == 1 then
local v = oxevent.open()
if v == 0 then
say("Event OX nie działa...")
say("")
elseif v == 1 then
say("Konkurs OX rozpoczęty!")
notice_all("Konkurs OX rozpoczął się! ")
notice_all("Aby wziąć udział, udaj się do Uriela. ")
else
say("Wystąpił błąd... ")
say("")
end
end
elseif stat == 1 then
say("Ilość uczestników: "..oxevent.get_attender().."")
say("Zamknąć dostęp do konkursu? ")
say("")
local s = select("Tak", "Nie")
if s == 1 then
oxevent.close()
say("Dostęp zamknięty. ")
say("Możesz rozpocząć losowanie pytań.")
say("")
end
elseif stat == 2 then
say("OX Event")
say("")
local s = select("Losuj Pytanie", "Zakończ Konkurs", "Anuluj")
if s == 1 then
local v = oxevent.quiz(1, 30)
if v == 0 then
say("Wystąpił błąd...")
say("")
elseif v == 1 then
say("Pytanie w drodze...")
say("")
else
say("Pytanie zostało już zadane.")
say("Proszę czekać. ")
say("")
end
elseif s == 2 then
oxevent.end_event()
notice_all("Konkurs OX został zakończony!")
notice_all("Uczestnicy zostaną przeniesieni do miast.")
say("Konkurs OX został zakończony!")
say("")
end
elseif stat == 3 then
say("Proszę czekać... ")
say("")
else
say("Wystąpił błąd")
say("")
end
end
when 20358.chat."Konkurs OX - Zakończ" with pc.is_gm() begin
say("Zakończyć Event OX?")
say("")
local s = select("Tak", "Nie")
if s == 1 then
oxevent.end_event_force()
say("Konkurs OX został zakończony!")
notice_all("Konkurs OX został zakończony!")
notice_all("Uczestnicy zostaną przeniesieni do miast.")
end
end
when 20358.chat."Konkurs OX - Nagrody" with pc.is_gm() begin
say("Podaj ID przedmiotu")
say("")
local item_vnum = input()
say("Podaj ilość przedmiotów")
say("")
local item_count = input()
oxevent.give_item(item_vnum, item_count)
say(""..oxevent.get_attender().." graczy otrzymało nagrody.")
say("")
end
end
end

 

 

niestety na wklej.to wywala mi jakiś błąd, więc daje tak.

 

edit: zapomniałem dodać, że pytania mam wgrane, jakby ktoś chciał o to zapytać...

 

Opublikowano

@BBC37 z tego co widzę to masz

local v = oxevent.quiz(1, 30)

losuje 1 pytanie z 30, więc albo masz za dużo pytań albo jakiś błąd w pytaniach. Czy zmieniałeś albo dodawałeś nowe?

 

@Edit

 

jeśli np. w pliku oxquiz.lua masz 42 pytania to w queście podajesz 41 ponieważ pierwsze pytanie to pytanie 0.

Opublikowano

Nie wywala jakiegoś błędu w konsoli ?

 

Mapa ox jest na indexie 113?

local v = oxevent.quiz(1, 30)  -- 1 zmienia się, kiedy chcę się posortować pytania, 30 to czas od początku pytania, do odpowiedzi
Opublikowano

 

Nie wywala jakiegoś błędu w konsoli ?

 

Mapa ox jest na indexie 113?

local v = oxevent.quiz(1, 30)  -- 1 zmienia się, kiedy chcę się posortować pytania, 30 to czas od początku pytania, do odpowiedzi

 

Niestety ale raczej nie, posiadam sf balmory na komputerze i sprawdziłem mają 42pytania w oxquiz.lua a w quescie w pisze local v = oxevent.quiz(1, 41).

 

A więc to jest losowanie 1 z 41

Opublikowano

 

Spróbuj ten, mi ten pięknie działa jeśli nie bd Ci działał to jest problem raczej w czymś innym.

http://wklej.org/id/1450470/

 

nie pomaga.

 

@BBC37 z tego co widzę to masz

local v = oxevent.quiz(1, 30)

losuje 1 pytanie z 30, więc albo masz za dużo pytań albo jakiś błąd w pytaniach. Czy zmieniałeś albo dodawałeś nowe?

 

@Edit

 

jeśli np. w pliku oxquiz.lua masz 42 pytania to w queście podajesz 41 ponieważ pierwsze pytanie to pytanie 0.

 

nie pomaga.

 

 

Nie wywala jakiegoś błędu w konsoli ?

 

Mapa ox jest na indexie 113?

local v = oxevent.quiz(1, 30)  -- 1 zmienia się, kiedy chcę się posortować pytania, 30 to czas od początku pytania, do odpowiedzi

 

nie zauważyłem żadnego błędu, index jest 113.

 

Niestety ale raczej nie, posiadam sf balmory na komputerze i sprawdziłem mają 42pytania w oxquiz.lua a w quescie w pisze local v = oxevent.quiz(1, 41).

 

A więc to jest losowanie 1 z 41

 

nie pomaga.

 

jednak chyba nie wina questa. ponieważ hm.. jak to nazwać. jakby losowało pytanie tylko go nie wyświetla. jak wezmę "Losuj pytanie" to wyskakuje "Pytanie w drodze...", jak od razu jeszcze raz wezme pytanie to pisze "Prosze czekać...", lecz jak po jakimś czasie to znowu mogę zadać.

 

czego to może być wina? oxquiz.lua? chociaż wątpię, bo wygląda mi, że to jest dobrze.

 

Opublikowano

@BBC37

 

w takim razie pokarz plik oxquiz.lua pewnie któreś pytanie ma błąd.

Ta masz pliki balmory... Boże kochany co to się dzieje z wami...

2e34lds.jpg

Prezentacja:

http://www.mpcforum.pl/topic/1309626-lastiviaeu-s2-start-011114r-1700-dedykmedium/

"Nie wmawiaj fałszywości bo zawsze jestem sobą
wyciągnę dłoń w twą stronę, mikrofon moją bronią
nawijam to co czuje i o tym co mnie boli
PFK ziom cytuje ludziom w głowach się pierdoli" - Malina

Opublikowano

Pomyliłem się Balanti..

Przecież te sf udostępniłem z 4 miechy temu.

2e34lds.jpg

Prezentacja:

http://www.mpcforum.pl/topic/1309626-lastiviaeu-s2-start-011114r-1700-dedykmedium/

"Nie wmawiaj fałszywości bo zawsze jestem sobą
wyciągnę dłoń w twą stronę, mikrofon moją bronią
nawijam to co czuje i o tym co mnie boli
PFK ziom cytuje ludziom w głowach się pierdoli" - Malina

Opublikowano

Ta masz pliki balmory... Boże kochany co to się dzieje z wami...

 

 

Pomyliłem się Balanti..

 

nie wiem czy to do mnie, ale nie mam tych plików.

 

oxquiz.lua przejrzałem i nie wydaje mi się żeby gdzieś był błąd, ale może ktoś ma lepsze oko i coś znajdzie.

 

 

http://wklej.to/LoK0m

 

Opublikowano

Zobacz to : http://wklej.org/id/1451290/   

(poprawione)

 

A potem to : http://wklej.org/id/1451293/

 

To drugie co dałem to z jakiś plików serwerowych co miałem na kompie,ale sprawdziłem u siebie i działa więc jeżeli ci nie zadziała to pozostaję wina questa - zaraz też przejże.


@BBC37 z tego co widzę to masz

local v = oxevent.quiz(1, 30)

losuje 1 pytanie z 30, więc albo masz za dużo pytań albo jakiś błąd w pytaniach. Czy zmieniałeś albo dodawałeś nowe?

 

@Edit

 

jeśli np. w pliku oxquiz.lua masz 42 pytania to w queście podajesz 41 ponieważ pierwsze pytanie to pytanie 0.

 

jak ma od 1 do 30 to wylosuje mu tylko te pytania co są w tym zakresie. Ja mam ustawione losowanie 42 pytań a oxquiz.lua mam 86.

Opublikowano

Zobacz to : http://wklej.org/id/1451290/   

(poprawione)

 

A potem to : http://wklej.org/id/1451293/

 

To drugie co dałem to z jakiś plików serwerowych co miałem na kompie,ale sprawdziłem u siebie i działa więc jeżeli ci nie zadziała to pozostaję wina questa - zaraz też przejże.

 

jak ma od 1 do 30 to wylosuje mu tylko te pytania co są w tym zakresie. Ja mam ustawione losowanie 42 pytań a oxquiz.lua mam 86.

no niestety to też nie pomaga.

 

Opublikowano

Zobacz to : http://wklej.org/id/1451290/   

(poprawione)

 

A potem to : http://wklej.org/id/1451293/

 

To drugie co dałem to z jakiś plików serwerowych co miałem na kompie,ale sprawdziłem u siebie i działa więc jeżeli ci nie zadziała to pozostaję wina questa - zaraz też przejże.

 

jak ma od 1 do 30 to wylosuje mu tylko te pytania co są w tym zakresie. Ja mam ustawione losowanie 42 pytań a oxquiz.lua mam 86.

bool COXEventManager::Quiz(unsigned char level, int timelimit)
{
	if (m_vec_quiz.size() == 0) return false;
	if (level > m_vec_quiz.size()) level = m_vec_quiz.size() - 1;
	if (m_vec_quiz[level].size() <= 0) return false;

	if (timelimit < 0) timelimit = 30;

	int idx = number(0, m_vec_quiz[level].size()-1);

	SendNoticeMap(LC_TEXT("ą®Á¦ ŔÔ´Ď´Ů."), OXEVENT_MAP_INDEX, true);
	SendNoticeMap(m_vec_quiz[level][idx].Quiz, OXEVENT_MAP_INDEX, true);
	SendNoticeMap(LC_TEXT("¸ÂŔ¸¸é O, Ʋ¸®¸é X·Î Ŕ̵żÇŘÁÖĽĽżä"), OXEVENT_MAP_INDEX, true);

	if (m_timedEvent != NULL) {
		event_cancel(&m_timedEvent);
	}

	OXEventInfoData* answer = AllocEventInfo<OXEventInfoData>();

	answer->answer = m_vec_quiz[level][idx].answer;

	timelimit -= 15;
	m_timedEvent = event_create(oxevent_timer, answer, PASSES_PER_SEC(timelimit));

	SetStatus(OXEVENT_QUIZ);

	m_vec_quiz[level].erase(m_vec_quiz[level].begin()+idx);
	return true;
}

drugi argument timelimit - nic wam to nie mówi?

 

To nie jest tego wina.

Opublikowano
bool COXEventManager::Quiz(unsigned char level, int timelimit)
{
	if (m_vec_quiz.size() == 0) return false;
	if (level > m_vec_quiz.size()) level = m_vec_quiz.size() - 1;
	if (m_vec_quiz[level].size() <= 0) return false;

	if (timelimit < 0) timelimit = 30;

	int idx = number(0, m_vec_quiz[level].size()-1);

	SendNoticeMap(LC_TEXT("ą®Á¦ ŔÔ´Ď´Ů."), OXEVENT_MAP_INDEX, true);
	SendNoticeMap(m_vec_quiz[level][idx].Quiz, OXEVENT_MAP_INDEX, true);
	SendNoticeMap(LC_TEXT("¸ÂŔ¸¸é O, Ʋ¸®¸é X·Î Ŕ̵żÇŘÁÖĽĽżä"), OXEVENT_MAP_INDEX, true);

	if (m_timedEvent != NULL) {
		event_cancel(&m_timedEvent);
	}

	OXEventInfoData* answer = AllocEventInfo<OXEventInfoData>();

	answer->answer = m_vec_quiz[level][idx].answer;

	timelimit -= 15;
	m_timedEvent = event_create(oxevent_timer, answer, PASSES_PER_SEC(timelimit));

	SetStatus(OXEVENT_QUIZ);

	m_vec_quiz[level].erase(m_vec_quiz[level].begin()+idx);
	return true;
}

drugi argument timelimit - nic wam to nie mówi?

 

To nie jest tego wina.

 

 

możesz jaśniej? jestem zielony w questach.. może głupie pytanie, ale no. questów nie ogarniam.

 

Opublikowano

Usuń ostatni enter w pliku oxquiz.lua. Ma nie być pustej linii.
 
I się nie kłócić z @kwiatmix , ponieważ funkcja oxevent.quiz() działa dokładnie jak to opisał (tylko jest tam mały haczyk). Natomiast losowanie pytania odbywa się na zasadzie 1 z ilość wersów. Jeśli u Ciebie ostatnia linia jest pusta, to sypie się składnia.

Opublikowano

Usuń ostatni enter w pliku oxquiz.lua. Ma nie być pustej linii.

 

I się nie kłócić z @kwiatmix , ponieważ funkcja oxevent.quiz() działa dokładnie jak to opisał (tylko jest tam mały haczyk). Natomiast losowanie pytania odbywa się na zasadzie 1 z ilość wersów. Jeśli u Ciebie ostatnia linia jest pusta, to sypie się składnia.

z tym, że nie ma pustej linii.

 

edit:

 

zastanawiam się, czy to przypadkiem nie będzie wina czegoś innego, bo nawet próbowałem wgrać quest + pytania z plików serwera na którym OX działa i pytania nie lecą... wygląda jakby je losowało i wysyłało (bo przez kilka sekund jest "Proszę czekać..." a po chwili już mogę zadać kolejne pytanie.)

 

Opublikowano

stara dobra metoda printf ?

ta, podajesz funkcję zielonemu w questach i sądzisz, że to pomoże?

opisz dokładniej, bo wiem o tej funkcji tyle co na wikipedii znajdę...

 

Opublikowano

quest jest z plików na których się uczę i przy okazji próbuję stworzyć jakieś ciekawe pliki.

sprawdzałem quest z plików alios2.

 

Opublikowano

jak zaczynasz event ox ? dokładnie opisz co robisz ?

 

zrób tak:

 

1. teleport do areny ox - /go ox

2. Bezimienne kwiaty - /i 20358

3. używasz ich jeśli są w eq a jeśli na podłodze to klikasz i wybierasz opcje "Czy chcesz rozpocząć konkurs OX?"

4. Obsługujesz ten event ox za pomocą tego kwiatku leżącego na podłodze. - bardziej sterta gruzu niż kwiatek :D

 

Ps. Nie sprawdzałem questa linijka po linijce z moim, ale jeśli tak zrobisz to powinny ci pytania normalnie się wczytywać. Z tego co pamiętam to używając "/open || start OX event" to mogą być właśnie problemy z czytaniem pytań.

Opublikowano

jak zaczynasz event ox ? dokładnie opisz co robisz ?

 

zrób tak:

 

1. teleport do areny ox - /go ox

2. Bezimienne kwiaty - /i 20358

3. używasz ich jeśli są w eq a jeśli na podłodze to klikasz i wybierasz opcje "Czy chcesz rozpocząć konkurs OX?"

4. Obsługujesz ten event ox za pomocą tego kwiatku leżącego na podłodze. - bardziej sterta gruzu niż kwiatek :D

 

Ps. Nie sprawdzałem questa linijka po linijce z moim, ale jeśli tak zrobisz to powinny ci pytania normalnie się wczytywać. Z tego co pamiętam to używając "/open || start OX event" to mogą być właśnie problemy z czytaniem pytań.

cały czas używam tych na ziemi i robię tak jak napisałeś..

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...