[SERVICE] Die Questkontrolle

10/26/2014 07:20 foxyfoxtrod#10576

Das ist nicht all zu schwer. Im Screenshot siehst du schon deinen Fehler: Du hast ein "then" vergessen bei elseif a =0 4

Code:
elseif a == 4 then
                if pc.count_item(50095) >= 150 then
                    pc.give_item2(27992, 6)
					pc.give_item2(27993, 6)
					pc.give_item2(27994, 6)
                    pc.remove_item(50095, 150)
                else
                    say("Du hast zuwenig kuerbise")
                end
10/26/2014 11:57 Bercol#10577
Quote:
Originally Posted by foxyfoxtrod View Post

Das ist nicht all zu schwer. Im Screenshot siehst du schon deinen Fehler: Du hast ein "then" vergessen bei elseif a =0 4

Code:
elseif a == 4 then
                if pc.count_item(50095) >= 150 then
                    pc.give_item2(27992, 6)
					pc.give_item2(27993, 6)
					pc.give_item2(27994, 6)
                    pc.remove_item(50095, 150)
                else
                    say("Du hast zuwenig kuerbise")
                end


Jetzt lädt er die Quest nicht vollständig.


[Only registered and activated users can see links. Click Here To Register...]
10/26/2014 13:53 foxyfoxtrod#10578
Quote:
Originally Posted by Bercol View Post
Jetzt lädt er die Quest nicht vollständig.


[Only registered and activated users can see links. Click Here To Register...]
Ich bin jetzt nicht so der Profi, aber ich würde vermuten, dass es daran liegt, dass du ein Vergleich in einem Vergleich hast. "when" heißt ja "wenn" und dann ist da drin noch ein "wenn" [pc.count_item(50095) >= 5].

Versuch es mal statt dessen mit einem "und":


Oder mach eine If Klausel darauß:
10/26/2014 15:25 Skizz345#10579
Code:
quest regenbogen begin
    state start begin
            when 50512.use  begin
                        
            local delay = 600
                   if get_global_time() - pc.getqf("time") < delay and pc.getqf("time") != 0 then
                        return
                   else
                        pc.setqf("time", get_global_time())
                        say_title("Regenbogenstein:")
                        say("Du möchtest also deine Skills auf")
                        say("Perfekter-Meister setzen?")
                        
                        if pc.job ==0 then
                        say("Wähle deine Lehre aus")
                        
                        local s=select("Körper","Mental")
                        
                        if s==1 then
                        --Körper
                        pc.set_skill_group(1)
                        pc.set_skill_level(1 ,59)
                        pc.set_skill_level(2 ,59)
                        pc.set_skill_level(3 ,30)
                        pc.set_skill_level(4 ,59)
                        pc.set_skill_level(5 ,59)
                        say("Deine Skills sind auf Perfekter Meister")
                        end
						pc.remove_item(50512, 1)
                        
                        if s==2 then
                        --Mentalo
                        pc.set_skill_group(2)
                        pc.set_skill_level(16 ,59)
                        pc.set_skill_level(17 ,59)
                        pc.set_skill_level(18 ,59)
                        pc.set_skill_level(19 ,59)
                        pc.set_skill_level(20 ,59)
                        say("Deine Skills sind auf Perfekter Meister")
                        end
						pc.remove_item(50512, 1)
                        
                        elseif pc.job ==1 then
                        say("Wähle deine Lehre aus")
                        
                        local s=select("Nahkampf","Bogen")
                        
                        if s==1 then
                        --Nahkampf
                        pc.set_skill_group(3)
                        pc.set_skill_level(31 ,59)
                        pc.set_skill_level(32 ,59)
                        pc.set_skill_level(33 ,59)
                        pc.set_skill_level(34 ,59)
                        pc.set_skill_level(35 ,59)
                        say("Deine Skills sind auf Perfekter Meister")
                        end
						pc.remove_item(50512, 1)
                        
                        if s==2 then
                        --Fernkampf
                        pc.set_skill_group(4)
                        pc.set_skill_level(46 ,59)
                        pc.set_skill_level(47 ,59)
                        pc.set_skill_level(48 ,59)
                        pc.set_skill_level(49 ,59)
                        pc.set_skill_level(50 ,59)
                        say("Deine Skills sind auf Perfekter Meister")
                        end
						pc.remove_item(50512, 1)
                        
                        elseif pc.job ==2 then
                        say("Wähle deine Lehre aus")
                        local s=select("Magie","Waffe")
                        
                        if s==1 then
                        --Magie
                        pc.set_skill_group(5)
                        pc.set_skill_level(76 ,59)
                        pc.set_skill_level(77 ,59)
                        pc.set_skill_level(78 ,59)
                        pc.set_skill_level(79 ,59)
                        pc.set_skill_level(80 ,59)
                        pc.set_skill_level(81, 59)
                        say("Deine Skills sind auf Perfekter Meister")
                        end
						pc.remove_item(50512, 1)
                        
                        if s==2 then
                        --Waffe
                        pc.set_skill_group(6)
                        pc.set_skill_level(61 ,59)
                        pc.set_skill_level(62 ,59)
                        pc.set_skill_level(63 ,59)
                        pc.set_skill_level(64 ,59)
                        pc.set_skill_level(65 ,59)
                        pc.set_skill_level(66 ,59)
                        say("Deine Skills sind auf Perfekter Meister")
                        end
						pc.remove_item(50512, 1)
                        
                        elseif pc.job ==3 then
                        say("Wähle deine Lehre aus")
                        local s=select("Heil","Drachen")
                        
                        if s==1 then
                        --Heil
                        pc.set_skill_group(7)
                        pc.set_skill_level(106 ,59)
                        pc.set_skill_level(107 ,59)
                        pc.set_skill_level(108 ,59)
                        pc.set_skill_level(109 ,59)
                        pc.set_skill_level(110 ,59)
                        pc.set_skill_level(111 ,59)
                        say("Deine Skills sind auf Perfekter Meister")
                        end
						pc.remove_item(50512, 1)
                        
                        if s==2 then
                        --Drachen
                        pc.set_skill_group(8)
                        pc.set_skill_level(91 ,59)
                        pc.set_skill_level(92 ,59)
                        pc.set_skill_level(93 ,59)
                        pc.set_skill_level(94 ,59)
                        pc.set_skill_level(95 ,59)
                        pc.set_skill_level(96 ,59)
                        say("Deine Skills sind auf Perfekter Meister")
                        end
						pc.remove_item(50512, 1)
				end
			end
		end
	end
