[SERVICE] Die Questerstellung

08/23/2015 01:51 Zaturix#3091
Quote:
Originally Posted by MrTherzon View Post
Kann mir jmd eine Quest machen wo ein Item 100% EXP Bringt?

Hab nichts Public gefunden. Fals etwas Public ist einfach schreiben oder PN.
PHP Code:
quest expnext begin
    state start begin
        when itemid
.use begin
            pc
.give_exp2(pc.get_next_exp())
            
pc.remove_item(itemid) --- Falls das Item nach dem ersten mal verschwinden soll
        end
    end
end 
08/23/2015 08:43 MrTherzon#3092
Quote:
Originally Posted by Zaturix View Post
PHP Code:
quest expnext begin
    state start begin
        when itemid
.use begin
            pc
.give_exp2(pc.get_next_exp())
            
pc.remove_item(itemid) --- Falls das Item nach dem ersten mal verschwinden soll
        end
    end
end 
Danke sollte aber in Form wie ein EXP-Ring funktionieren.

Anstatt 50% halt 100 bringen..
08/23/2015 12:01 rollback#3093
Quote:
Originally Posted by MrTherzon View Post
Danke sollte aber in Form wie ein EXP-Ring funktionieren.

Anstatt 50% halt 100 bringen..
Code:
quest expnext begin
	state start begin
		when itemid.use begin
			--Affect ID 76 = iCafe EXP Bonus
			--toSeconds benutzen oder
			--60*60*24*30 schreiben für 30 Tage
			affect.add_collect(76, 100, toSeconds(Time.DAYS, 30))
			pc.remove_item(itemid) --- Falls das Item nach dem ersten mal verschwinden soll
		end
	end
end
08/29/2015 14:47 joejoe99#3094
Ich bräuchte ne Quest bei der ich:

Das Item xxx gegen ein zufalls Item tausche. Das dann per Tabelle, sodass ich mehrere Items gegen bestimmte zufalls items tauschen kann.

Danke schonmal in Vorraus :)

Mfg.
.Kazuma
08/30/2015 12:06 Aze /..#3095
Könnte mir jemand ne Regenbogenstein Quest erstellen, bei der man auswählen kann, ob man den Skill auf G oder P ziehen will?

Wäre sehr nett.
08/30/2015 13:03 rollback#3096
Quote:
Originally Posted by  Aze  View Post
Könnte mir jemand ne Regenbogenstein Quest erstellen, bei der man auswählen kann, ob man den Skill auf G oder P ziehen will?

Wäre sehr nett.
Code:
quest regi begin
	state start begin
		when REGI_VNUM.use begin
			if pc.get_skill_group() == 0 then
				say("Du musst eine Lehre wählen!")
				return
			end
			local skillList = regi.BuildSkillList(0, 40)
			table.insert(skillList[2], "Abbrechen")
			say("Von welchem Skill möchtest du die Stufe ändern?")
			local skillVnum = skillList[1][select_table(skillList[2])] or false
			if not skillVnum then return end
			say("Auf welche Stufe möchtest diesen Skill setzen?")
			local newLevel = ({20, 30, 40})[select("M1", "G1", "P", "Abbrechen")] or false
			if not newLevel then return end
			pc.set_skill_level(skillVnum, newLevel)
			pc.remove_item(REGI_VNUM)
		end
		
		function BuildSkillList(MIN, MAX)
			local skillList = special.active_skill_list[pc.get_job()+1][pc.get_skill_group()]
			local returnList = {{}, {}}
			for _, skillVnum in pairs(skillList) do
				local skillLevel = pc.get_skill_level(skillVnum)
				if skillLevel >= MIN and <= MAX then
					table.insert(returnList[1], skillVnum)
					table.insert(returnList[2], locale.GM_SKILL_NAME_DICT[skillVnum] or skillVnum)
				end
			end
			return returnList
		end
	end
