[SERVICE] Die Questerstellung

04/15/2015 21:19 rollback#2551
Quote:
Originally Posted by Core ツ View Post
#
Code:
quest truheschwert begin
	state start begin
		when TRUHENVNUM.use begin
			pc.remove_item(TRUHENVNUM, 1)
			pc.give_item2(({19, 29})[pc.get_sex()+1], 1)
		end
	end
end
04/16/2015 23:04 [SA]Tauron#2552
Hei habe eine kleine frage kann mir jemand vllt ein Schöneres Warp Quest Menü zusammen setzen mit Reiche dann welches reich dann Map1 oder Map2 Map3

dann Levelmaps Menü mit Level map1 level map 2 Level map3 Levelmap 4 Level Map5 wo ich ab bestimtem lvl einstellen kann

dann ein Menü mit Normale Maps wo ich Ot, wüste, Eisland, Feuerland, Geister Wald, Roter Wald, Land der Riesen,

Dann Doungen Menü mit Sd1 Sd2 Grotte 1 Grotte 2

und zu guter Letzt ein Run Menü mit Dt DC

wo ich bei jeder map das lvl einstellen kann ab welchem lvl man darauf kommt auser auf den normalen Maps

Meine derzeitige Warp Quest liegt auf einem butten

Hier die Quest