end

wenn ich den Regenbogenstein anklicke verschwindet dieser und keine skills werden auf P gestellt

könnt ihr da mal drüber schauen was ich da falsch gemacht hab ?

mfg
10/26/2014 23:00 x'Radon#10580
#erledigt
10/27/2014 15:11 foxyfoxtrod#10581
Quote:
Originally Posted by Skizz345 View Post


wenn ich den Regenbogenstein anklicke verschwindet dieser und keine skills werden auf P gestellt

könnt ihr da mal drüber schauen was ich da falsch gemacht hab ?

mfg
Wenn ich mich nicht irre wird dein Item gelöscht, ganz gleich ob du in die IF rein gehst oder nicht. Es steht außerhalb jeglicher Abfrage. Mach's mal in die IF rein!
10/27/2014 16:59 Skizz345#10582

wenn ich als neu char einloge kommt die quest ihrgentwie nicht komme einfach nicht drauf wo der fehler da ist
mfg
10/27/2014 17:44 Kullanici123#10583
Hey,

ich habe ein kleines Probelm. Ich habe meinem Reittier Bonis gegeben. Nur leider lassen sich die Bonis stapeln und werden nicht gelöscht wie sie es eigentlich sollten.

Hier meine Quest:

PHP Code:
quest mounton5 begin
    state start begin
        when 30003.
use with pc.getqf("mounton") == 0 begin
            chat
("Du hast nun für 30 Minuten 400 Agriffswert erhalten!")
            
affect.remove_collect()  
            
pc.mount(20136, 1800)
            
affect.add_collect(apply.ATT_GRADE_BONUS,400,1800)
            
pc.setqf("mounton",1)
        
end
        when 30003.
use with pc.getqf("mounton") == 1 begin
            pc
.unmount()
            
pc.setqf("mounton",0)
        
end
    end
end 
10/27/2014 19:18 DerForenLeser#10584
Quote:
Originally Posted by Kullanici123 View Post
Hey,

ich habe ein kleines Probelm. Ich habe meinem Reittier Bonis gegeben. Nur leider lassen sich die Bonis stapeln und werden nicht gelöscht wie sie es eigentlich sollten.

Hier meine Quest:

PHP Code:
quest mounton5 begin
    state start begin
        when 30003.
use with pc.getqf("mounton") == 0 begin
            chat
("Du hast nun für 30 Minuten 400 Agriffswert erhalten!")
            
affect.remove_collect()  
            
pc.mount(20136, 1800)
            
affect.add_collect(apply.ATT_GRADE_BONUS,400,1800)
            
pc.setqf("mounton",1)
        
end
        when 30003.
use with pc.getqf("mounton") == 1 begin
            pc
.unmount()
            
pc.setqf("mounton",0)
        
end
    end
end 
PHP Code:
quest mounton5 begin
    state start begin
        when 30003.
use with pc.getqf("mounton") == 0 begin
            chat
("Du hast nun für 30 Minuten 400 Agriffswert erhalten!")
            
affect.remove_collect()  
            
pc.mount(20136, 1800)
            
affect.add_collect(apply.ATT_GRADE_BONUS,400,1800)
            
pc.setqf("mounton",1)
        
end
        when 30003.
use with pc.getqf("mounton") == 1 begin
            pc
.unmount()
            
pc.setqf("mounton",0)
            