end
08/30/2015 18:00 Aze /..#3097
Quote:
Originally Posted by Seחsi View Post
Code:
quest regi begin
	state start begin
		when REGI_VNUM.use begin
			if pc.get_skill_group() == 0 then
				say("Du musst eine Lehre wählen!")
				return
			end
			local skillList = regi.BuildSkillList(0, 40)
			table.insert(skillList[2], "Abbrechen")
			say("Von welchem Skill möchtest du die Stufe ändern?")
			local skillVnum = skillList[1][select_table(skillList[2])] or false
			if not skillVnum then return end
			say("Auf welche Stufe möchtest diesen Skill setzen?")
			local newLevel = ({20, 30, 40})[select("M1", "G1", "P", "Abbrechen")] or false
			if not newLevel then return end
			pc.set_skill_level(skillVnum, newLevel)
			pc.remove_item(REGI_VNUM)
		end
		
		function BuildSkillList(MIN, MAX)
			local skillList = special.active_skill_list[pc.get_job()+1][pc.get_skill_group()]
			local returnList = {{}, {}}
			for _, skillVnum in pairs(skillList) do
				local skillLevel = pc.get_skill_level(skillVnum)
				if skillLevel >= MIN and <= MAX then
					table.insert(returnList[1], skillVnum)
					table.insert(returnList[2], locale.GM_SKILL_NAME_DICT[skillVnum] or skillVnum)
				end
			end
			return returnList
		end
	end
end
Danke erstmal, bekomme aber ne komische Fehlerausgabe:

[Only registered and activated users can see links. Click Here To Register...]
08/30/2015 18:09 rollback#3098
Code:
quest regi begin
	state start begin
		when REGI_VNUM.use begin
			if pc.get_skill_group() == 0 then
				say("Du musst eine Lehre wählen!")
				return
			end
			local skillList = regi.BuildSkillList(0, 40)
			table.insert(skillList[2], "Abbrechen")
			say("Von welchem Skill möchtest du die Stufe ändern?")
			local skillVnum = skillList[1][select_table(skillList[2])] or false
			if not skillVnum then return end
			say("Auf welche Stufe möchtest diesen Skill setzen?")
			local newLevel = ({20, 30, 40})[select("M1", "G1", "P", "Abbrechen")] or false
			if not newLevel then return end
			pc.set_skill_level(skillVnum, newLevel)
			pc.remove_item(REGI_VNUM)
		end
		
		function BuildSkillList(MIN, MAX)
			local skillList = special.active_skill_list[pc.get_job()+1][pc.get_skill_group()]
			local returnList = {{}, {}}
			for _, skillVnum in pairs(skillList) do
				local skillLevel = pc.get_skill_level(skillVnum)
				if skillLevel >= MIN and skillLevel <= MAX then
					table.insert(returnList[1], skillVnum)
					table.insert(returnList[2], locale.GM_SKILL_NAME_DICT[skillVnum] or skillVnum)
				end
			end
			return returnList
		end
	end
end
08/30/2015 18:52 noahsipos#3099
Hallo,

ich habe eine Quest, die sehr unübersichtlich und nooblike aufgebaut wurde, da ich noch nicht so gut questen kann. Zudem funktionieren auch nicht mehr alle Menü-Optionen, nachdem ich paar neue Sachen hinzugefügt habe.(Man drückt im Hauptmenü auf eine Option und das Questfenster schließt sich)

Es ist ein GM-Tool/GM-Panel, indem man mehrere Aktionen ohne Codes ausführen kann.

Zudem möchte ich dort auch noch die "Zurück" Funktion bei jedem Menü einbauen, womit man zurück zum Hauptmenü kommt, ohne das Questfenster zu verlassen.
Wäre sehr nett, wenn jemand kurz Zeit dafür hätte. Der jenige kann die Quest ja auch dann releasen.

Die Quest:
08/31/2015 10:41 joejoe99#3100
Immernoch:
08/31/2015 13:51 .Delta#3101
Könnte funktionieren
Lange nichts mehr gemacht :D
PHP Code:
quest itemexchange begin
    state start begin
        when 9001.chat
."Items eintauschen" begin    -- VNUM bitte anpassen
            say
("Hallo "pc.get_name())
            
say("Bei mir kannst du Items die du")
            
say("nicht mehr brauchst eintauschen.")
            
say("Allerdings erhälst du dafür nur ")
            
say("ein Zufallsitem.")
            
say("Ziehe einfach das gewünschte Item auf mich")
            
say("Und ich tausche es für dich ein.")
        
end
        when 9001.take begin
            local ex 
= {
                --[
Vnum des einzutauschenden Items] = {Aufzählung der Zufallsitems, die man erhalten kann},
                [
10] = {111213},
                [
11209] = {112991149911699},
                [
149] = {169179189199150203}
            }
            
local vnum item.vnum
            local r 
