[SERVICE] Die Questerstellung

05/24/2015 23:34 KΛIƬӨ#2821
Quote:
Originally Posted by usr.setVnum(1093) View Post
Code:
quest metinkill begin
	state start begin
		when login or levelup with pc.get_level() >= 5 begin
			send_letter("Metin des Kummers")
		end
		when button or info with pc.get_level() >= 5 begin
			say_title("Töte Metin des Kummers")
			say("Du musst 5x Metin des Kummers töten.")
			say_reward("Töte 5x Metin des Kummers")
			wait()
			pc.setqf("count", 5)
			clear_letter()
			set_state(quest)
		end
	end
	state quest begin
		when login or enter begin
			send_letter("Metin des Kummers")
			q.set_count("Metin d. Kummers", pc.getqf("count"))
		end
		when button or info begin
			say_title("BEISPIELTITEL")
			say("TEXT")
			say("TEXT")
			say("TEXT")
			say("Zerstöre 5x Metin des Kummers") --gelb gibt es standardmäßig nicht
			say("")
			say("Du musst noch "..pc.getqf("count").." Metin des Kummers töten.")
		end
		when kill with npc.get_race() == VNUM_VOM_METIN begin
			local newqf = pc.getqf("count")-1
			pc.setqf("count", newqf)
			if newqf < 1 then
				say("Du hast es geschafft!")
				pc.give_item2(({52010, 52011, 52012})[select("Löwe", "Keiler", "Wolf")])
				clear_letter()
				set_state(_COMPLETE_)
			end
		end
	end
	state _COMPLETE_ begin
	end
end
Mir hat 1/4 gefehlt um sie fertig zu machen und dann postest du sie einfach. -.-
05/25/2015 10:01 mortovivo13#2822
Quests Request

First one: when player kill 3 types of mobs give a random item from a list with percentage!


Second one: when player login say in green Welcome to ....
05/25/2015 10:08 .Soυzα#2823
Quote:
Originally Posted by usr.setVnum(1093) View Post
Code:
quest metinkill begin
	state start begin
		when login or levelup with pc.get_level() >= 5 begin
			send_letter("Metin des Kummers")
		end
		when button or info with pc.get_level() >= 5 begin
			say_title("Töte Metin des Kummers")
			say("Du musst 5x Metin des Kummers töten.")
			say_reward("Töte 5x Metin des Kummers")
			wait()
			pc.setqf("count", 5)
			clear_letter()
			set_state(quest)
		end
	end
	state quest begin
		when login or enter begin
			send_letter("Metin des Kummers")
			q.set_count("Metin d. Kummers", pc.getqf("count"))
		end
		when button or info begin
			say_title("BEISPIELTITEL")
			say("TEXT")
			say("TEXT")
			say("TEXT")
			say("Zerstöre 5x Metin des Kummers") --gelb gibt es standardmäßig nicht
			say("")
			say("Du musst noch "..pc.getqf("count").." Metin des Kummers töten.")
		end
		when kill with npc.get_race() == VNUM_VOM_METIN begin
			local newqf = pc.getqf("count")-1
			pc.setqf("count", newqf)
			if newqf < 1 then
				say("Du hast es geschafft!")
				pc.give_item2(({52010, 52011, 52012})[select("Löwe", "Keiler", "Wolf")])
				clear_letter()
				set_state(_COMPLETE_)
			end
		end
	end
	state _COMPLETE_ begin
	end
end
zusatz.quest:14:syntax error : [string "startpc . get_level ( ) >= 5"]:7: unexpected symbol near `quest'
Error occured on compile zusatz.quest
05/25/2015 12:22 KΛIƬӨ#2824
Quote:
Originally Posted by .Soυzα View Post
zusatz.quest:14:syntax error : [string "startpc . get_level ( ) >= 5"]:7: unexpected symbol near `quest'
Error occured on compile zusatz.quest
ich denke clear_letter() in mittem einem letter buggt herum.

Quote:
Originally Posted by mortovivo13 View Post
Quests Request

First one: when player kill 3 types of mobs give a random item from a list with percentage!


Second one: when player login say in green Welcome to ....
Code:
quest kaito begin
	state start begin
		when kill with npc.get_race() == mob1 or npc.get_race() == mob2 or npc.get_race() == mob3 and number(1,50) <= 25 begin
			local tab = 
				{vnum1},
				{vnum2},
				{vnum3}
			for __,i in pairs(tab) do
				local s = number(1,table.getn(i))
				if s == 1 then
					pc.give_item2(tab[1])
				elseif s == 2 then
					pc.give_item2(tab[2])
				elseif s == 3 then
					pc.give_item2(tab[3])
				end
			end
		end
	end
end

Code:
quest kaito begin -- MIJAGO QUESTLIB REQUIRED
	state start begin
		when login begin
			say_green("Welcome to ... "..pc.get_name())
		end
	end
end
05/25/2015 13:01 .Soυzα#2825
Quote:
Originally Posted by DYSKaito View Post
ich denke clear_letter() in mittem einem letter buggt herum.
Wie kann ich das jetzt genau beheben?
05/25/2015 13:04 ℜyzє#2826
Quote:
Originally Posted by DYSKaito View Post
ich denke clear_letter() in mittem einem letter buggt herum.
Nein.


