[SERVICE] Die Questerstellung

02/23/2015 18:12 mkiiing#2236
Hallo zsm :)

also ich suche etwas relativ spezielles und zwar:

-eine Gildenport quest
-soll eine Questrolle erscheinen, sobald man in einer Gilde ist
-wenn man draufklickt, sollen alle Member erscheinen, welche in der Gilde sind^^ und wenns möglich ist, auch anzeigen wer davon online ist
-als normaler Member, sollte man sich zu jedem online Member porten können^^
-als Leader sollte man alle online Member zu sich porten können

Ich weiss, dass es viele Forderungen sind :) wäre aber echt hammer, wenn das jemand hinkriegen würde... (bin mir nicht ganz sicher ob das alles via Quest geht)

Liebe Grüsse
02/23/2015 20:07 Modai#2237
Suche Quester der mir kurz helfen kann :D
Bitte Skype adden
02/24/2015 16:32 WyppyOne#2238
Can you tell me why do i get core dumped ?

piatra.quest:13:syntax error : [string "startpc . get_level ( ) >= 20"]:6: unexpected symbol near `when'

PHP Code:
quest piatra begin
    state start begin
        when login with pc
.get_level() >= 20 begin
            say
("Trebuie sa atingi    Monument piatra Weol ")
            
local v find_npc_by_vnum(20357)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Monument piatra Weol")
            
end
            when __TARGET__
.target.click begin
                target
.delete("__TARGET__")
                
say("GGGG")
            
end
        end
    end
end 
02/24/2015 17:21 [Kaito]#2239
Quote:
Originally Posted by WyppyOne View Post
Can you tell me why do i get core dumped ?

piatra.quest:13:syntax error : [string "startpc . get_level ( ) >= 20"]:6: unexpected symbol near `when'

PHP Code:
quest piatra begin
    state start begin
        when login with pc
.get_level() >= 20 begin
            say
("Trebuie sa atingi    Monument piatra Weol ")
            
local v find_npc_by_vnum(20357)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Monument piatra Weol")
            
end
            when __TARGET__
.target.click begin
                target
.delete("__TARGET__")
                
say("GGGG")
            
end
        end
    end
end 
when __TARGET__.target.click or 20357.chat ."Monument piatra Weol" begin
02/24/2015 17:44 WyppyOne#2240
Quote:
Originally Posted by [Kaito] View Post
when __TARGET__.target.click or 20357.chat ."Monument piatra Weol" begin
same error
02/24/2015 21:00 Nick#2241
Quote:
Originally Posted by WyppyOne View Post
Can you tell me why do i get core dumped ?

