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

Kamień, papier, nożyce


Rekomendowane odpowiedzi

Opublikowano

Chyba nie muszę tłumaczyć na czym to polega, ale gdyby jednak:
 
 1397130207-U483446.jpg

http://pl.wikipedia.org/wiki/Papier,_kamień,_nożyce

Quest:

http://wklej.to/WxYWa

 

 

--[[Quest by Gebel
Dla Serwera Tyria.pl
Zakaz publikowania/sprzedawania/etc.
bez mojej zgody !

GG: 46526993
]]
quest kamienPapier begin
	state start begin
		function nazwa()
			say_title(mob_name(npc.get_race())..":[ENTER]")
		end
		function gram(koszt, mnoznik)
			-- tak, wiem o zmiennych globalnych. Ale tak mi wygodniej. Pozdro.
			kamienPapier.nazwa()
			if koszt > pc.get_money() then
				say("Nie masz wymaganej ilości Yang.")
				say("Brakuje Ci "..koszt-pc.get_money().." Yang.")
				return
			end
			if pc.get_money()+koszt+(mnoznik*koszt) >= 2000000000 then
				say("Nie możesz zagrać, ponieważ masz")
				say("za dużo Yang w Ekwipunku.")
				say()
				return
			end
			pc.change_money(-koszt)
			say("Widzę, że zdecydowałeś się ze mną zagrać.")
			say()
			say_title("Co wybierasz?")
			say()
			local trzy = select("Kamień ", "Papier", "Nożyce")
			if trzy > 0 and trzy <= 3 then
				kamienPapier.nazwa()
				if trzy == 1 then
					wybor_npc = number(2, 3)
				elseif trzy == 2 then
					if number(1, 2) == 1 then
						wybor_npc = 1
					else
						wybor_npc = 3
					end
				elseif trzy == 3 then
					wybor_npc = number(1, 2)
				end
				local tekst = {"kamień ", "papier ", "nożyce "}
				local tekst_big = {"Kamień ", "Papier ", "Nożyce "}
				local z_czym = {"kamieniem", "papierem", "nożycami"}
				local co_robia = {"wygrywa ", "wygrywa ", "wygrywają "}
				say("Ty wybrałeś "..tekst[trzy].."natomiast ja")
				say("wybrałem "..tekst[wybor_npc])
				say()
				if trzy == 1 and wybor_npc == 3 or trzy == 2 and wybor_npc == 1 or trzy == 3 and wybor_npc == 2 then
					say(tekst_big[trzy]..co_robia[trzy].."z "..z_czym[wybor_npc]..".")
					say()
					say_reward("Wygrałeś "..koszt+(mnoznik*koszt).." Yang.")
					pc.change_money(koszt+(mnoznik*koszt))
					say("Gratulacje.")
				else
					say(tekst_big[wybor_npc]..co_robia[wybor_npc].."z "..z_czym[trzy]..".")
					say()
					say("Przegrałeś.")
				end
				say()
			else
				kamienPapier.nazwa()
				say("Wystąpił błąd. Spróbuj ponownie.")
			end
		end
		when 20095.chat."Kamień, Papier, Nożyce" begin
			local KOSZT_ZAGRANIA = 1000000		-- 1kk
			local MNOZNIK_WYGRANEJ = 10 		-- WYGRANA = KOSZT_ZAGRANIA+(10%*KOSZT_ZAGRANIA)
			kamienPapier.nazwa()
			say("Jeżeli chcesz zagrać ze mną ")
			say("w kamień, papier, nożyce musisz")
			say("zapłacic "..KOSZT_ZAGRANIA.." Yang wpisowego.")
			say()
			say_reward("Chcesz zagrać?")
			say()
			local gra = select("Chcę zagrać.", "Zasady", "Wyjście") 
			if gra == 1 then
				kamienPapier.gram(KOSZT_ZAGRANIA, MNOZNIK_WYGRANEJ)
			elseif gra == 2 then
				kamienPapier.nazwa()
				say("Zasady są proste. Wybierasz jeden z")
				say("trzech przycisków. Kamień, papier lub")
				say("nożyce.")
				say()
				say_reward("Kamień wygrywa z nożycami.")
				say_reward("Papier wygrywa z kamieniem.")
				say_reward("Nożyce wygrywają z papierem.")
				say()
				say_title("Chcesz zagrać?")
				say()
				if select("Tak", "Nie") == 1 then
					kamienPapier.gram(KOSZT_ZAGRANIA, MNOZNIK_WYGRANEJ)
				end
			end
		end
	end
end

 

 

Opublikowano

Dobry pomysł, prosty quest czyli tak jak być powinno. Nie do końca widzę sens funkcji nazwa(), ponieważ jej zawartość spokojnie można wrzucić do kodu. Tablice też chyba bym przerobił na jedną wielowymiarową umieszczoną trochę wcześniej. Ogólnie spoko.

Specjalista
Opublikowano

Widzę ,ze serwer vixa juz sobie taki Quest przygarnął :)

A co Ty myślałeś,zaraz połowa serwerów to będzie miała bo nawet nawet ten quest.

 

@top ciekawe,przydatny quest.

Plusa zostawiam.

Pomogłeś,pomogę kiedy tylko brachu mogę!

 

graphic.png

 

Opublikowano

Mi coś nie działa, rozumiem ze w linijce say_title(mob_name(npc.get_race())..":[ENTER]") trzeba wpisać id jakiegos npc ? tak ? wpsiałem sobie ale nie działa. Klikam u npc i nic sie nie dzieje.

Opublikowano