quest inventory_teleport begin
state start begin
when login begin
cmdchat("inventory_teleport "..q.getcurrentquestindex())
end
when button begin
say_title("Warpmenue")
local empire = pc.get_empire()
local selectmap = select("Map1","Map2","Orktal","Wueste","Eisland"," Feuerland","Daemonenturm","Geisterwald","Roter Wald","Spinnendungeon","Land der Riesen","Nephritbucht lv. 80","Donnerberge lv. 100","Gautamakliff lv. 115","Kap des Drachenfeuers lv. 125","Vergessenes Tall lv. 135","Feuermap","Spieder-Doungen","WaveWorld","Eingang zur Grotte","Abbrechen")
if selectmap == 17 then
return
elseif selectmap == 7 then
say_title("Warpring")
say("Wohin moechtest du Teleportiert werden?")
pc.warp(590500,110800)
elseif selectmap == 8 then
say_title("Warpring")
say("Wohin moechtest du Teleportiert werden?")
local geisterselect = select("Anfang","Ende","Abbrechen")
if geisterselect == 3 then
return
elseif geisterselect == 1 then
pc.warp(290500,5700)
elseif geisterselect == 2 then
pc.warp(286400,44200)
end
elseif selectmap == 9 then
say_title("Warpring")
say("Wohin moechtest du Teleportiert werden?")
local roterselect = select("Anfang","Ende","Abbrechen")
if roterselect == 3 then
return
elseif roterselect == 1 then
pc.warp(1119900,70800)
elseif roterselect == 2 then
pc.warp(1119100,7700)
end
elseif selectmap == 10 then
say_title("Warpring")
say("Wohin moechtest du Teleportiert werden?")
pc.warp(91700, 525300)
elseif selectmap == 11 then
say_title("Warpring")
say("Wohin moechtest du Teleportiert werden?")
pc.warp(819200, 716800)
elseif selectmap == 12 then
say_title("Warpring")
if pc.get_level() < 80 then say('Du besitzt nicht das benoetigte Level') return end
say("Wohin moechtest du Teleportiert werden?")
pc.warp(1024000, 1664000)
elseif selectmap == 13 then
say_title("Warpring")
if pc.get_level() < 100 then say('Du besitzt nicht das benoetigte Level') return end
say("Wohin moechtest du Teleportiert werden?")
pc.warp(1126400, 1510400)
elseif selectmap == 14 then
say_title("Warpring")
if pc.get_level() < 115 then say('Du besitzt nicht das benoetigte Level') return end
say("Wohin moechtest du Teleportiert werden?")
pc.warp(1049600, 1510400)
elseif selectmap == 15 then
say_title("Warpring")
if pc.get_level() < 125 then say('Du besitzt nicht das benoetigte Level') return end
say("Wohin moechtest du Teleportiert werden?")
pc.warp(1177600, 1664000)
elseif selectmap == 16 then
say_title("Warpring")
if pc.get_level() < 135 then say('Du besitzt nicht das benoetigte Level') return end
say("Wohin moechtest du Teleportiert werden?")
pc.warp(467700, 443400)
elseif selectmap == 17 then
say_title("Warpring")
say("Wohin moechtest du Teleportiert werden?")
pc.warp(284600, 810600)
elseif selectmap == 18 then
say_title("Warpring")
if pc.get_level() < 1 then say('Du besitzt nicht das benoetigte Level') return end
say("Wohin moechtest du Teleportiert werden?")
pc.warp(423600, 423600)
elseif selectmap == 19 then
say_title("Warpring")
if pc.get_level() < 1 then say('Du besitzt nicht das benoetigte Level') return end
say("Wohin moechtest du Teleportiert werden?")
pc.warp(883400, 138200)
elseif selectmap == 20 then
say_title("Warpring")
if pc.get_level() < 1 then say('Du besitzt nicht das benoetigte Level') return end
say("Wohin moechtest du Teleportiert werden?")
pc.warp(123200, 716800)
elseif selectmap == 21 then
say_title("Warpring")
if pc.get_level() < 1 then say('Du besitzt nicht das benoetigte Level') return end
say("Wohin moechtest du Teleportiert werden?")
pc.warp(187400, 1897400)
elseif selectmap == 1 then
say_title("Warpring")
say("Wohin moechtest du Teleportiert werden?")
local map1select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
if map1select == 4 then
return
elseif map1select == 1 then
pc.warp(474300, 954800)
elseif map1select == 2 then
pc.warp(63800, 166400)
elseif map1select == 3 then
pc.warp(959900, 269200)
end
elseif selectmap == 2 then
say_title("Warpring")
say("Wohin moechtest du Teleportiert werden?")
local map2select = select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
if map2select == 4 then
return
elseif map2select == 1 then
pc.warp(353100, 882900)
elseif map2select == 2 then
pc.warp(145500, 240000)
elseif map2select == 3 then
pc.warp(863900, 246000)
end
elseif selectmap == 3 then
say_title("Warpring")
say("Wohin moechtest du Teleportiert werden?")
local otselect = select("Anfang","Mitte","Abbrechen")
if otselect == 3 then
return
elseif otselect == 1 then
if empire == 1 then
pc.warp(402100, 673900)
elseif empire == 2 then
pc.warp(270400, 739900)
elseif empire == 3 then
pc.warp(321300, 808000)
end
elseif otselect == 2 then
pc.warp(332800, 745600)
end
elseif selectmap == 4 then
say_title("Warpring")
say("Wohin moechtest du Teleportiert werden?")
local wuesteselect = select("Anfang","Mitte","Abbrechen")
if wuesteselect == 3 then
return
elseif wuesteselect == 1 then
if empire == 1 then
pc.warp(217800, 627200)
elseif empire == 2 then
pc.warp(221900, 502700)
elseif empire == 3 then
pc.warp(344000, 502500)
end
elseif wuesteselect == 2 then
pc.warp(296800, 547100)
end
elseif selectmap == 5 then
say_title("Warpring")
say("Wohin moechtest du Teleportiert werden?")
local eisselect = select("Anfang","Mitte","Abbrechen")
if eisselect == 3 then
return
elseif eisselect == 1 then
if empire == 1 then
pc.warp(434200, 290600)
elseif empire == 2 then
pc.warp(375200, 174900)
elseif empire == 3 then
pc.warp(491800, 173600)
end
elseif eisselect == 2 then
pc.warp(436500, 215400)
end
elseif selectmap == 6 then
say_title("Warpring")
say("Wohin moechtest du Teleportiert werden?")
local feuerselect = select("Anfang","Mitte","Abbrechen")
if feuerselect == 3 then
return
elseif feuerselect == 1 then
if empire == 1 then
pc.warp(599400, 756300)
elseif empire == 2 then
pc.warp(597800, 622200)
elseif empire == 3 then
pc.warp(730700, 689800)
end
elseif feuerselect == 2 then
pc.warp(600800, 687100)
end
end
end
end
end

