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

Pisanie / Poprawa Questów !


PoczatKujacy

Rekomendowane odpowiedzi

Opublikowano

Cześć wyjadacze :)

Mam problem z questem. Chciałem naskrobać coś, co pozwoli GMowi usunąć gildię z gry bez grzebania w bazie.

Niestety nie pykło mi wykonanie, jedyne co udało mi się osiągąć to ... nic sie nie udało. Quest usuwa gildię której załozycielem jest GM.

Prosiłbym o jakieś wyjaśnienie albo wskazówkę z czym to się je.

Opcja : gm dochodzi do gildii, staje sie liderem, usuwa gildię odpada.

Z góry dziękuję za wszelki odzew pomocy. Nie oczekuję gotowca, zależy mi właściwie tylko na części która "usuwa"

f.png

  • Odpowiedzi 8,7 tys.
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

@UP

 

Cześć no-life! ;)

 

http://www.mpcforum.pl/topic/329361-tutquestosexecute/

 

http://www.mpcforum.pl/topic/329766-questbanowanie-gracza-wprost-z-gry/

 

Prosty quest, z którego 'prześlesz' nick GMa, nazwę gildii do skryptu php, w którym po nazwie gildii znajdziesz ją i 'uaktualnisz' lidera (zmienisz nick, czy tam id na swoje)

 

To samo z pozostałymi skryptami. Dołączanie do gildii itd.


 

Opublikowano

Mam pytanko:

 

Czy mozna zrobic questa na zabijanie graczy z innych krolestw, np. trzeba zabic 10 z jinno/shinsoo o lvlu 10 wyzszym od gracza, ktory bral questa jak sie jest w chunjo?

 

I jak to zrobic ;)

8a791ncfpy1d.png

 

Pomogłem? Daj +

Opublikowano

Siema

Proszę o zrobienie questa:

 

Dając stajennemu na 25 lvl Medal i 100k

daje zwykłego konia i zdjęcie konia.

Posiadając już zwykłego konia i dając

stajennemu na 35 lvl 10 medali i 500k

można otrzymać bojowca.

Dalej mając już bojowca, możemy

wymienić u stajennego za kolejne 10

medali i 1kk na militara.

 

Będą +

Opublikowano

Dzięki za odzew ! :)

Wiesz co - chodzi mi o to żeby tylko usunąć gildię. Nie chce bawić się w uaktualnianie lidera, bo GM ma już swoją gildię.

Może by tak usuwać gildię z bazy dzięki Twojemu skryptowi ?

Z tego co wyczytałem (przepraszam ze logikę ale spałem dzisiaj 2 godziny) proponujesz żeby GM został liderem i usuwał gildię przez destroy_gulid tak ? Niestety taka opcja raczej odpada

f.png

Opublikowano

quest play begin
state start begin
	when login or levelup begin
		local play = pc.getplaytime() -- quest_functions
		local czas = math.floor(play/60) -- 60s = 1min
		local sname = pc.get_name() -- wiadomo
		if czas >= 250 then
				if pc.getqf('250') != 1 then
					pc.setqf('250',1)
					notice_all(string.format("Gracz %s gra już 250 minut. Otrzymuje nagrodę!", sname))
					pc.give_item2(19) -- weapon 
				end
		elseif czas >= 500 then
				if pc.getqf('500') != 1 then
					pc.setqf('500',1)
					notice_all(string.format("Gracz %s gra już 500 minut. Otrzymuje nagrodę!", sname))
					pc.give_item2(19)
				end
		end
	end
end
end

 

btw, nie wiem czy string.format będzie działał w notice_all, ale chyba powinien.. Jak nie to zmienić.

307681428489538142351.png

Metin2 Balmora Staff

Opublikowano

@Fifolski

 

Quest - przesyłasz informację o nazwie gildii do skryptu php

Skrypt php - Usuwasz gildię znając jej nazwę z bazy (zapytanie z DELETE)


 

Opublikowano

Quest:

Gdy gracz zabije 1500 mobów otrzymuje nagrodę, na czacie pojawia się informacja o osiągnięciu ;D

57941428314396613531.png


 


Morlinka aka Lyshantus


 


esent.png

Opublikowano
quest zniszcz begin
state start begin
	when 30204.use with pc.is_gm() begin

		say("Podaj nick gracza.")
		say_reward("'Anuluj' = Wyjście.")
		local i = input()

		if i == "" then
			say("Miałeś podać nick..")
			return
		end
		if i == "Anuluj" then
			return
		end

		local t_vid = find_pc_by_name(i)

		if t_vid == 0 then
			say("Gracz nie jest zalogowany!")
			return
		end

		local o_vid = pc.select(t_vid)

		if o_vid == 0 then
			say("Nie można odnaleźć gracza..")
			return
		end


			pc.select(o_vid)
			say("Na pewno chcesz usunąć Gidię "..guild.name(pc.get_guild()).."?")
			local s = select(locale.yes, locale.no)
			if s == 2 then
				return
			end
			pc.select(t_vid)
			pc.destroy_guild()
			pc.setqf("new_disband_time",get_global_time())
			pc.setqf("new_withdraw_time",get_global_time())
			pc.select(o_vid)
	end
end
end

307681428489538142351.png

Metin2 Balmora Staff

Opublikowano

@UP

W sumie pc.select() to szybsze i wygodniejsze rozwiązanie, bo przecież, aby zmiany weszły w grę (skryptem php) konieczny jest restart?

 

Nie pomyślałem, że można przecież użyć tej funkcji ;0


 

Opublikowano

PISANE NA SPONTANA W PHP ;/

LUA:

local guild = input()
system("php /home/delete_guild.php '"..guild.."' '"..pc.get_name().."' ")

 

PHP:

 

<?php 

$guild = $argv[1];
$nick = $argv[2];

$guild_id = "SELECT `guild_id` FROM player.guild WHERE `name` = '".$guild."' Limit 1";
$go = mysql_query($guild_id);

$tablica = mysql_fetch_array($go);

	$GuildID = $tablica[0];

$delete1 = "DELETE FROM player.guild WHERE `guild_id` = $GuildID";
$delete2 = "DELETE FROM player.guild_comment WHERE `guild_id` = $GuildID";
$delete3 = "DELETE FROM player.guild_member WHERE `guild_id` = $GuildID";
$delete4 = "DELETE FROM player.guild_grade WHERE `guild_id` = $GuildID";

$sprawdz = mysql_query($delete1);
	if (!$sprawdz) {
			$error= mysql_error();
	$LogData = fopen("log.txt", "a");
	fwrite($LogData, "ERROR: Usuwanie gildii: $guild przez $nick niepomyslne! MYSQL_ERROR: $error!");
	fwrite($LogData, "\n");
	fclose($LogData);
	}
	else {
mysql_query($delete2);
mysql_query($delete3);
mysql_query($delete4);


$LogData = fopen("log.txt", "a");
fwrite($LogData, "DONE: Usunieta gildia: $guild przez $nick!");
fwrite($LogData, "\n");
fclose($LogData);

}
?>

307681428489538142351.png

Metin2 Balmora Staff

Opublikowano

Quest numero uno:

 

 

Nazwa: Uwolnij miasto!

Od lv: 1

Nagroda to :

- 100 000 000 expa

- 10 000 000 yang

- item:

- 50109 - Czerw. ebonitowa szkatulka

- 50110 - Ebonitowa szkatulka

- 50111 - Zlota ebonitowa szkatulka

- 50112 - J. Zielona ebonitowa szkatulka

- 50113 - Zielona ebonitowa szkatulka

- 50114 - Niebieska ebonitowa szkatulka

 

 

