[SERVICE] Die Questkontrolle

08/05/2015 18:27 Prof.MindFreak#11836
Quote:
Originally Posted by Seחsi View Post
Probiers mal so:

Code:
quest startersetoki begin
	state start begin
		when 70007.use begin
			local colors = {
				{name = "Rot", r = 255, g = 000, b = 000},
				{name = "Gelb", r = 000, 000, 000},
			}
			local colornames = {}
			for _,v in ipairs(colors) do
				table.insert(colornames, v.name)
			end
			table.insert(colornames, "Abbrechen")
			say_title("Das Rang-System")
			say("Dein Rangname wurde erfolgreich erstellt.")
			say_reward("Wähle deine Farbe aus.")
			local color = colors[select_table(colornames)] or false
			if not color then return end
			startersetoki.inp_name(color)
		end
		function inp_name(color)
			say_title("Das Rang-System")
			say("Gewählte Farbe: "..color.name)
			say("")
			say_reward("Gib einen Namen für einen Rangnamen ein.")
			say_reward("Es sind maximal 5 Zeichen erlaubt.")
			local rankname = input()
			if string.len(rankname) < 1 or string.len(rankname) > 5 then
				say("Du darfst nur 5 Zeichen nutzen!")
				startersetoki.inp_name(color)
				return
			end
			mysql_query("UPDATE player.player SET prank = '"..rankname.."', color_r = "..color.r..", color_g = "..color.g..", color_b = "..color.b.." WHERE id = "..pc.get_player_id().." LIMIT 1;")
		end
	end