Quote:
Originally Posted by .Soυzα View Post
Wie kann ich das jetzt genau beheben?
Code:
quest metinkill begin
	state start begin
		when login or levelup with pc.get_level() >= 5 begin
			send_letter("Metin des Kummers")
		end
		when button or info with pc.get_level() >= 5 begin
			say_title("Töte Metin des Kummers")
			say("Du musst 5x Metin des Kummers töten.")
			say_reward("Töte 5x Metin des Kummers")
			wait()
			pc.setqf("count", 5)
			set_state(asasdda)
			clear_letter()
		end
	end
	state asasdda begin
		when login or enter begin
			send_letter("Metin des Kummers")
			q.set_count("Metin d. Kummers", pc.getqf("count"))
	end
		when button or info begin
			say_title("BEISPIELTITEL")
			say("TEXT")
			say("TEXT")
			say("TEXT")
			say("Zerstöre 5x Metin des Kummers") --gelb gibt es standardmäßig nicht
			say("")
			say("Du musst noch "..pc.getqf("count").." Metin des Kummers töten.")
		end
		when kill with npc.get_race() == VNUM_VOM_METIN begin
			local newqf = pc.getqf("count")-1
			pc.setqf("count", newqf)
			if newqf < 1 then
				say("Du hast es geschafft!")
				pc.give_item2(({52010, 52011, 52012})[select("Löwe", "Keiler", "Wolf")])
				clear_letter()
				set_state(_COMPLETE_)
			end
		end
	end
	state _COMPLETE_ begin
	end
end
05/25/2015 16:08 #.TwoFace.##2827
#Edit
05/25/2015 16:23 rollback#2828
Quote:
Originally Posted by #.TwoFace.# View Post
#Edit
Code:
quest truhe begin
	state start begin
		when truhevnum.use begin
			local items = ({
				{19, 29},--lv 1 - 20
				{39, 49},--lv 21 - 40
				{59, 69},--lv 41 - 60
				{79, 89},--lv 61 - 80
				{99, 109}--lv 81 - 100
			})[math.ceil(pc.get_level()/20)]
			pc.give_item2(items[math.random(1, table.getn(items))])
			pc.remove_item(item.get_vnum())
		end
	end
end
05/25/2015 16:24 .Soυzα#2829
#edit
05/25/2015 16:35 KΛIƬӨ#2830
Quote:
Originally Posted by usr.setVnum(1093) View Post
Code:
quest truhe begin
	state start begin
		when truhevnum.use begin
			local items = ({
				{19, 29},--lv 1 - 20
				{39, 49},--lv 21 - 40
				{59, 69},--lv 41 - 60
				{79, 89},--lv 61 - 80
				{99, 109}--lv 81 - 100
			})[math.ceil(pc.get_level()/20)]
			pc.give_item2(items[math.random(1, table.getn(items))])
			pc.remove_item(item.get_vnum())
		end
	end
end
schöne quest, aber denke es gibt noch item.remove(). Removt das aktuelle Item. Kann aber sein dass es manchmal herumbuggt.

Quote:
Originally Posted by usr.setVnum(1093) View Post
Code:
quest truhe begin
	state start begin
		when truhevnum.use begin
			local items = ({
				{19, 29},--lv 1 - 20
				{39, 49},--lv 21 - 40
				{59, 69},--lv 41 - 60
				{79, 89},--lv 61 - 80
				{99, 109}--lv 81 - 100
			})[math.ceil(pc.get_level()/20)]
			pc.give_item2(items[math.random(1, table.getn(items))])
			pc.remove_item(item.get_vnum())
		end
	end
end
würde so btw net funktionieren. habs gerade getestet
05/25/2015 17:15 rollback#2831
Quote:
Originally Posted by DYSKaito View Post
schöne quest, aber denke es gibt noch item.remove(). Removt das aktuelle Item. Kann aber sein dass es manchmal herumbuggt.



würde so btw net funktionieren. habs gerade getestet
item.remove() entfernt den kompletten Stack, doof wenn man einen 200 Stapel hat.

Was genau funktioniert nicht?
05/25/2015 17:38 .Soυzα#2832
danke nochmals an usr.setVnum aka Sensenmann , DYSKaito und .Xyron™ für die tolle hilfe.

Gruß,
Souza.
05/25/2015 17:50 KΛIƬӨ#2833
Quote:
Originally Posted by usr.setVnum(1093) View Post
item.remove() entfernt den kompletten Stack, doof wenn man einen 200 Stapel hat.

Was genau funktioniert nicht?
es wird nur ein item gegeben.

mit einer for schleife werden dann zwei random gegeben.
05/25/2015 18:30 rollback#2834
Quote:
Originally Posted by DYSKaito View Post
es wird nur ein item gegeben.

mit einer for schleife werden dann zwei random gegeben.
Es soll doch nur ein item gegeben werden
05/25/2015 19:28 Nick#2835
Quote:
Originally Posted by usr.setVnum(1093) View Post
Code:
quest truhe begin
	state start begin
		when truhevnum.use begin
			local items = ({
				{19, 29},--lv 1 - 20
				{39, 49},--lv 21 - 40
				{59, 69},--lv 41 - 60
				{79, 89},--lv 61 - 80
				{99, 109}--lv 81 - 100
			})[math.ceil(pc.get_level()/20)]
			pc.give_item2(items[math.random(1, table.getn(items))])
			pc.remove_item(item.get_vnum())
		end
	end
end
Wenn du bei pc.remove_item() auf den Count verzichtest, kannst du den Mindestwert bei math.random() genauso außen vor lassen, sofern du keinen anderen Mindestwert als 1 definieren möchtest. math.random(10) würde eine Ganzzahl zwischen 1 und 10 generieren.

lg