Opis misji: Po wejściu do gry wyskakuje nam zwój aby przebiec się do Baek-Go który informuje nas ,że w mieście nastały złe czasy i ludzie chorują - karze on nam zabić 50 dzikich psów z których wypadają mniszki lekarsie (50729) należy ich zdobyć 50 ,szansa na drop mniszka to 100% (najlepiej aby było odliczanie w oknie z misjami ile już ich uzyskaliśmy) udajemy się do niego i informujemy go o zdobyciu przedmiotu misji za co on wręcza nam wyżej wymienioną nagrodę. DIALOGI OBOJĘTNE ,W MIARĘ MOŻLIWOŚCI EDYTUJĘ JE SAM!

 

 

Quest 2:

 

 

Nazwa: Pomoc dla kowala

Od lv: 55

Nagroda to:

Wszystkie skille na P dla własnej profesji

 

Opis misji: Po nabiciu 55lvla wyskakuje nam zwój informujący o pomocy której potrzebuje kowal, karze on nam przebiec się do drugiej wioski do domokrążcy który ma informacje o mieczu który zgubił.

Domokrążca karze zabić nam 100 pająków w v1 (obojętne jakich, WSZYSTKIE SIĘ LICZĄ) w zamian za oddanie miecza, kiedy je zabijemy wracamy do niego a ten oddaje nam miecz który zanosimy do kowala, w zamian za co otrzymujemy nagrodę.

 

 

Dodam również ,że poszukuję osoby która napisze mi questy w odstępach co 10lvli będzie to około 15 questów ZAAWANSOWANYCH oraz malutkich questów co kilka lvli które można będzie wziąść dobrowolnie!

ZLECENIE ODPŁATNE : KONTAKT GG 10282776

chadasygna.png

 

 

Wracam do gry, zaklinam się na Boga,

Tu nie ma opowieści o drogich samochodach.

Dziś przychodzę do ciebie i przynoszę złe wieści,

Wciąż nawijam ten rap o niepokornej treści.

Opublikowano

witam!

 

napisze mi ktos questa ze

 

do 40LvL doswiadczenie leci 3x wiecej

 

a od 40 lvl doswiadczenie leci 2x

 

 

Taki sam quest tylko zeby yangi lecialy 2x badz 3x.

 

 

 

Chodzi mi o to zeby nie edytowac w navicat dropu oraz doswiadczenia.

 

 

edit@

 

oraz proszę o quest taki :

 

Quest u Kapitana mozliwosc Aktywowania dropu oraz zdezaktywowanie go np. SZkatek ale sobie wpisze ID

 

 

QUEST TYLKO DLA ADMINOW

 

 

 

 

Pozdrawiam

 

ps. przepraszam za bledy bo pisze na klawiaturze ekranowej ;p

Wnet :

Opublikowano

siemka

mógłby mi ktoś zrobić questa takiego:

 