wäre echt nett wenn mir das jemand machen könnte

Mfg Tauron
04/17/2015 00:51 MaxChri#2553
Moin, ich habe ein Problem und zwar möchte ich per Quest
einen X beliebigen Spieler auf eine X beliebige Map porten lassen.
Z.B ich porte Spieler XY zu Map1. Und das soll unabhöngig davon sein,
wo ich gerade stehe oder wo er steht.

Kann mir wer dabei helfen?
04/17/2015 02:50 Krausii##2554
Morgen Jungens,
Ich suche eine Quest, wie sollte die Quest aussehen? Die Quest sollte so geschrieben sein wie andere Public Quests wie zbsp. (Steintausch) usw. Was ich genau meine? Das man so und so viele Sachen haben muss und es dann über einen NPC eintauschen kann für ein anderes/mehreres Item.

Die Quest solle dann so aussehen: 10 Seelensteine tauschbar gegen 1 Regenbogenstein.

Hat jemand eine? Hat jemand eine wo ich nur etwas abändern müsste damit es klappt? Kann mir WER bitte kurz eine schreiben wenn das möglich sei? Ich bedanke mich schonmal soweit..

Krausii#
04/17/2015 12:14 .yorliK#2555
Quote:
Originally Posted by MaxChri View Post
Moin, ich habe ein Problem und zwar möchte ich per Quest
einen X beliebigen Spieler auf eine X beliebige Map porten lassen.
Z.B ich porte Spieler XY zu Map1. Und das soll unabhöngig davon sein,
wo ich gerade stehe oder wo er steht.

Kann mir wer dabei helfen?
DYSKaito hat dir doch schon ne Funktion geschrieben...
Code:
quest nX3v1Fy80C3p begin
	state start begin
		when ItemID.use begin
			say_title("Geb den Namen ein")
			name = input()
			repeat
				local map_name = {"Map1", "Map2"}
				local map_info = { --x, y,
					{965483, 276892},
					{2, 2}
				}
				say_title("Warpring")
				say("Wohin soll "..name.." gewarpt werden?")
				local main = map_info[select3(map_name)] or false
				if not main then return end
				while pc.can_warp() != true do
					say("Du kannst dich noch nicht teleportieren.")
					local s = select("Erneut versuchen", "Zum Hauptmenue", "Abbrechen")
					if s == 2 then
						break
					elseif s == 3 then
						return
					end
				end
				ret = nX3v1Fy80C3p.warp_player(name, main[1], main[2])
				syschat("Warpen war "..ret == 1 and "erfolgreich" or "erfolglos.")
				return
			until false
		end
		function warp_player(name, x, y)
			local vid = find_pc_by_name(name)
			if vid==0 or vid==nil then return 0 end
			local myVid = pc.select(vid)
			pc.warp(x,y)
			pc.select(myVid)
			return 1
		end  
	end
end
Quote:
Originally Posted by Krausii# View Post
Morgen Jungens,
Ich suche eine Quest, wie sollte die Quest aussehen? Die Quest sollte so geschrieben sein wie andere Public Quests wie zbsp. (Steintausch) usw. Was ich genau meine? Das man so und so viele Sachen haben muss und es dann über einen NPC eintauschen kann für ein anderes/mehreres Item.

Die Quest solle dann so aussehen: 10 Seelensteine tauschbar gegen 1 Regenbogenstein.

Hat jemand eine? Hat jemand eine wo ich nur etwas abändern müsste damit es klappt? Kann mir WER bitte kurz eine schreiben wenn das möglich sei? Ich bedanke mich schonmal soweit..