affect.remove_clollect(apply.ATT_GRADE_BONUS,400,1800)
        
end
    end
end 
Müsste es sein.
10/27/2014 19:35 Kullanici123#10585
Quote:
Originally Posted by DerForenLeser View Post
PHP Code:
quest mounton5 begin
    state start begin
        when 30003.
use with pc.getqf("mounton") == 0 begin
            chat
("Du hast nun für 30 Minuten 400 Agriffswert erhalten!")
            
affect.remove_collect()  
            
pc.mount(20136, 1800)
            
affect.add_collect(apply.ATT_GRADE_BONUS,400,1800)
            
pc.setqf("mounton",1)
        
end
        when 30003.
use with pc.getqf("mounton") == 1 begin
            pc
.unmount()
            
pc.setqf("mounton",0)
            
affect.remove_clollect(apply.ATT_GRADE_BONUS,400,1800)
        
end
    end
end 
Müsste es sein.

Sry du hattest nen schreibfehler drin ist mir grade aufgefallen :DD geht doch vielen dank
10/28/2014 16:42 MuffinCore#10586
PHP Code:
quest drops begin  
    state start begin  
        
function ab()  
            
local ju = {  
                --
mob-id--min-level--max-level---item-anzahl---prozent---item-id's----prozentuale veränderung pro level  
                {101,    1,    15,    1,    100,17060,    100,16060,    1},  
                {102,    1,    15,    1,    100,30028,    1},  
                {103,    1,    15,    1,    100,30028,    1},  
            }  
            return ju  
        end  
        when kill with not npc.is_pc() begin  
            local boni,lck,per,luck,bsp = 0,0,0,0,drops.ab()  
            for i = 1, table.getn(bsp)+1, 1 do  
                if npc.get_race() == bsp[i][1] then  
                    if pc.get_level() >= bsp[i][2] and pc.get_level() <= bsp[i][3] then  
                        boni = (bsp[i][2] - pc.get_level()) * (-1)  
                        boni = boni * bsp[i][bsp[i][4]*2+5]  
                        luck = number(1,bsp[i][4])  
                        luck = luck + 4 + bsp[i][4]  
                        lck = luck - bsp[i][4]  
                        per = 100 - bsp[i][lck] + boni  
                        lck = number(1,100)  
                        if lck > per then  
                            game.drop_item_with_ownership(bsp[i][luck], 1)  -- Hier
                        end  
                    end  
                end  
            end  
        end  
    end  
end 
Versuche alle Drops über eine Quest laufen zu lassen da meine MobDrop nicht geht ... kann mir vllt jemand helfen
10/28/2014 19:44 Darryus98#10587
Hallo
Ich habe ein kleines Problem mit einem Warpquest

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

Hier ist die Quest :D
10/29/2014 01:37 foxyfoxtrod#10588
Quote:
Originally Posted by Darryus98 View Post
Hallo
Ich habe ein kleines Problem mit einem Warpquest

Hier ist die Quest :D
Warum hast du denn "return" UND "end" in einigen Schleifen? Return bringt dich aus der IF, bzw elseif raus, damit ist das "end" dann auch überflüssig. :)

Des weiteren:

Code:
say_title("Inelul teleportarii") 
					local roterselect = select("Inceput","Sfarsit","Inapoi")
					if roterselect == 3 then
						return
					elseif roterselect == 1 then
						pc.warp(1119900,70800)
					elseif geisterselect == 2 then
						pc.warp(1119100,7700)
					end
Einmal ganz genau, Wort für Wort lesen bitte :)


Außerdem:

Code:
local s = select [...]
UND

Code:
elseif selectmap == 4 then [...]
Woher hast du denn selectmap? :confused: :confused:

Vielleicht ist es schon spät und du machst das lieber einmal morgen oder am besten ganz von vorne anfangen, da sind mehr Fehler, als man zählen kann :D
10/29/2014 01:40 Dyshaxo#10589
Yoar.

und fehler:

[Only registered and activated users can see links. Click Here To Register...]
10/29/2014 01:41 foxyfoxtrod#10590
Quote:
Originally Posted by MuffinCore View Post

Versuche alle Drops über eine Quest laufen zu lassen da meine MobDrop nicht geht ... kann mir vllt jemand helfen
Ich glaube das funktioniert deshalb nicht, weil du für "kill" einen Freund brauchst. "Kill" kann nicht alleine stehen. Kurze Frage mal: Warum geht deine MobDrop nicht?

Quote:
Originally Posted by DaisukeBanned View Post
Yoar.

und fehler:

[Only registered and activated users can see links. Click Here To Register...]
Kannst du dazu mal die Stelle raus suchen, wo "nested" steht, bzw am besten die ganze Quest Posten: [Only registered and activated users can see links. Click Here To Register...]. Assertion Failure heißt in der Regel, dass er Versucht etwas mit dem Wert zu assoziieren, das heißt es wird etwas gerufen, was nicht da ist.