Że jest npc (id:xxx) u niego mamy 3 opcje (atlantyda, miasto orków, burdel)podaje przykładowe nazwy, to ma być teleporter ale, jak klikniemy np. atlantyda to wyskakuje (napewno chcesz tam wejść "tak, nie"jeśli niemamy przepustki do niej to nam wyskakuje (nie masz przepuski nie mogę cię wpusić, ale możesz ją dostać jak coś dla mnie zrobisz, czy chcesz się tego podjąc??) (tak, nie) jesli tak to musimy zabić króla pająków chce żeby też były komunikaty jak klikne "nie" (aha spoko przyjdz jeśli się namyślisz) i ( sorry niemasz odpowiedniego lvla aby tam wejść, wróc jak osiągniesz 80lvl)

no i (naprawde to zrobiłes, zabiłeś krola pająków w nagrode dostaniesz odemnie przepustke) i (otrzymałeś kamień krwisty"id:xxx") bardzo bym prosił aby w quescie przy otrzymaniu kamienia krwistego był jego screen, ale jeśli się nieda to to przeboleje.

 

Quest chyba wyczerpujący w pisaniu, ja niestety tego niepotrafie, ale za pomoc dam limit +

 

 

@edit

te 3 opcje mogą mieć identyczne treści, ja sobie potem zeedytuje

Opublikowano

user z forum napisał mi questa ale są w nim źle porozstawiane endy. może ktoś mi go poprawić? quest w spoilerze:

 

 

-----------------------------------

--- Misja by Czarny dla CzarnyMT2

--- Prosze o nie przypisywanie sobie

--- cudzej pracy! Pozdrawiam

-----------------------------------

 

quest laska_medrca.quest begin

state start begin

when 70023.use begin

say_title("Laska Mędrca")

say("Wybierz opcję:")

local s = select("Skille na P", "Przywolanie i lvl konia", "Anuluj")

if s == 3 then

say("Może innym razem.")

say("")

wait()

return

end

if s ==1 then

say("Dostałeś skille na P ")

say("")

pc.set_skill_level(1, 59)

pc.set_skill_level(2, 59)

pc.set_skill_level(3, 59)

pc.set_skill_level(4, 59)

pc.set_skill_level(5, 59)

pc.set_skill_level(16, 59)

pc.set_skill_level(17, 59)

pc.set_skill_level(18, 59)

pc.set_skill_level(19, 59)

pc.set_skill_level(20, 59)

pc.set_skill_level(31, 59)

pc.set_skill_level(32, 59)

pc.set_skill_level(33, 59)

pc.set_skill_level(34, 59)

pc.set_skill_level(35, 59)

pc.set_skill_level(46, 59)

pc.set_skill_level(47, 59)

pc.set_skill_level(48, 59)

pc.set_skill_level(49, 59)

pc.set_skill_level(50, 59)

pc.set_skill_level(61, 59)

pc.set_skill_level(62, 59)

pc.set_skill_level(63, 59)

pc.set_skill_level(64, 59)

pc.set_skill_level(65, 59)

pc.set_skill_level(66, 59)

pc.set_skill_level(76, 59)

pc.set_skill_level(77, 59)

pc.set_skill_level(78, 59)

pc.set_skill_level(79, 59)

pc.set_skill_level(80, 59)

pc.set_skill_level(81, 59)

pc.set_skill_level(91, 59)

pc.set_skill_level(92, 59)

pc.set_skill_level(93, 59)

pc.set_skill_level(94, 59)

pc.set_skill_level(95, 59)

pc.set_skill_level(96, 59)

pc.set_skill_level(106, 59)

pc.set_skill_level(107, 59)

pc.set_skill_level(108, 59)

pc.set_skill_level(109, 59)

pc.set_skill_level(110, 59)

pc.set_skill_level(111, 59)

wait()

end

if s == 2 then

say("Dostałeś 30lvl konia oraz przywołanie na 100% ")

say("")

 

pc.set_skill_level(131, 10)

horse.set_level(30)

pc.give_item2(50053, 1)

wait()

horse.ride()

end

end

end

end

 

 

 

5877.png

JEŻELI POMOGŁEM PROSZĘ O +

Opublikowano

ZLECENIE 2 QUESTY

Proszę o napisanie 2 questów

P.S. Myślę że ten dział jest odpowiedni

Proszę o 2 questy .

I Złota Żaba ID - 11505

Funkcja Questa :

-Daje 5kk

-Daje 10kk

-Daje 15kk

Limit

Wzięło się 30kk Limit Na Tydzień

II Mnich ID - 20087

Funkcja Questa :

- Chcesz się czegoś nauczyć ??

- Tak , Nie

- Tak - I Jest do wyboru jesteś wojownikiem Body To wybierasz Skile Dla Bodego Jeśli szamanem helerem to dla helera tylko

- Nie - Wróć kiedy indziej

- Wybrałeś obcje tak wyświetliło się obcje Bodego [ Skille Bodego ] Klik i następny komunikat

- Ostatnio Jestem Biedny Mogę Naczuczyć cię skili na perfect master za 30kk

- Zapłać , Wrócę kiedy indziej

P.S. Pyt. Do tych skili mogą one obejmować 6 skill ninja i 6 skill woj ??

 

http://www.mpcforum.pl/topic/272124-tutjak-dodac-nowy-skill-6th/

1312138057-U250359.jpg

By GutenMorgen

Smok

 

w1d6h0.gif

 

Team

 

logocfq.png

 

Filmy

 

Cat_catches_treat.gifPowerwheels_wheelie.gif

Kangaroo_playswith_junk.gifMascot_troll_flashing.gif

 

Opublikowano

Witam poproszę quest w którym u NPC o ID 20094 tp nas na Wezowe Pole. Wymagany lvl to 90 oraz przedmiot o id 60002 (przedmiot ma nie znikac) Gdy nie mamy przedmiotu NPC mowi nam niestety nie masz przy sobie notatki Kapitana, a gdy za maly lvl mowi przykro mi jednak masz zbyt mały poziom aby dostać się do Krainy Wezy.

dCrwk2h.gif

Opublikowano

Witam. Znów mam dla was questa którego skleciłem z innych. Ma on na celu otworzenie pliku "stopp" który znajduje się na serwerze w głównym katalogu (odpala się ją jak np. /start czy /stop, katalog mogę zmienić). Jako że nie mam dostępu do serwera nie wiem czy to "coś" się wg wgra. Quest zmykać ma serwer 30 sec po kliknięciu.

 

Łapcie moje wypociny:

 

 

quest off begin
       state start begin
           when letter with pc . is_gm ( ) begin
           send_letter ( "GM-WYLACZ SERWER" )
       end
           when button or info begin
           local a = select ( "Wylacz Serwer" , "Wyjdź " )
               if a == 1 then
                               say("Podaj login do zalogowania Panelu:")
                               local id = input()
                               if id == "grind" then
                               say("Podałeś prawidłowy login...")
                               wait()
                               say("Wpisz hasło:")
                               local haslo = input()
                               if haslo == "niepodamwam" then
                               say("Hasło poprawne")
                               wait()
                               say(" Czy napewno chcesz wyłączyć serwer? ")
                               local f = select ( " Wyłącz " , " Wyjdź " )
								if a == 1 then
											notice_all (" Serwer za 30 sec zostanie wyłączony ")
											notice_all (" Prosimy się bezzwłocznie wylogować ")
								            game.set_event_flag("kokos", 1)
                                               local wylacz = get_time(30)
                                               pc.setqf("wylacz", wylacz)

                                               if wylacz < 30 then
                                               pc.getqf("wylacz", wylacz)

                                               if wylacz == 30 then
                                               wykonaj("/stopp")
                                               end
                                               end
								end
                               else
                               say("Hasło: "..haslo.." do panelu jest niepoprawne...")
                               end
                               elseif id == "grind" then
                               say("Podałeś prawidłowy nick...")
                               wait()
                               say("Wpisz hasło:")
                               local haslo = input()
                               if haslo == "niepodamwam" then
                               say("Hasło poprawne")
                               wait()
                               say(" Czy napewno chcesz wyłączyć serwer? ")
                               local f = select ( " Wyłącz " , " Wyjdź " )
								if a == 1 then
											notice_all (" Serwer za 30 sec zostanie wyłączony ")
											notice_all (" Prosimy się bezzwłocznie wylogować ") 
								            game.set_event_flag("kokos", 1)
                                               local wylacz = get_time(30)
                                               pc.setqf("wylacz", wylacz)

                                               if wylacz < 30 then
                                               pc.getqf("wylacz", wylacz)

                                               if wylacz == 30 then
                                               wykonaj("/stopp")
                                               end
                                               end
								end
                               else
                               say("Hasło: "..haslo.." do panelu jest niepoprawne...")
                               end
                               else
                               say("Login: "..id.." jest niepoprawny...")
                               end
               elseif a == 2 then
                               say("Dobry wybór")
							end

       end
end
end

 

 

 

Z góry dziękuję :D

 

 

Offtop:

 

Współczuję ze nie rozróżniacie + od - drogie dzieci. Nie wiem ale może pora już odwiedzić jakiegoś okulistę albo coś :) ... resztę pozostawię bez komentarza. Gorące pozdrowienia dla was ! Młaaaach :*

Ktoś zrobi ?

:D

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...