Krausii#
Code:
quest J53AD3wbhHNP begin
	state start begin
		when 20011.chat."Regenbogenstein haben wollen" begin
			say_title("Hast du 10 Seelis?")
			say("Wenn ja")
			say("kriegste nen Regenbogenstein!")
			if select("Tauschen", "n anderes Mal")==2 then return end
			if pc.count_item(50513)>=10 then
				say("Danke für den Tausch!")
				pc.remove_item(50513, 10)
				pc.give_item2(50512, 1)
			else
				say("Du hast nicht genug Seelis um zu tauschen.")
			end
		end
	end
end
04/17/2015 12:19 MaxChri#2556
Quote:
Originally Posted by Kilroy. View Post
DYSKaito hat dir doch schon ne Funktion geschrieben...
Code:
quest nX3v1Fy80C3p begin
	state start begin
		when ItemID.use begin
			say_title("Geb den Namen ein")
			name = input()
			repeat
				local map_name = {"Map1", "Map2"}
				local map_info = { --x, y,
					{965483, 276892},
					{2, 2}
				}
				say_title("Warpring")
				say("Wohin soll "..name.." gewarpt werden?")
				local main = map_info[select3(map_name)] or false
				if not main then return end
				while pc.can_warp() != true do
					say("Du kannst dich noch nicht teleportieren.")
					local s = select("Erneut versuchen", "Zum Hauptmenue", "Abbrechen")
					if s == 2 then
						break
					elseif s == 3 then
						return
					end
				end
				ret = nX3v1Fy80C3p.warp_player(name, main[1], main[2])
				syschat("Warpen war "..ret == 1 and "erfolgreich" or "erfolglos.")
				return
			until false
		end
		function warp_player(name, x, y)
			local vid = find_pc_by_name(name)
			if vid==0 or vid==nil then return 0 end
			local myVid = pc.select(vid)
			pc.warp(x,y)
			pc.select(myVid)
			return 1
		end  
	end
end


Code:
quest J53AD3wbhHNP begin
	state start begin
		when 20011.chat."Regenbogenstein haben wollen" begin
			say_title("Hast du 10 Seelis?")
			say("Wenn ja")
			say("kriegste nen Regenbogenstein!")
			if select("Tauschen", "n anderes Mal")==2 then return end
			if pc.count_item(50513)>=10 then
				say("Danke für den Tausch!")
				pc.remove_item(50513, 10)
				pc.give_item2(50512, 1)
			else
				say("Du hast nicht genug Seelis um zu tauschen.")
			end
		end
	end
end
Ich hab die Funktion bzw. das Prinzip wie man die Funktion in einer anderen Quest angibt nicht so verstanden.
04/17/2015 13:35 KΛIƬӨ#2557
Quote:
Originally Posted by MaxChri View Post
Ich hab die Funktion bzw. das Prinzip wie man die Funktion in einer anderen Quest angibt nicht so verstanden.
PHP Code:
function kaito_warp(name,x,y)
 
local vid find_pc_by_name(name)
 
pc.select(vid)
 
pc.warp(x,y)
end 
Jetzt verstanden? Füg das in die Questlib ein und kaito_warp bitte in quest_functions. Außerdem kannst du auch die Function umbenennen,ist mir nix eingefallen :D
04/17/2015 14:59 rollback#2558
Quote:
Originally Posted by DYSKaito View Post
PHP Code:
function kaito_warp(name,x,y)
 
local vid find_pc_by_name(name)
 
pc.select(vid)
 
pc.warp(x,y)
end 
Jetzt verstanden? Füg das in die Questlib ein und kaito_warp bitte in quest_functions. Außerdem kannst du auch die Function umbenennen,ist mir nix eingefallen :D
bin mir nicht sicher, aber funktioniert find_pc_by_name() nicht nur auf der gleichen map? dann würde das ganze nämlich keinen sinn ergeben^^
04/18/2015 02:08 Krausii##2559
Könnte wer sich um eine Quest kümmern? Hat jemand eine Quest schon wo man evtl. sogar nur etwas ändern müsste? Die Quest sollte wie folgt aussehen!

