[SERVICE] Die Questkontrolle

02/09/2014 19:30 BlackBynes#9676
Hi,

ich benötige die Hilfe von euch und zwar versuch ich mich gerade am mysql_query("UPDATE...


ich möchte das ein Item das auf NPC x gezogen wird auf ID 14180 geändert wird. Bei der ersten und beim letzten passiert jeweils nichts. Bei den anderen wird alles schön in die Datenbank geschrieben.
Ich weis das es für so etwas den schmied gibt. Aber ich möchte dies für etwas anderes nutzen.

Kann mir bei dem problem jemand von euch zufällig helfen ?
besten dank
02/09/2014 20:09 .yorliK#9677
Quote:
Originally Posted by BlackBynes View Post
Hi,

ich benötige die Hilfe von euch und zwar versuch ich mich gerade am mysql_query("UPDATE...


ich möchte das ein Item das auf NPC x gezogen wird auf ID 14180 geändert wird. Bei der ersten und beim letzten passiert jeweils nichts. Bei den anderen wird alles schön in die Datenbank geschrieben.
Ich weis das es für so etwas den schmied gibt. Aber ich möchte dies für etwas anderes nutzen.

Kann mir bei dem problem jemand von euch zufällig helfen ?
besten dank
Warum machst du das über die Datenbank? Wenn's auch ohne Datenbank bei dir gehen würde.
Item Bonis,Steine herrausfinden:
PHP Code:
                local vnum item.get_vnum()
                
local bonis = {{item2.get_attr(0)}, {item2.get_attr(1)}, {item2.get_attr(2)}, {item2.get_attr(3)}, {item2.get_attr(4)}, {item2.get_attr(5)}, {item2.get_attr(6)}}
                
local stones = {item.get_socket(0), item.get_socket(1), item.get_socket(2)} 
Bonis und Steine auf das Item setzen.
PHP Code:
                    pc2.give_or_drop_item_and_select(NeuesITEMVnum) -- GIBT RÜSSI und selected sie
                    
for 1table.getn(bonis) do 
                        if 
tonumber(bonis[a][1]) > 0 then
                            item2
.set_attr(a-1bonis[a][1], bonis[a][2]) -- setzt bonis
                        end
                    end
                    
for 1table.getn(stones) do
                        if 
tonumber(stones[b]) > 0 then
                            item
.set_socket(b-1stones[b]) -- setzt steine
                        end
                    end 
Das ganze stammt nicht von mir, es ist von .He3o Crysis
Er hat Mal ne Shinning Quest released die Bonis übernimmt.
Original: [Only registered and activated users can see links. Click Here To Register...]
02/09/2014 20:22 BlackBynes#9678
besten dank dafür werde ich gleich mal schauen

war zwar eine geniale Idee kann die entsprechenden Libs aber nicht einbauen..
Kann mir jemand anderes noch hierbei helfen bzw. hat jemand die entsprechenden quest functionen ?

Vielen dank
02/10/2014 16:24 ak98#9679
Hallo Epvp ich benötigte Hilfe bei der Quest

unzwar kommt der Fehler :

Der Fehler:


Die Quest:

02/10/2014 20:53 Antara-mt2#9680
hallo pvps ich brauche hilfe ich möchte ein quest erstellen für den orkberg aber bekomme nur fehler meldung


quest berg begin
state start begin
when 8030.kill begin
if npc.get_race() == 8030 then
d.notice("Ihr habt den Metin zerstört")
d.notice("Aber ihr müsst noch eine Aufgabe erfüllen")
d.spawn_mob(11505, 177, 280)
d.spawn_mob(11505, 850, 648)
d.spawn_mob(11505, 750, 420)
d.spawn_mob(11505, 247, 389)
pc.setqf("goldene Frösche", 4)
end
end
when 11505.kill begin
if npc.get_race() >= 11505 then
local count = pc.getqf("metin") -1
pc.setqf("metin", count)
d.notice("Euch fehlen noch"..pc.getqf("goldener Frosch").."goldene Frösche")
d.notice("Zerstört sie alle um weiterzugelangen")
if pc.getqf("metin") == 0 then
d.notice("Ihr habt das Rätsel gelöst")
d.notice("Macht euch bereit dem ersten Boss gegenüberzutreten")
d.spawn_mob(2707, 594, 400)
end
end
when 2707.kill begin
d.notice("Ihr habt den Risenkrappe bezwungen")
d.notice("Macht euch bereit dem nächsten Boss gegenüberzutreten")
d.spawn_mob(204, 594, 400)
end
when 204.kill begin
notice_all("Blaudrache wurde von ".. pc.get_name() .." getötet.")
notice_all("Ihr werdet in 60 Sekunden in die Stadt geportet")
timer("exit", 60)
end
when exit.timer begin
warp_all_to_village( pc.get_map_index() , 1 )
end
end
end
02/11/2014 13:32 V0lvox#9681
hab ne buggy quest, weiß langsam nicht mehr woran es liegt..
zur Erkärung, hatte den 2. Teil(auswahl der 1.truhen) auch in einen extra state gepackt, da ging es auch nich...
PHP Code:
say("")
set_state(weiter)
wait()
end

state weiter begin 
das ging auch nicht.. hier der komplette quelltext
fehlermeldung ist
Truhen/truhe_tausch.quest:48:expecting "when" or "function"
02/11/2014 13:47 .Delta#9682
du musst deine If - Elseif Reihen mal bearbeiten.

nach Elseif musst du genau wie bei if eine Bedingung hintendran schreiben.
Wenn du einfach das Gegenteil der if bedingung willst nimmst du else.
02/11/2014 14:55 V0lvox#9683
gemacht, danke dafür, nun der neue fehler, schon editiert^^
02/11/2014 15:21 ExoBiTe™#9684
Hey ich habe nun keine kaputte Quest, suche aber nach nem Befehl. Also ich möchte eine eingabezeile machen, in der NUR Zahlen geschrieben werden können. Mit input() geht es ja nicht, da dort auch andere Zeichen reinkönnen.
Mfg
02/11/2014 17:18 .yorliK#9685
Quote:
Originally Posted by Streetkillah98 View Post
Hey ich habe nun keine kaputte Quest, suche aber nach nem Befehl. Also ich möchte eine eingabezeile machen, in der NUR Zahlen geschrieben werden können. Mit input() geht es ja nicht, da dort auch andere Zeichen reinkönnen.
Mfg
PHP Code:
tonumber(input()) 
Sollte das mit "nur" Zahlen klären.
02/11/2014 18:08 ExoBiTe™#9686
Und wenn ich es dann abfrage, kann ich das so machen?

Code:
						local Geld = tonumber(input())
						if Geld == 0 then
							say_title("Kopfgeld aussetzen")
							say("Du kannst nicht 0 Yang setzen!")
							return
						if Geld == "" then
							say_title("Kopfgeld aussetzen")
							say("Du musst einen Betrag eingeben!")
							return
02/11/2014 18:38 .yorliK#9687
Quote:
Originally Posted by Streetkillah98 View Post
Und wenn ich es dann abfrage, kann ich das so machen?
Wenn du das so abfragen möchtest, also "wenn input == nix" dann say("Musst betrag eingeben"), würde ich es so schreiben
PHP Code:
        local Geld input()
        if 
Geld == 0 then
        say_title
("Kopfgeld aussetzen")
        
say("Du kannst nicht 0 Yang setzen!")
        return
        
end
        
if Geld=="" or not tonumber(Geldthen
        say_title
("Kopfgeld aussetzen")
        
say("Du musst einen Betrag eingeben!")
        return
        
end
        
-- Funktion wenn alles ok ist 
02/11/2014 21:44 ExoBiTe™#9688
Noch eine Frage undzwar wie kann ich den Namen der Person abrufen die ich gerade besiegt habe? Also z.b. Ich bin Streetkillah und töte TestPerson1. Wie komme ich an den Namen von TestPerson1?
02/12/2014 10:50 NinjaSoldat#9689
Ich hab bei meiner Haustier Quest nur die Bonis geändert aber beim Feuerphönix, Baby Hund und Baby Keiler gehen die bonis irgentwie nicht
das sollen meine PvM Pets sein die restlichen sind PvP und gehen auch alle
Hir hab ich mal die Feuerphönix Quest Die vom Baby Hund/Keiler sind gleich

Code:
quest Haustiere begin
    state start begin
        when 53001.use with pc.getqf("icephoenix") == 0 and pc.getqf("reindeer") == 0 and pc.getqf("pwahuang") == 0 and pc.getqf("dog") == 0 and pc.getqf("lion") == 0 and pc.getqf("pig") == 0 and pc.getqf("tiger") == 0 begin
            if pc.getqf("firephoenix_use") == 0 then
                local old_horse_name = horse.get_name() ;
                    if string.len(old_horse_name) == 0 then
                        chat("Dein Begleiter hat noch keinen Namen!")
                    end
                chat("Dein Begleiter wurde gerufen!")
                local your_horse_level = horse.get_level()
                pc.setqf("horse_level_save", your_horse_level)
                pc.setqf("firephoenix_use", 1)
                pc.setqf("firephoenix", 1)
                affect.add_collect(apply.CRITICAL_PCT, 25, 60*60*8)
                affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 50, 60*60*8)
                affect.add_collect(apply.ATT_MAX_HP, 8000, 60*60*8)
                horse.set_level("22")
                horse.unsummon() horse.summon()
				
		local horse_settings = pc.getqf("horse_level_save")
                horse.set_level(horse_settings)
            else
                chat("Dein Begleiter verabschiedet sich nun von dir!")
                affect.remove_collect(apply.CRITICAL_PCT, 25, 60*60*8)
                affect.remove_collect(apply.ATT_BONUS_TO_MONSTER, 50, 60*60*8) 
                affect.remove_collect(apply.ATT_MAX_HP, 8000, 60*60*8)                 
                horse.unsummon()
                pc.setqf("firephoenix_use", 0)
                pc.setqf("firephoenix", 0)
                
                local horse_settings = pc.getqf("horse_level_save")
                horse.set_level(horse_settings)
            
            end
        end
        when logout or login with pc.getqf("firephoenix_use") == 1 begin
            
            pc.setqf("firephoenix_use", 0)
            pc.setqf("firephoenix", 0)
                
            local horse_settings = pc.getqf("horse_level_save")
            horse.set_level(horse_settings)
            
            chat("Dein Begleiter ging alleine fort!")
            affect.remove_collect(apply.CRITICAL_PCT, 25, 60*60*8)
            affect.remove_collect(apply.ATT_BONUS_TO_MONSTER, 50, 60*60*8)   
            affect.remove_collect(apply.MAX_HP, 8000, 60*60*8)  
        end
02/12/2014 13:49 V0lvox#9690
hab ne buggy quest, weiß langsam nicht mehr woran es liegt..
zur Erkärung, hatte den 2. Teil(auswahl der 1.truhen) auch in einen extra state gepackt, da ging es auch nich...
PHP Code:
say("")
set_state(weiter)
wait()
end

state weiter begin 
das ging auch nicht.. hier der komplette quelltext
fehlermeldung ist
Truhen/truhe_tausch.quest:48:expecting "when" or "function"