number(1table.getn(ex[vnum])
            
local returnvnum ex[vnum][r]
            
pc.remove_item(vnum1)
            
pc.give_item2(returnvnum1)
        
end
    end
end 
08/31/2015 14:01 rollback#3102
Quote:
Originally Posted by .Delta View Post
Könnte funktionieren
Lange nichts mehr gemacht :D
PHP Code:
quest itemexchange begin
    state start begin
        when 9001.chat
."Items eintauschen" begin    -- VNUM bitte anpassen
            say
("Hallo "pc.get_name())
            
say("Bei mir kannst du Items die du")
            
say("nicht mehr brauchst eintauschen.")
            
say("Allerdings erhälst du dafür nur ")
            
say("ein Zufallsitem.")
            
say("Ziehe einfach das gewünschte Item auf mich")
            
say("Und ich tausche es für dich ein.")
        
end
        when 9001.take begin
            local ex 
= {
                --[
Vnum des einzutauschenden Items] = {Aufzählung der Zufallsitems, die man erhalten kann},
                [
10] = {111213},
                [
11209] = {112991149911699},
                [
149] = {169179189199150203}
            }
            
local vnum item.vnum
            local r 
number(1table.getn(ex[vnum])
            
local returnvnum ex[vnum][r]
            
pc.remove_item(vnum1)
            
pc.give_item2(returnvnum1)
        
end
    end
end 
Habs nochmal ein bischen angepasst:
Code:
quest itemexchange begin
	state start begin
		when 9001.chat."Items eintauschen" begin	-- VNUM bitte anpassen
			say("Hallo "..pc.get_name())
			say("Bei mir kannst du Items die du")
			say("nicht mehr brauchst eintauschen.")
			say("Allerdings erhälst du dafür nur ")
			say("ein Zufallsitem.")
			say("Ziehe einfach das gewünschte Item auf mich")
			say("Und ich tausche es für dich ein.")
		end
		when 9001.take begin
			local ex = ({
				--[Vnum des einzutauschenden Items] = {Aufzählung der Zufallsitems, die man erhalten kann},
				[10] = {11, 12, 13},
				[11209] = {11299, 11499, 11699},
				[149] = {169, 179, 189, 199, 150, 203}
			})[item.get_vnum()]
			if not ex then
				syschat("Dieses Item kann nicht eingetauscht werden.")
				return
			end
			local returnvnum = ex[math.random(table.getn(ex))]
			item.remove()
			pc.give_item2(returnvnum)
		end
	end
end
- pc.remove_item(vnum) würde das erste Item im Inventar mit der selben Vnum entfernen, nicht unbedingt das raufgezogene Item
- Hattest ein Punkt bei dem Verbinden der beiden Strings bei say("Hallo "..pc.get_name()) vergessen
- Keine Abfrage, ob das Item wirklich eingetauscht werden kann
08/31/2015 14:10 .Delta#3103
Quote:
Originally Posted by Seחsi View Post
Habs nochmal ein bischen angepasst:
Code:
quest itemexchange begin
	state start begin
		when 9001.chat."Items eintauschen" begin	-- VNUM bitte anpassen
			say("Hallo "..pc.get_name())
			say("Bei mir kannst du Items die du")
			say("nicht mehr brauchst eintauschen.")
			say("Allerdings erhälst du dafür nur ")
			say("ein Zufallsitem.")
			say("Ziehe einfach das gewünschte Item auf mich")
			say("Und ich tausche es für dich ein.")
		end
		when 9001.take begin
			local ex = ({
				--[Vnum des einzutauschenden Items] = {Aufzählung der Zufallsitems, die man erhalten kann},
				[10] = {11, 12, 13},
				[11209] = {11299, 11499, 11699},
				[149] = {169, 179, 189, 199, 150, 203}
			})[item.get_vnum()]
			if not ex then
				syschat("Dieses Item kann nicht eingetauscht werden.")
				return
			end
			local returnvnum = ex[math.random(table.getn(ex))]
			item.remove()
			pc.give_item2(returnvnum)
		end
	end
end
- pc.remove_item(vnum) würde das erste Item im Inventar mit der selben Vnum entfernen, nicht unbedingt das raufgezogene Item
- Hattest ein Punkt bei dem Verbinden der beiden Strings bei say("Hallo "..pc.get_name()) vergessen
- Keine Abfrage, ob das Item wirklich eingetauscht werden kann
- da war was, stimmt.
- Zuviel PHP in letzter Zeit :D
- Vergessen, ja

Naja zulange nichts gemacht.
Wird mal wieder Zeit. hehe
08/31/2015 16:34 joejoe99#3104
.Delta & Sensi...

Danke <3
08/31/2015 16:58 schildkrieg5#3105
suche eine itemzerstörer quest