Quest: Jede Stunde soll ein Text Ingame erscheinen (wie wenn man /n macht) mit meinen Text/Texten. Also, Jede Stunde ein Text für alle lesbar zbsp. "Bitte votet jeden Tag für diesen Server, Meldet Buggs direkt an den GM sowas halt.
04/18/2015 03:31 K.A.K.A.S.H.I#2560
Könnte mir bitte jemand eine quest erstellen die immer wenn dass bestimmte Monster getötet wird in GM Rufchat schreibt damit es jeder lesen kann *Name des Spielers* hat den Boss *Name des Bosses den ich selbst reinschreiben kann* getötet und nach dem Töten sollte er ein Item bekommen, und zwar sollte er das Item 1x bekommen, und bevor er es bekommt, sollte sein Inventar gecheckt bekommen, und bevor er es bekommt, wenn nicht dann soll das Item ins Lager gesteckt werden.
04/18/2015 12:44 KΛIƬӨ#2561
Quote:
Originally Posted by Krausii# View Post
Könnte wer sich um eine Quest kümmern? Hat jemand eine Quest schon wo man evtl. sogar nur etwas ändern müsste? Die Quest sollte wie folgt aussehen!

Quest: Jede Stunde soll ein Text Ingame erscheinen (wie wenn man /n macht) mit meinen Text/Texten. Also, Jede Stunde ein Text für alle lesbar zbsp. "Bitte votet jeden Tag für diesen Server, Meldet Buggs direkt an den GM sowas halt.
PHP Code:
quest kaito begin
    state start begin
        when login begin
            timer
("timer1"60*60)
        
end
        when timer1
.timer begin
            timer
("timer2"60*60)
            
chat("blabla")
        
end
        when timer2
.timer begin
            timer
("timer3"60*60)
            
chat("board.saomt2.org")
        
end
        when timer3
.timer begin
            timer
("timer1"60*60)
            
chat("saomt2 total cool")
        
end
        when timer4
.timer begin
            timer
("timer1"60*60)
            
chat("board.saomt2.org")
        
end
        when timer5
.timer begin
            timer
("timer1"60*60)
            
chat("board.saomt2.org")
        
end
    end
end 
Text nur anpassen :D
Quote:
Originally Posted by K.A.K.A.S.H.I View Post
Könnte mir bitte jemand eine quest erstellen die immer wenn dass bestimmte Monster getötet wird in GM Rufchat schreibt damit es jeder lesen kann *Name des Spielers* hat den Boss *Name des Bosses den ich selbst reinschreiben kann* getötet und nach dem Töten sollte er ein Item bekommen, und zwar sollte er das Item 1x bekommen, und bevor er es bekommt, sollte sein Inventar gecheckt bekommen, und bevor er es bekommt, wenn nicht dann soll das Item ins Lager gesteckt werden.
Vnum vom Item und die Größe ( Slotsbeitrag ) bitte kurz mal Bescheid sagen.
04/18/2015 13:11 i[Remix]#2562
Quote:
Originally Posted by DYSKaito View Post
PHP Code:
quest kaito begin
    state start begin
        when login begin
            timer
("timer1"60*60)
        
end
        when timer1
.timer begin
            timer
("timer2"60*60)
            
chat("blabla")
        
end
        when timer2
.timer begin
            timer
("timer3"60*60)
            
chat("board.saomt2.org")
        
end
        when timer3
.timer begin
            timer
("timer1"60*60)
            
chat("saomt2 total cool")
        
end
        when timer4
.timer begin
            timer
("timer1"60*60)
            
chat("board.saomt2.org")
        
end
        when timer5
.timer begin
            timer
("timer1"60*60)
            
chat("board.saomt2.org")
        
end
    end
end 
Text nur anpassen :D