Mi coś nie działa, rozumiem ze w linijce say_title(mob_name(npc.get_race())..":[ENTER]") trzeba wpisać id jakiegos npc ? tak ? wpsiałem sobie ale nie działa. Klikam u npc i nic sie nie dzieje.

Nie wpisuj tam ID.. 

Opublikowano

Dobra już kumpel mi pomógł ! ale mam inne pytanie czy ktoś wie jak zmienić nagrode ? chce aby otrzymywano 50035 skrzynie

 

quest kamienPapier begin
	state start begin
		function gram(koszt, mnoznik, nagroda, ilosc, warunek1, warunek2)
			say_title(mob_name(npc.get_race())..":[ENTER]")
			if koszt > pc.get_money() then
				say("Nie masz wymaganej ilości Yang.")
				say("Brakuje Ci "..koszt-pc.get_money().." Yang.")
				return
			end
			if pc.get_money()+koszt+(mnoznik*koszt) >= 2000000000 then
				say("Nie możesz zagrać, ponieważ masz")
				say("za dużo Yang w Ekwipunku.")
				say()
				return
			end
			if pc.get_empty_inventory_count() < ilosc then
				say("Nie masz wystarczającej ilości miejsca w ekwipunku!")
				return
			end
			pc.change_money(-koszt)
			say("Widzę, że zdecydowałeś się ze mną zagrać.")
			say()
			say_title("Co wybierasz?")
			say()
			local trzy = select("Kamień ", "Papier", "Nożyce")
			if trzy > 0 and trzy <= 3 then
				say_title(mob_name(npc.get_race())..":[ENTER]")
				if trzy == 1 then
					wybor_npc = number(2, 3)
				elseif trzy == 2 then
					if number(1, 2) == 1 then
						wybor_npc = 1
					else
						wybor_npc = 3
					end
				elseif trzy == 3 then
					wybor_npc = number(1, 2)
				end
				local tekst = {"kamień ", "papier ", "nożyce "}
				local tekst_big = {"Kamień ", "Papier ", "Nożyce "}
				local z_czym = {"kamieniem", "papierem", "nożycami"}
				local co_robia = {"wygrywa ", "wygrywa ", "wygrywają "}
				say("Ty wybrałeś "..tekst[trzy].."natomiast ja")
				say("wybrałem "..tekst[wybor_npc])
				say()
				if trzy == 1 and wybor_npc == 3 or trzy == 2 and wybor_npc == 1 or trzy == 3 and wybor_npc == 2 then
					say(tekst_big[trzy]..co_robia[trzy].."z "..z_czym[wybor_npc]..".")
					say()
					say_reward("Wygrałeś:")
					if warunek1==1 then
						say(koszt+(mnoznik*koszt).." Yang.")
						pc.change_money(koszt+(mnoznik*koszt))
					end
					if warunek2==1 then
						say_item(item_name(nagroda).." x"..ilosc, nagroda, "")		
						pc.give_item2(nagroda, ilosc)
					end
					if warunek1==0 and warunek2==0 then
						say("Nagrody są obecnie wyłączone.")
					end
					say("Gratulacje.")
				else
					say(tekst_big[wybor_npc]..co_robia[wybor_npc].."z "..z_czym[trzy]..".")
					say()
					say("Przegrałeś.")
				end
				say()
			else
			say_title(mob_name(npc.get_race())..":[ENTER]")
				say("Wystąpił błąd. Spróbuj ponownie.")
			end
		end
		when 20095.chat."Kamień, Papier, Nożyce" begin
			local KOSZT_ZAGRANIA = 1000000	-- koszt	
			local MNOZNIK_WYGRANEJ = 10 	-- mnożnik	
			local ID_NAGRODY = 50035 	-- id itemu	
			local ILOSC_NAGRODY = 1 	-- ilość sztuk itemu	
			local WARUNEK_YANG = 1		-- 1-włącz  0- wyłącz nagrode w yang
			local WARUNEK_ITEM = 1		-- 1-włącz  0- wyłącz nagrode w itemie
			say_title(mob_name(npc.get_race())..":[ENTER]")
			say("Jeżeli chcesz zagrać ze mną ")
			say("w kamień, papier, nożyce musisz")
			say("zapłacic "..KOSZT_ZAGRANIA.." Yang wpisowego.")
			say()
			say_reward("Chcesz zagrać?")
			say()
			local gra = select("Chcę zagrać.", "Zasady", "Wyjście") 
			if gra == 1 then
				kamienPapier.gram(KOSZT_ZAGRANIA, MNOZNIK_WYGRANEJ, ID_NAGRODY, ILOSC_NAGRODY, WARUNEK_YANG, WARUNEK_ITEM)
			elseif gra == 2 then
				say_title(mob_name(npc.get_race())..":[ENTER]")
				say("Zasady są proste. Wybierasz jeden z")
				say("trzech przycisków. Kamień, papier lub")
				say("nożyce.")
				say()
				say_reward("Kamień wygrywa z nożycami.")
				say_reward("Papier wygrywa z kamieniem.")
				say_reward("Nożyce wygrywają z papierem.")
				say()
				say_title("Chcesz zagrać?")
				say()
				if select("Tak", "Nie") == 1 then
					kamienPapier.gram(KOSZT_ZAGRANIA, MNOZNIK_WYGRANEJ, ID_NAGRODY, ILOSC_NAGRODY, WARUNEK_YANG, WARUNEK_ITEM)
				end
			end
		end
	end
end

 

  • 2 miesiące temu...
Opublikowano

Heheh,dobre jeszcze tego nie widziałem,dobry sposób na zabicie nudy.

No i można jakieś nagrody ciekawe dać.

Plus się należy za kreatywność. :P

85i0.png

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...