Achivement

11/29/2014 18:44 .yorliK#16
Quote:
Originally Posted by xSaito View Post
Mich würds interessieren wie das mit den AP Punkten unter dem Yang geht im Invi xD
[Only registered and activated users can see links. Click Here To Register...]


Quote:
Originally Posted by IceCreamx3 View Post
E:

Funktioniert jetzt in Großen und Ganzen!
Danke für die (neue) Quest.
Allerdings bekomme ich gar keine AP, wenn ich den Sensi kille (VNUM 1093).
Bei den restlichen Mobs gehts - auch spinnt der AP Counter ein wenig - im Invi werden die AP richtig dazugezählt bzw. angezeigt, beim Counter allerdings nicht.
Hier ein Bild:

[Only registered and activated users can see links. Click Here To Register...]
Code:
quest achievement begin
	state start begin
		function get_points()
			return tonumber(mysql_query("select achievement from player.player where id = ".. pc.get_player_id() ..";")[1][1]) or 0
		end
		function GetInput(value)
			cmdchat("GetInputStart")
			local ret = input(cmdchat(value))
			cmdchat("GetInputStop")
			return ret
		end
		function set_points(p)
			mysql_query("update player.player set achievement = ".. p .." where id = ".. pc.get_player_id() ..";")
		end
		when 20095.chat."Achievementshop" begin
			cmdchat("SetIsNpc")
			npc.open_shop(49)
			setskin(NOWINDOW)
			cmdchat("SetPrice 100|100|100|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0")
		end
		when login begin
			cmdchat("SetQuestIndex "..q.getcurrentquestindex())
			cmdchat("setPP "..pc.getqf("achievement"))
			loop_timer("update", 4)
			if pc.getqf("first") == 0 then
				pc.setqf("achievement", pc.getqf("achievement")+10)
				cmdchat("achievement Dein_erster_Login%".. pc.getqf("achievement"))
				pc.setqf("first",1)
			end
		end
		when update.timer begin
			cmdchat("setPP "..pc.getqf("achievement"))
		end
		when button or info begin
			local items = {
				[1]={19, 1, 100},
				[2]={29, 1, 100},
				[3]={39, 1, 100},
			}
			local slot = tonumber(achievement.GetInput("GetInput"))+1
			if pc.getqf("achievement") >= items[slot][3] then
				pc.setqf("achievement", pc.getqf("achievement")-items[slot][3])
				cmdchat("setPP "..pc.getqf("achievement"))
				pc.give_item2(items[slot][1], items[slot][2])
			else
				cmdchat("NieMamPP")
			end
		end
		when kill with not npc.is_pc() begin
			local data = {
				[1093] = 3,
				[591] = 1,
				[691] = 1,
				[2191] = 2,
				[1304] = 2,
				[2206] = 2,
				[1901] = 2,
				[2091] = 2,
				[1191] = 3,
				[2307] = 2,
				[2493] = 4,
				[2598] = 4,
				[8027] = 1,
				[8051] = 1,
				[8052] = 1,
				[8053] = 1 -- Letzter Eintrag erhält kein Komma!
			}
			local v = npc.get_race()
			local killcount = pc.getqf(v .."_kill")
			local p = data[v] or 0
			if p == 0 then return end
			cmdchat("achievementpoints "..pc.getqf("achievement") + p )
			cmdchat("achievement ".. mob_name(v) .."_getötet#".. killcount + 1 .."%".. pc.getqf("achievement") + p)
			pc.setqf("achievement", pc.getqf("achievement") + p)
		end
	end
end
11/29/2014 21:46 IceCreamx3#17
Quote:
Originally Posted by Kilroy. View Post
[Only registered and activated users can see links. Click Here To Register...]




Code:
quest achievement begin
	state start begin
		function get_points()
			return tonumber(mysql_query("select achievement from player.player where id = ".. pc.get_player_id() ..";")[1][1]) or 0
		end
		function GetInput(value)
			cmdchat("GetInputStart")
			local ret = input(cmdchat(value))
			cmdchat("GetInputStop")
			return ret
		end
		function set_points(p)
			mysql_query("update player.player set achievement = ".. p .." where id = ".. pc.get_player_id() ..";")
		end
		when 20095.chat."Achievementshop" begin
			cmdchat("SetIsNpc")
			npc.open_shop(49)
			setskin(NOWINDOW)
			cmdchat("SetPrice 100|100|100|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0")
		end
		when login begin
			cmdchat("SetQuestIndex "..q.getcurrentquestindex())
			cmdchat("setPP "..pc.getqf("achievement"))
			loop_timer("update", 4)
			if pc.getqf("first") == 0 then
				pc.setqf("achievement", pc.getqf("achievement")+10)
				cmdchat("achievement Dein_erster_Login%".. pc.getqf("achievement"))
				pc.setqf("first",1)
			end
		end
		when update.timer begin
			cmdchat("setPP "..pc.getqf("achievement"))
		end
		when button or info begin
			local items = {
				[1]={19, 1, 100},
				[2]={29, 1, 100},
				[3]={39, 1, 100},
			}
			local slot = tonumber(achievement.GetInput("GetInput"))+1
			if pc.getqf("achievement") >= items[slot][3] then
				pc.setqf("achievement", pc.getqf("achievement")-items[slot][3])
				cmdchat("setPP "..pc.getqf("achievement"))
				pc.give_item2(items[slot][1], items[slot][2])
			else
				cmdchat("NieMamPP")
			end
		end
		when kill with not npc.is_pc() begin
			local data = {
				[1093] = 3,
				[591] = 1,
				[691] = 1,
				[2191] = 2,
				[1304] = 2,
				[2206] = 2,
				[1901] = 2,
				[2091] = 2,
				[1191] = 3,
				[2307] = 2,
				[2493] = 4,
				[2598] = 4,
				[8027] = 1,
				[8051] = 1,
				[8052] = 1,
				[8053] = 1 -- Letzter Eintrag erhält kein Komma!
			}
			local v = npc.get_race()
			local killcount = pc.getqf(v .."_kill")
			local p = data[v] or 0
			if p == 0 then return end
			cmdchat("achievementpoints "..pc.getqf("achievement") + p )
			cmdchat("achievement ".. mob_name(v) .."_getötet#".. killcount + 1 .."%".. pc.getqf("achievement") + p)
			pc.setqf("achievement", pc.getqf("achievement") + p)
		end
	end
end
Danke dir vielmals!
Funktioniert jetzt alles, nur der Sensi spackt noch.

Damit kann ich aber leben :)
11/29/2014 21:49 .yorliK#18
Quote:
Originally Posted by IceCreamx3 View Post
Danke dir vielmals!
Funktioniert jetzt alles, nur der Sensi spackt noch.

Damit kann ich aber leben :)
Wird der Sensi in einer anderen Quest über die Bedingung:
when 1093.kill begin
getötet?

Wenn ja in
when kill with npc.get_race()==1093 begin
umschreiben
11/29/2014 22:13 IceCreamx3#19
Quote:
Originally Posted by Kilroy. View Post
Wird der Sensi in einer anderen Quest über die Bedingung:
when 1093.kill begin
getötet?

Wenn ja in
when kill with npc.get_race()==1093 begin
umschreiben
Hatte ich tatsächlich in der Standard Dämonenturm Quest.
Jetzt klappt auch alles.
Danke dir vielmals!