Vnum vom Item und die Größe ( Slotsbeitrag ) bitte kurz mal Bescheid sagen.
Code:
quest notifications begin
	state start begin
		when login begin
			loop_timer("notice", 60*60)
			if pc.getf("notice", "flag") == 0 then
				pc.setf("notice", "flag", 1)
			end
		end
		when notice.timer begin
			local msg = {
				"Vergesst nicht zu voten",
				"Besucht unser Forum",
				"Ein Teammitglied fragt niemals nach Accountdaten"
			}
			
			-- für zufällige Ausgabe
			notice(msg[math.random(1, table.getn(msg))])
			
			-- Ausgabe nach Reihenfolge
			notice(msg[pc.getf("notice", "flag")])
			pc.setf("notice", "flag", pc.getf("notice", "flag") + 1)
			if pc.getf("notice", "flag") > table.getn(msg) then
				pc.setf("notice", "flag", 1)
			end
		end
	end
end
Wozu so kompliziert?
04/18/2015 13:22 KΛIƬӨ#2563
Quote:
Originally Posted by i[Remix] View Post
Code:
quest notifications begin
	state start begin
		when login begin
			loop_timer("notice", 60*60)
			if pc.getf("notice", "flag") == 0 then
				pc.setf("notice", "flag", 1)
			end
		end
		when notice.timer begin
			local msg = {
				"Vergesst nicht zu voten",
				"Besucht unser Forum",
				"Ein Teammitglied fragt niemals nach Accountdaten"
			}
			
			-- für zufällige Ausgabe
			notice(msg[math.random(1, table.getn(msg))])
			
			-- Ausgabe nach Reihenfolge
			notice(msg[pc.getf("notice", "flag")])
			pc.setf("notice", "flag", pc.getf("notice", "flag") + 1)
			if pc.getf("notice", "flag") > table.getn(msg) then
				pc.setf("notice", "flag", 1)
			end
		end
	end
end
Wozu so kompliziert?
Hast Recht. Gute Quest :)
04/18/2015 13:48 MaxChri#2564
Moooin ich hab nen Problem und zwar ist meine Quest buggy:

Also man soll in einer Inputbox eine Zahl eintragen. Diese wird *60 gerechnet
und soll eine Zeiteinheit sein. Das Problem ist, der Input wird, wenn er im Chat ausgegeben wird, als 0 ausgegeben. Erst nach einem Relog wird sie richtig angezeigt bzw. ausgelesen.

local input = input()
game.set_event_flag("Name", input *60)
notice_all("Die Zahl lautet"..input)

Bei notice_all würde jetzt "Die Zahl lautet 0" rauskommen.
Die Func game.set_event ist dazu da, um die Zahl auf einen
anderen Spieler zu übertragen und da wird sie auch als 0 ausgegeben.
Erst nach einem Relog geht das :(

Was komischt ist, wenn die Zahl vorgefertigt ist (mit select System), dann
wird bei game.set_event die Zahl richtig übertragen aber im notice_all chat wiederrrum nicht.

Kann mir wer bei dem komischen Fail helfen?
04/18/2015 13:51 KΛIƬӨ#2565
Quote:
Originally Posted by MaxChri View Post
Moooin ich hab nen Problem und zwar ist meine Quest buggy:

Also man soll in einer Inputbox eine Zahl eintragen. Diese wird *60 gerechnet
und soll eine Zeiteinheit sein. Das Problem ist, der Input wird, wenn er im Chat ausgegeben wird, als 0 ausgegeben. Erst nach einem Relog wird sie richtig angezeigt bzw. ausgelesen.

local input = input()
game.set_event_flag("Name", input *60)
notice_all("Die Zahl lautet"..input)

Bei notice_all würde jetzt "Die Zahl lautet 0" rauskommen.
Die Func game.set_event ist dazu da, um die Zahl auf einen
anderen Spieler zu übertragen und da wird sie auch als 0 ausgegeben.
Erst nach einem Relog geht das :(

Was komischt ist, wenn die Zahl vorgefertigt ist (mit select System), dann
wird bei game.set_event die Zahl richtig übertragen aber im notice_all chat wiederrrum nicht.

Kann mir wer bei dem komischen Fail helfen?
Code:
local input = tonumber(input())*60
	notice_all("Die Zahl lautet"..input)
Wenn ich es richtig verstanden habe sollte es so gehen.