piatra.quest:13:syntax error : [string "startpc . get_level ( ) >= 20"]:6: unexpected symbol near `when'

PHP Code:
quest piatra begin
    state start begin
        when login with pc
.get_level() >= 20 begin
            say
("Trebuie sa atingi    Monument piatra Weol ")
            
local v find_npc_by_vnum(20357)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Monument piatra Weol")
            
end
            when __TARGET__
.target.click begin
                target
.delete("__TARGET__")
                
say("GGGG")
            
end
        end
    end
end 
PHP Code:
quest piatra begin
    state start begin
        when login with pc
.get_level() >= 20 begin
            say
("Trebuie sa atingi    Monument piatra Weol ")
            
local v find_npc_by_vnum(20357)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Monument piatra Weol")
            
end
        end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say("GGGG")
        
end
    end
end 
Should work properly now.

Greetings
02/24/2015 21:10 [Kaito]#2242
Quote:
Originally Posted by .JayZoN View Post
PHP Code:
quest piatra begin
    state start begin
        when login with pc
.get_level() >= 20 begin
            say
("Trebuie sa atingi    Monument piatra Weol ")
            
local v find_npc_by_vnum(20357)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Monument piatra Weol")
            
end
        end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say("GGGG")
        
end
    end
end 
Should work properly now.

Greetings
pff da fehlt ja nur ein end. gut bemerkt ^^
02/25/2015 02:25 chamon2009#2243
Ich bräuchte einen Befehl für eine Quest mit dessen Hilfe ich den state einer anderen Quest verändern/auslesen kann. Bitte mit Erklärung des Befehls falls ihr so lieb seid :)

Edit: Durch probieren hab ich rausgefunden, dass set_quest_state("QUESTNAME","STATENAME") meine gesuchte Funktion war, mir fehlt nur noch die zum auslesen...

Edit: get_quest_state("QUESTNAME") hat ne Zahl als Rückgabewert, kann man den irgendwie in für mich lesbare Buchstaben umwandeln? :D es kommen immer so 10-Stellige Zahlen.
02/26/2015 14:27 mkiiing#2244
Quote:
Originally Posted by mkiiing View Post
Hallo zsm :)

also ich suche etwas relativ spezielles und zwar:

-eine Gildenport quest
-soll eine Questrolle erscheinen, sobald man in einer Gilde ist
-wenn man draufklickt, sollen alle Member erscheinen, welche in der Gilde sind^^ und wenns möglich ist, auch anzeigen wer davon online ist
-als normaler Member, sollte man sich zu jedem online Member porten können^^
-als Leader sollte man alle online Member zu sich porten können

Ich weiss, dass es viele Forderungen sind :) wäre aber echt hammer, wenn das jemand hinkriegen würde... (bin mir nicht ganz sicher ob das alles via Quest geht)

Liebe Grüsse
push^^ ist es zu aufwändig?
02/26/2015 14:31 rollback#2245
Quote:
Originally Posted by mkiiing View Post
push^^ ist es zu aufwändig?
Geht soweit ich weiss nicht 100% in LUA, man bräuchte noch ein bischen Python um die Namen / PIDs der Gildenmember auszulesen.

Quote:
Originally Posted by chamon2009 View Post
Ich bräuchte einen Befehl für eine Quest mit dessen Hilfe ich den state einer anderen Quest verändern/auslesen kann. Bitte mit Erklärung des Befehls falls ihr so lieb seid :)

Edit: Durch probieren hab ich rausgefunden, dass set_quest_state("QUESTNAME","STATENAME") meine gesuchte Funktion war, mir fehlt nur noch die zum auslesen...

Edit: get_quest_state("QUESTNAME") hat ne Zahl als Rückgabewert, kann man den irgendwie in für mich lesbare Buchstaben umwandeln? :D es kommen immer so 10-Stellige Zahlen.
Die Funktionen, die du suchst:
PHP Code:
pc.getf()
pc.setf()
pc.delf() 
Beispiel:
PHP Code:
pc.getf("examplequest""exampleflag")
pc.setf("examplequest""exampleflag"1)
pc.delf("examplequest""exampleflag"
02/26/2015 16:34 .yorliK#2246
Quote:
Originally Posted by [Sensenmann] View Post
Geht soweit ich weiss nicht 100% in LUA, man bräuchte noch ein bischen Python um die Namen / PIDs der Gildenmember auszulesen.
Man kann die Namen herausbekommen und dann mit find_pc_by_name und einem pc.select und pc.teleport den Spieler zu sich teleportieren lassen^^ Davon würde ich aber abraten und es wirklich in Python über die Freundesliste machen..
Code:
		function get_guild_member(gildenid, owner)
			mid = mysql_query("SELECT pid FROM player.guild_member WHERE guild_id = '"..gildenid.."';")
			member = { }
			for i=1, table.getn(mid), 1 do
				m = mysql_query("SELECT name FROM player.player WHERE id = '"..mid[i][1].."';")
				if m[1][1]!= owner then
					table.insert(member, m[1][1])
				end
			end
			return member
		end
		function warp_guild_member(name, myname)
			opp = find_pc_by_name(name)
			if not opp or opp == 0 then
				syschat("Error - target is in other channel or channel 99")
			else
				myVid = pc.select(opp)
				pc.teleport(myname)
				pc.select(myVid)
				syschat(name.." wurde teleportiert.")
			end
		end
02/26/2015 19:02 mkiiing#2247
Quote:
Originally Posted by Kilroy. View Post
Man kann die Namen herausbekommen und dann mit find_pc_by_name und einem pc.select und pc.teleport den Spieler zu sich teleportieren lassen^^ Davon würde ich aber abraten und es wirklich in Python über die Freundesliste machen..
Code:
		function get_guild_member(gildenid, owner)
			mid = mysql_query("SELECT pid FROM player.guild_member WHERE guild_id = '"..gildenid.."';")
			member = { }
			for i=1, table.getn(mid), 1 do
				m = mysql_query("SELECT name FROM player.player WHERE id = '"..mid[i][1].."';")
				if m[1][1]!= owner then
					table.insert(member, m[1][1])
				end
			end
			return member
		end
		function warp_guild_member(name, myname)
			opp = find_pc_by_name(name)
			if not opp or opp == 0 then
				syschat("Error - target is in other channel or channel 99")
			else
				myVid = pc.select(opp)
				pc.teleport(myname)
				pc.select(myVid)
				syschat(name.." wurde teleportiert.")
			end
		end
danke erstmals :) also mir würde auch reichen, dass der Leader einfach alle online Mitglieder zu sich porten kann...

liebe grüsse
02/26/2015 19:07 rollback#2248
Quote:
Originally Posted by mkiiing View Post
danke erstmals :) also mir würde auch reichen, dass der Leader einfach alle online Mitglieder zu sich porten kann...

liebe grüsse
ändert nichts am prinzip^^
02/26/2015 19:13 mkiiing#2249
Quote:
Originally Posted by [Sensenmann] View Post
ändert nichts am prinzip^^
hm was müsste ich den machen?... gibts dazu ein howto?^^
02/26/2015 19:15 .yorliK#2250
Quote:
Originally Posted by mkiiing View Post
danke erstmals :) also mir würde auch reichen, dass der Leader einfach alle online Mitglieder zu sich porten kann...

liebe grüsse
Bin ab heute Inaktiv, dies ist die letzte Nachricht bis zum 13.03.

Code:
quest Kilroyxyz begin
	state start begin
		function get_guild_member(gid, me)
			mid = mysql_query("SELECT pid FROM player.guild_member WHERE guild_id = '"..gid.."';")
			member = { }
			for i=1, table.getn(mid), 1 do
				m = mysql_query("SELECT name FROM player.player WHERE id = '"..mid[i][1].."';")
				if m[1][1]!= me then
					table.insert(member, m[1][1])
				end
			end
			return member
		end
		function warp_all_guild_member(member, me)
			for i=1, table.getn(member), 1 do
				opp = find_pc_by_name(member[i])
				if not opp or opp == 0 then
				else 
					myVid = pc.select(opp)
					pc.teleport(me)
					pc.select(myVid)
					syschat(member[i].." wurde teleportiert.")
				end
			end
		end
		when letter with pc.isguildmaster() begin
			send_letter("GildenWarp")
		end
		when button or info with pc.isguildmaster() begin
			say_title("Gilden-Warp")
			say("")
			say("Was möchtest du tun?")
			if select("Alle Member zu mir warpen", "Schließen")==2 then
				return
			else
				member = Kilroyxyz.get_guild_member(pc.get_guild(), pc.get_name())
				Kilroyxyz.warp_all_guild_member(member, pc.get_name())
			end
		end
	end
end