end
Hey, Irgendwie möchte sich die Quest nicht laden lassen.
Ich bekomme diesen Fehler:ipairs
08/05/2015 18:33 rollback#11837
Quote:
Originally Posted by Prof.MindFreak View Post
Hey, Irgendwie möchte sich die Quest nicht laden lassen.
Ich bekomme diesen Fehler:ipairs
schreib ipairs in die quest_functions
08/05/2015 18:40 xBes#11838
Hey hätte da me ein Problem mit meiner give_basic_weapon.quest, komm da grad ned drauf :D
Putty spuckt mir den Fehler aus :
syntax error : [string "test1"]:19: `}' expected (to close `{' at line 7) near `['
Error occured on compile give_basic_weapon.quest


PHP Code:
quest give_basic_weapon begin
    state start begin
        when login with pc
.get_level() >= 1 begin
            set_state
(test1)
        
end
    end
    state test1 begin
        when letter begin
            send_letter
("Willkommen!")
        
end
        when button 
or info begin
            local items_give 
= {
                [
27003] = 200,
                [
27006] = 200,
                [
39006] = 200,
                [
27101] = 20,
                [
27112] = 20,
                [
14009] = 1,
                [
13009] = 1,
                [
15009] = 1,
                [
16009] = 1,
                [
17009] = 1,
                [
50052] = 1
                
            
}
            
local item_race = ({
                [
"Krieger"] = {
                    [
19] = 1, --Schwert+9
                    
[3009] = 1, --Glefe+9
                    
[11209] = 1, --Mönchsplatten Panzer+9
                    
[12209]    = --Traditioneller Helm+9
                
},
                [
"Ninja"] = {
                    [
1009] = 1, --Dolch+9
                    
[2009] = 1, --Bogen+9
                    
[11409] = 1, --AzurAnzug+9
                    
[8000] = 200, --Holzpfeile
                    
[12349]    = --Lederkapuze+9
                
}
                [
"Sura"] = {
                    [
19] = 1, --Schwert+9
                    
[11609] = 1, --Requiem-Plattenpanzer+9
                    
[12489] = --Blutiger Helm+9
                
}, 
                [
"Schamane"] = { 
                    [
7009] = 1, --Fächer+9
                    
[11809] = 1, --Purpurkleidung+9
                    
[12629] = 1    -- Mönchshut+9
                
}
            })[({
"Krieger""Ninja""Sura""Schamane"})[pc.get_job()+1]] 
            for 
vnum,count in pairs(items_give) do
                
pc.give_item2(vnumcount)
            
end
            
for vnum,count in pairs(rasse_item) do
                
pc.give_item2(vnumcount)
            
end
            say_title
("")
            
say("")
            
set_state(__COMPLETE__)
        
end
    end
    state __COMPLETE__ begin
    end
end 
08/05/2015 18:46 rollback#11839
hinter dem ninja table ein komma
08/05/2015 18:56 Prof.MindFreak#11840
Quote:
Originally Posted by Seחsi View Post
schreib ipairs in die quest_functions
Habe ich gemacht! Aber nach dem ich auf Okay klicke passiert nichts.[Only registered and activated users can see links. Click Here To Register...]
08/05/2015 18:58 rollback#11841
Quote:
Originally Posted by Prof.MindFreak View Post
Habe ich gemacht! Aber nach dem ich auf Okay klicke passiert nichts.[Only registered and activated users can see links. Click Here To Register...]
eigentlich sollte da garkein ok sein
08/09/2015 00:18 Prof.MindFreak#11842
Quote:
Originally Posted by Seחsi View Post
Probiers mal so:

Code:
quest startersetoki begin
	state start begin
		when 70007.use begin
			local colors = {
				{name = "Rot", r = 255, g = 000, b = 000},
				{name = "Gelb", r = 000, 000, 000},
			}
			local colornames = {}
			for _,v in ipairs(colors) do
				table.insert(colornames, v.name)
			end
			table.insert(colornames, "Abbrechen")
			say_title("Das Rang-System")
			say("Dein Rangname wurde erfolgreich erstellt.")
			say_reward("Wähle deine Farbe aus.")
			local color = colors[select_table(colornames)] or false
			if not color then return end
			startersetoki.inp_name(color)
		end
		function inp_name(color)
			say_title("Das Rang-System")
			say("Gewählte Farbe: "..color.name)
			say("")
			say_reward("Gib einen Namen für einen Rangnamen ein.")
			say_reward("Es sind maximal 5 Zeichen erlaubt.")
			local rankname = input()
			if string.len(rankname) < 1 or string.len(rankname) > 5 then
				say("Du darfst nur 5 Zeichen nutzen!")
				startersetoki.inp_name(color)
				return
			end
			mysql_query("UPDATE player.player SET prank = '"..rankname.."', color_r = "..color.r..", color_g = "..color.g..", color_b = "..color.b.." WHERE id = "..pc.get_player_id().." LIMIT 1;")
		end
	end
end
Hey, könntest du noch eine Funktion einbauen wo man seinen Rangnamen zurücksetzen kann ?
Ich habe das Problem das ich einen Rangnamen setzen kann, aber wenn er schon gesetzt ist, dann kann man ihn nicht neu setzen.
08/11/2015 15:29 x3_wLanKabel#11843
Die Quest soll einen 250.000.000 Yang geben, wenn man das Item 80008 anklickt, leider kommt ein Fehler beim compilen.

PHP Code:
quest yang begin
    state start begin
    when 80008.
use
        
local vnum item.get_vnum()
        
local barren = {
        [
80008] = {2500000000}, --Goldklumpen
        local give_yang 
barren[vnum][1]
        
local check_can_gold pc.get_gold() + give_yang
        
if tonumber(check_can_gold) >= tonumber(1999999999then
            syschat
("Du kannst diesen "..item_name(vnum).." nicht einlösen. Du überschreitest die Yangrenze.")
        else
            
syschat("Dein "..item_name(vnum).." konnte eingelöst werden. Du erhälst "..give_yang.." Yang.")
            
pc.change_gold(give_yang)
            
item.remove()
        
end
    end
    end
end 
08/11/2015 15:36 rollback#11844
Code:
quest yangbarren begin
	state start begin
		when 80008.use begin
			local vnum = item.get_vnum()
			local yang = ({
				[80008] = 2500000000,--Goldklumpen
			})[vnum] or 0
			if pc.get_gold() + yang >= 2000000000 then
				syschat("Du kannst diesen "..item_name(vnum).." nicht einlösen. Du überschreitest die Yangrenze.")
				return
			end
			pc.change_gold(yang)
			pc.remove_item(vnum)
			syschat("Dein "..item_name(vnum).." konnte eingelöst werden. Du erhälst "..yang.." Yang.")
		end
	end
end
08/11/2015 15:41 KΛIƬӨ#11845
Quote:
Originally Posted by x3_wLanKabel View Post
Die Quest soll einen 250.000.000 Yang geben, wenn man das Item 80008 anklickt, leider kommt ein Fehler beim compilen.

PHP Code:
quest yang begin
    state start begin
    when 80008.
use
        
local vnum item.get_vnum()
        
local barren = {
        [
80008] = {2500000000}, --Goldklumpen
        local give_yang 
barren[vnum][1]
        
local check_can_gold pc.get_gold() + give_yang
        
if tonumber(check_can_gold) >= tonumber(1999999999then
            syschat
("Du kannst diesen "..item_name(vnum).." nicht einlösen. Du überschreitest die Yangrenze.")
        else
            
syschat("Dein "..item_name(vnum).." konnte eingelöst werden. Du erhälst "..give_yang.." Yang.")
            
pc.change_gold(give_yang)
            
item.remove()
        
end
    end
    end
end 
Code:
quest yang begin
    state start begin
		when 80008.use begin
			local vnum = item.get_vnum()
			local barren = {
			[80008] = {2500000000}
			}--Goldklumpen
			local give_yang = barren[vnum]
			local check_can_gold = pc.get_gold() + give_yang
			if check_can_gold >= 1999999999 then
				syschat("Du kannst diesen "..item_name(vnum).." nicht einlösen. Du überschreitest die Yangrenze.")
			else
				syschat("Dein "..item_name(vnum).." konnte eingelöst werden. Du erhälst "..give_yang.." Yang.")
				pc.change_gold(give_yang)
				item.remove()
			end
       end
    end
end
Quote:
Originally Posted by Seחsi View Post
Code:
quest yangbarren begin
	state start begin
		when 80008.use
			local vnum = item.get_vnum()
			local yang = ({
				[80008] = 2500000000,--Goldklumpen
			})[vnum] or 0
			if pc.get_gold() + yang >= 2000000000 then
				syschat("Du kannst diesen "..item_name(vnum).." nicht einlösen. Du überschreitest die Yangrenze.")
				return
			end
			pc.change_gold(yang)
			pc.remove_item(vnum)
			syschat("Dein "..item_name(vnum).." konnte eingelöst werden. Du erhälst "..yang.." Yang.")
		end
	end
end
hast oben das begin vergessen
08/11/2015 15:52 rollback#11846
Quote:
Originally Posted by KΛIƬӨ View Post
Code:
quest yang begin
    state start begin
		when 80008.use begin
			local vnum = item.get_vnum()
			local barren = {
			[80008] = {2500000000}
			}--Goldklumpen
			local give_yang = barren[vnum]
			local check_can_gold = pc.get_gold() + give_yang
			if check_can_gold >= 1999999999 then
				syschat("Du kannst diesen "..item_name(vnum).." nicht einlösen. Du überschreitest die Yangrenze.")
			else
				syschat("Dein "..item_name(vnum).." konnte eingelöst werden. Du erhälst "..give_yang.." Yang.")
				pc.change_gold(give_yang)
				item.remove()
			end
       end
    end
end


hast oben das begin vergessen
Und du das [1] nach barren[vnum] (weil das ein Table ist) ;)
08/11/2015 16:23 KΛIƬӨ#11847
Quote:
Originally Posted by Seחsi View Post
Und du das [1] nach barren[vnum] (weil das ein Table ist) ;)
Und du hast ein unnötiges Komma bei dem Table rangesetzt (weil da nix mehr danach kommt) ;)
08/11/2015 16:28 rollback#11848
Quote:
Originally Posted by KΛIƬӨ View Post
Und du hast ein unnötiges Komma bei dem Table rangesetzt (weil da nix mehr danach kommt) ;)
Mit Absicht, weil es zu viele Leute nicht verstehen wenn sie neue hinzufügen
08/12/2015 11:25 OnkelHawk#11849
huhu :D hab ein problem mit der quest (werde weiterhin versuchen dran rumzuwerkeln|bin anfänger :D ) :

PHP Code:
quest fischer begin 

    
---------------------------------- 
    -- 
LvL 30 Karpfen 
    
---------------------------------- 
    
state start begin 
        when first
.login or levelup with pc.level>29 begin 
            set_state
(fischerlabern1
        
end     
    end 
    state fischerlabern1 begin 
        when letter begin 
            local v 
find_npc_by_vnum(9009
            if 
!= 0 then target.vid("__TARGET__"v"Fischer"
            
end 
            send_letter
("Angeln"
        
end 
        when button 
or info begin 
            say_title
("Angeln"
            
say(""
            
say("Der Fischer verlangt nach dir."
            
say("Lauf zu ihm."
            
say(""
            
say_reward("Geh zum Fischer"
            
say(""
        
end 
        when __TARGET__
.target.click or 9009.chat."Die Mandarinfische" begin 
            target
.delete("__TARGET__"
            
say("Fischer:"
            
say(""
            
say("Hey junger Kämpfer."
            
say("Ich bin der Fischer hier im Dorf"
            
say("und ich habe eine Aufgabe für dich!"
            
say("Angle mir einen Mandarinfisch , denn meine"
            
say("Frau hat Hunger darauf."
            
say(""
            
wait() 
            
say("Fischer:"
            
say("Natürlich belohne ich dich gut dafür!"
            
say("Also los kauf bei mir die Angel"
            
say("und fang an zu fischen!"
            
say("Petri Heil!"
            
say(""
            
wait() 
        
end 
    end 
        when 9009.chat
."Mandarinfisch" with pc.count_item(27804)>0 begin 
            
if get_time()>pc.getqf("duration"then 
                say
("Oh danke mein Freund."
                
say("Jetzt kann ich endlich meiner Frau"
                
say("den Fisch geben!"
                
say(""
                
pc.remove_item("27804"1
                
pc.setqf("duration",get_time()+0
                
wait() 
                        
say("Fischer:"
                        
say("Mh ich habe hier nichts außer meiner Angel."
                        
say("Geh zu meinem Neffen Fritz er wird dir"
                        
say("etwas geben."
                        
say(""
                        
pc.setqf("collect_count",0
                        
pc.setqf("duration",0)  
                        
set_state(preis
                    
end 
                end                                 
            end 
        end 
    end   
    state preis begin 
        when __TARGET__
.target.click  or 20014.chat."Belohnung vom Fischer" begin 
            target
.delete("__TARGET__"
            
say_title("Fritz:"
            
say("Danke ,dass du meinem Onkel geholfen hast"
            
say("Hier eine seltene Truhe für dich."
            
say(""
            
pc.give_item2(50033)
        
end 
    end 
end 
08/12/2015 11:30 rollback#11850
Quote:
Originally Posted by OnkelHawk View Post
hab ein problem mit der quest
das nenn' ich mal eine detaillierte Fehlerbeschreibung. Kannst du uns mehr Infos geben?