[SERVICE] Die Questkontrolle

03/12/2015 17:53 .Mosh36#11176
PHP Code:
quest pvp begin 
    state start begin 
        when login 
or levelup with pc.get_level() >= 75 and pc.getqf("level") == 75 begin
            say
("Herzlichen Glückwunsch!")
            
say("Du hast das Level 75 erreicht ,")
            
say("Ab jetzt wirst du für das töten eines Spielers")
            
say("aus dem anderen Reich belohnt!")
            
say("")
            
say("Hier die Bonis die du erhälst:")
            
say_reward("50 Spieler getoetet = 10% Angriffsgeschwindigkeit")
            
say_reward("100 Spieler getoetet = 10% TP-Regeneration")
            
say_reward("200 Spieler getoetet = 5% Verteidigung gegen alle Rassen")
            
say_reward("500 Spieler getoetet = 10% Verteidigung gegen alle Rassen")
            
pc.setqf("level"1)
        
end
        when kill with npc
.is_pc() begin
            
if get_time() < pc.getqf("kill_time"then
                chat
("Die 2 Minuten sind derzeit noch nicht vergangen")
                
chat("Du erhielst keinen Punkt")
                return
            
end
            chat
("Du hast einen Punkt erhalten.")
            
chat("Einen weiteren Punkt erhaelst du in erst 15 Sekunden.")
            
chat("Derzeit besitz du "..pc.getqf("kill_punkte").." Punkt(e)")
            
pc.setqf("kill_punkte"pc.getqf("kill_punkte")+1)
            
pc.setqf("kill_time"get_time() + 5*3)
            if 
pc.getqf("kill_punkte") == 50 then
                affect
.add_collect(apply.ATT_SPEED,10,60*60*24*365*60)
                
say("Du hast soeben 50 Leute getoetet")
                
say("Dafuer kriegst du 10% Angriffsgeschwindigkeit!")
            elseif 
pc.getqf("kill_punkte") == 100 then
                affect
.add_collect(apply.HP_REGEN,10,60*60*24*365*60)
                
say("Du hast soeben 100 Leute getoetet")
                
say("Dafuer hast du 10% TP-Regeneration!")
            elseif 
pc.getqf("kill_punkte") == 200 then
                affect
.add_collect(apply.RESIST_ASSASSIN,5,60*60*24*365*60)
                
affect.add_collect(apply.RESIST_SURA,5,60*60*24*365*60)
                
affect.add_collect(apply.RESIST_SHAMAN,5,60*60*24*365*60)
                
affect.add_collect(WARRIOR,5,60*60*24*365*60)
                
say("Du hast soeben 200 Leute getoetet")
                
say("Dafuer kriegst du 5% Verteidigung gegen alle Rassen!")
            elseif 
pc.getqf("kill_punkte") == 500 then
                affect
.add_collect(apply.RESIST_ASSASSIN,10,60*60*24*365*60)
                
affect.add_collect(apply.RESIST_SURA,10,60*60*24*365*60)
                
affect.add_collect(apply.RESIST_SHAMAN,10,60*60*24*365*60)
                
affect.add_collect(WARRIOR,10,60*60*24*365*60)
                
say("Du hast soeben 500 Leute getoetet")
                
say("Dafuer kriegst du nochmal 10% Verteidigung gegen alle Rassen!")
                
say("")
                
say("Du hast jetzt durch die PvP-Quest folgende Bonis erhalten:")
                
say("10% Angriffsgeschwindigkeit")
                
say("10% TP-Regeneration")
                
say("15% Verteidigung gegen alle Rassen")
                
say("")
                
say("Das Shining2-Team wünscht dir nun weiterhin viel Spaß.")
            
end
        end
    end
end 
Die Quest wird fehlerhaft in Putty angezeigt nach dem reloaden, weiß jemand weiter?
03/12/2015 19:07 Nick#11177
Quote:
Originally Posted by .Mosh36 View Post


Die Quest wird fehlerhaft in Putty angezeigt nach dem reloaden, weiß jemand weiter?
Die Quest dürfte in der Form durchaus durch den Quest-Compiler rennen, auf dem Screen aus deinem vorigen Thema lässt sich auch lediglich der gewöhnliche Output erkennen. Die Quest beinhaltet allerdings ein paar logische Fehler.


lg
03/12/2015 20:17 rollback#11178
So würden die kills schon ab lv1 zählen
03/13/2015 17:03 .Mosh36#11179
Die Quest funktioniert immernoch nicht ..

[Only registered and activated users can see links. Click Here To Register...]

Das kommt jetzt in Putty
03/13/2015 18:13 Dyshaxo#11180
Quote:
Originally Posted by .Mosh36 View Post
Die Quest funktioniert immernoch nicht ..

[Only registered and activated users can see links. Click Here To Register...]

Das kommt jetzt in Putty
Versuch' die Quest mal like this:

Code:
quest pvp begin 
	state start begin 
		when login or levelup with pc.get_level() >= 75 begin
			set_state(q_pvp_run)
		end
	end
	
	state q_pvp_run begin
		when letter begin
			send_letter("Level 75+ PvP-Quest")
		end
		
		when button or info begin
			say_title("Du hast Level 75 erreicht!")
			say("")
			say("Von nun an wirst du für das töten von")
			say("Spielern eines anderen Reiches belohnt.")
			say("")
			say("Dafür erhälst du folgende Attribute:")
			say_reward("50 Spieler getoetet => 10% Angriffsgeschwindigkeit")
			say_reward("100 Spieler getoetet => 10% TP-Regeneration")
			say_reward("200 Spieler getoetet => 5% Verteidigung gegen alle Rassen")
			say_reward("500 Spieler getoetet => 10% Verteidigung gegen alle Rassen")
		end

		when kill with npc.is_pc() and not npc_is_same_empire() begin
			if get_time() < pc.getf("pvp", "kill_time") then chat("Die 15 Sekunden sind derzeit noch nicht vergangen, keinen Punkt erhalten.") return end
			pc.setf("pvp", "kill_point", pc.getf("pvp", "kill_point") + 1)
			chat("Du hast einen Kill-Punkt erhalten.")
			chat("In 15 Sekunden kannst du den nächsten Punkt bekommen.")
			chat("Derzeit besitz du %d Punkt(e)", pc.getf("pvp", "kill_point"))
			pc.setf("pvp", "kill_time", get_time() + 15)

			if pc.getf("pvp", "kill_point") == 50 then
				affect.add_collect(apply.ATT_SPEED,10,60*60*24*365*60)
				say("Du hast soeben den 50. Spieler getötet")
				say("Dafür erhälst du permanent +10% Angriffsgeschwindigkeit!")
			elseif pc.getf("pvp", "kill_point") == 100 then
				affect.add_collect(apply.HP_REGEN,10,60*60*24*365*60)
				say("Du hast soeben den 100. Spieler getötet")
				say("Dafür erhälst du permanent +10% TP-Regeneration!")
			elseif pc.getf("pvp", "kill_point") == 200 then
				affect.add_collect(apply.RESIST_ASSASSIN,5,60*60*24*365*60)
				affect.add_collect(apply.RESIST_SURA,5,60*60*24*365*60)
				affect.add_collect(apply.RESIST_SHAMAN,5,60*60*24*365*60)
				affect.add_collect(WARRIOR,5,60*60*24*365*60)
				say("Du hast soeben den 200. Spieler getötet")
				say("Dafür erhälst du permanent +5% Verteidigung gegen alle Rassen!")
			elseif pc.getf("pvp", "kill_point") == 500 then
				affect.add_collect(apply.RESIST_ASSASSIN,10,60*60*24*365*60)
				affect.add_collect(apply.RESIST_SURA,10,60*60*24*365*60)
				affect.add_collect(apply.RESIST_SHAMAN,10,60*60*24*365*60)
				affect.add_collect(WARRIOR,10,60*60*24*365*60)
				say_title("Aufgabe Abgeschlossen!")
				say("")
				say("Du hast soeben den 500. Spieler getötet")
				say("Dafür erhälst du permanent +10% Verteidigung gegen alle Rassen!")
				say("")
				say("Die Aufgabe wurde Abgeschlossen.")
				say("Durch die Aufgabe hat dein Character permanent")
				say("folgende Attribute erhalten:")
				say_reward("10% Angriffsgeschwindigkeit")
				say_reward("10% TP-Regeneration")
				say_reward("15% Verteidigung gegen alle Rassen")
				say("")
				say_reward("Das Shining2-Team wünscht dir nun weiterhin viel Spaß.")
				wait()
				set_state(__COMPLETE__)
			end
		end
	end
	
	state __COMPLETE__ begin
	end
end
03/14/2015 10:18 .Mosh36#11181
Jetzt kommt:

[Only registered and activated users can see links. Click Here To Register...]
03/15/2015 01:07 Nick#11182
Quote:
Originally Posted by .Mosh36 View Post
Die Quest funktioniert immernoch nicht ..

[Only registered and activated users can see links. Click Here To Register...]

Das kommt jetzt in Putty
Wie bereits erwähnt, ist dies der gewöhnliche Text, der während dem Kompilieren ausgegeben wird. Ich habe meine überarbeitete Version soeben durch den Compiler gejagt und keinerlei Fehler verzeichnen können. Dasselbe betrifft im Übrigen auch Dyshaxo's Quest, wobei du vermutlich nicht den kompletten Inhalt kopiert hast.

lg
03/15/2015 16:08 SolWayne#11183
So kleines problem ^^ ich möchte das folgende quest erscheint bei lvl 90 oder höher habe es eig so geschrieben das es schon gehen soll aber sie kommt nicht könnt ihr mal schauen :D

PHP Code:
quest user begin 
    state start begin
        when level with pc
.get_level() == 90 begin
            send_letter
("90er Map's"
        
end
            when button 
or info begin
                say
("Du willst dich also Teleportieren?")
                
say("")
                
local j select("Ja","Nein")
                if 
== 2 then
                    
return
                
end
                
if == 1 then
                    say_reward
("Wo möchtest du hin:")
                    
local k select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens")
                    if 
== 5 then
                        
return
                    
end
                    
if == 1 then
                        pc
.warp(1177616640)
                    
end
                    
if == 2 then
                        pc
.warp(1126415104)
                    
end
                    
if == 3 then
                        pc
.warp (1177616640)
                    if 
== 4 then
                        pc
.warp (1049615104)
                    
end
                end    
            end
        end
    end
end 
03/15/2015 16:40 rollback#11184
When Level begin? Was soll das sein
03/15/2015 16:40 SolWayne#11185
Neu :

Hab grade paar sachen dran gemacht

PHP Code:
quest user begin 
    state start begin
        when login 
or levelup with pc.get_level() >= 90 begin
            send_letter
("90er Map's"
        
end
            when button 
or info begin
                say
("Du willst dich also Teleportieren?")
                
say("")
                
local j select("Ja","Nein")
                if 
== 2 then
                    
return
                
end
                
if == 1 then
                    say_reward
("Wo möchtest du hin:")
                    
local k select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens")
                    if 
== 5 then
                        
return
                    
end
                    
if == 1 then
                        pc
.warp(1177616640)
                    
end
                    
if == 2 then
                        pc
.warp(1126415104)
                    
end
                    
if == 3 then
                        pc
.warp (1177616640)
                    if 
== 4 then
                        pc
.warp (1049615104)
                    
end
                end    
            end
        end
    end
    state __complete begin 
    end 
end 
reloaden geht immer noch aber quest immer noch nicht zu sehen

Quote:
Originally Posted by definitely not Sensenmann View Post
When Level begin? Was soll das sein
sry war nicht extra bin etwas dicht ^^
03/15/2015 16:46 [Kaito]#11186
Quote:
Originally Posted by SolWayne View Post
Neu :

Hab grade paar sachen dran gemacht

PHP Code:
quest user begin 
    state start begin
        when login 
or levelup with pc.get_level() >= 90 begin
            send_letter
("90er Map's"
        
end
            when button 
or info begin
                say
("Du willst dich also Teleportieren?")
                
say("")
                
local j select("Ja","Nein")
                if 
== 2 then
                    
return
                
end
                
if == 1 then
                    say_reward
("Wo möchtest du hin:")
                    
local k select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens")
                    if 
== 5 then
                        
return
                    
end
                    
if == 1 then
                        pc
.warp(1177616640)
                    
end
                    
if == 2 then
                        pc
.warp(1126415104)
                    
end
                    
if == 3 then
                        pc
.warp (1177616640)
                    if 
== 4 then
                        pc
.warp (1049615104)
                    
end
                end    
            end
        end
    end
    state __complete begin 
    end 
end 
reloaden geht immer noch aber quest immer noch nicht zu sehen



sry war nicht extra bin etwas dicht ^^
Code:
quest user begin 
    state start begin
        when login or levelup with pc.get_level() >= 90 begin
            send_letter("90er Map's") 
        end
        when button or info begin
			say("Du willst dich also Teleportieren?")
            say("")
            local j = select("Ja","Nein")
            if j == 2 then
               return
            end
            if j == 1 then
				say_reward("Wo möchtest du hin:")
                local k = select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens")
                if k == 5 then
					return
                end
                elseif k == 1 then
					pc.warp(11776, 16640)
                end
				elseif k == 2 then
					pc.warp(11264, 15104)
				end
				elseif k == 3 then
					pc.warp (11776, 16640)
				end
				elseif k == 4 then
					pc.warp (10496, 15104)
                end    
            end
        end
		setstate(__complete)
    end
    state __complete begin 
    end 
end

btw du kannst alles viel kürzer schreiben.
03/15/2015 16:53 SolWayne#11187
Quote:
Originally Posted by [Kaito] View Post
Code:
quest user begin 
    state start begin
        when login or levelup with pc.get_level() >= 90 begin
            send_letter("90er Map's") 
        end
        when button or info begin
			say("Du willst dich also Teleportieren?")
            say("")
            local j = select("Ja","Nein")
            if j == 2 then
               return
            end
            if j == 1 then
				say_reward("Wo möchtest du hin:")
                local k = select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens")
                if k == 5 then
					return
                end
                elseif k == 1 then
					pc.warp(11776, 16640)
                end
				elseif k == 2 then
					pc.warp(11264, 15104)
				end
				elseif k == 3 then
					pc.warp (11776, 16640)
				end
				elseif k == 4 then
					pc.warp (10496, 15104)
                end    
            end
        end
		setstate(__complete)
    end
    state __complete begin 
    end 
end

btw du kannst alles viel kürzer schreiben.
hab deine reingemacht

PHP Code:
http://prntscr.com/6h3srs 
03/15/2015 17:02 [Kaito]#11188
Quote:
Originally Posted by SolWayne View Post
hab deine reingemacht

PHP Code:
http://prntscr.com/6h3srs 
Code:
quest neugeschriebenvonkaito begin
	state start begin
		when login or levelup with pc.get_level() >= 90 begin
			send_letter("90er Maps")
		end
		when button or info begin
			say_title("90er Maps")
			say("")
			say_reward("Du willst dich telepotieren?")
			if select ("Ja","Nein") == 2 then return end 
			say_reward("Wo möchtest du hin:")
			local f = select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens")
			if f == 5 then return
			elseif f == 1 then
				pc.warp(ka,ka)
			elseif f == 2 then 
				pc.warp(ka,ka)
			elseif f == 3 then 
				pc.warp(ka,ka)
			elseif f == 4 then
				pc.warp(ka,ka)
			end
		end
	end
end
So müsste es gehen =)
03/15/2015 17:08 Nick#11189
Quote:
Originally Posted by SolWayne View Post
hab deine reingemacht

PHP Code:
http://prntscr.com/6h3srs 
Die Levelabfrage beim Button nicht vergessen.

PHP Code:
quest user begin 
    state start begin
        when login 
or levelup with pc.get_level() >= 90 begin
            send_letter
("90er Map's"
        
end
        when button 
or info with pc.get_level() >= 90 begin
            say
("Du willst dich also Teleportieren?")
            
say("")
            if 
select("Ja","Nein") == 2 then return end
            say_reward
("Wo möchtest du hin:")
            
local k select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens")
            if 
== 1 then
                pc
.warp(1177616640)
            elseif 
== 2 then
                pc
.warp(1126415104)
            elseif 
== 3 then
                pc
.warp (1177616640)
            elseif 
== 4 then
                pc
.warp (1049615104)
            else return 
end 
        end
    end
end 
lg
03/15/2015 17:17 rollback#11190
Code:
quest user begin 
	state start begin
		when login or levelup with pc.get_level() >= 90 begin
			send_letter("90er Map's") 
		end
		when button or info with pc.get_level() >= 90 begin
			say("Du willst dich also Teleportieren?")
			say("")
			if select("Ja", "Nein") == 2 then return end
			say_reward("Wo möchtest du hin:")
			local k = select("Dawnmistwood","Mt Thunder","Cape Dragon Head","Bay Black Sand","Nirgens")
			if k == 5 then
				return
			elseif k == 1 then
				pc.warp(11776, 16640)
			elseif k == 2 then
				pc.warp(11264, 15104)
			elseif k == 3 then
				pc.warp(11776, 16640)
			elseif k == 4 then
				pc.warp(10496, 15104)
			end
		end
	end
end