[SERVICE] Die Questkontrolle

04/21/2013 19:24 olieg#7966
Erledigt
04/21/2013 19:51 xXKimariXx#7967
Füge das hier :
Quote:
say_blue2
say_gold
In deine quest_functions ein. (per filezilla)
04/21/2013 19:51 LikeCranK™#7968
say_blue2 und say_gold sind nicht in der
quest_function.lua eingetragen oder?
04/21/2013 19:59 .ReDDoX™#7969
Quote:
Originally Posted by olieg View Post
Habe folgendes Problem mit dieser Quest:

Nach sh make kommt dieser Fehler:

WHEN : 20091.chat ("Tränenshop")
with pc . get_level ( ) > 49
Calls undeclared function! :
say_blue2
say_gold
Error occured on compile tshop.quest


und wen ich es ingame teste, kann ich alles aufrufen, aber wen ich ein Item ausgewählt habe, bekomme ich es nicht und das Quest-Fenster schliesst ich automatisch.
Du musst die Funktionen say_blue2 & say_gold erst hinzufügen.
Dafür öffnest Du im quest-Ordner die Datei "quest_functions" mit einem beliebigen Editor & fügst dort die beiden Zeilen hinzu:
Code:
say_blue2
say_gold
Danach öffnest Du die Datei "questlib.lua" und fügst dort folgendes ganz unten ein:
Code:
function say_blue2(name) say(color256(0, 206, 209)..name..color256(0, 206, 209)) end
function say_gold(name) say(color256(255, 215, 0)..name..color256(255, 215, 0)) end
04/21/2013 20:07 olieg#7970
Danke vielmals es klappt. Gebe euch 3, 5 e*gold als Dankeschön für die schnelle Hilfe.
04/21/2013 20:10 sero61#7971
Vllt versteht ein quester dass:
[Only registered and activated users can see links. Click Here To Register...]

Ich verstehe es nicht :S
04/21/2013 20:12 olieg#7972
[Only registered and activated users can see links. Click Here To Register...]
04/21/2013 23:23 .Despero™#7973
PHP Code:
quest exo_bank begin
    state start begin
        when 9005.chat
."Konto verwalten" begin
            say
(col.gold("Dein Guthaben beträgt ("..bank.get_money()..")"))
            
say()
            
say("Was möchtest du tun?")
            
local a select("Geld abgeben","Geld abholen","Nichts")
            if 
== 3 then
                
return
            elseif 
== 1 then
                say
(col.gold("Du besitzt ("..pc.get_gold()..") Yang"))
                
say()
                
say("Wie viel Geld möchtest du abgeben?")
                
local money_give tonumber(input())
                if 
select(money_give.." Yang abgeben?","Abbrechen") == 2 then return end
                
if type(money_give) ~= "number" or string.len(money_give) > 10 or money_give == or money_give or money_give pc.get_money() then setskin(NOWINDOW) return chat("Du hast eine Falscheingabe getätigt!"end
                chat
("Du hast Erfolgreich "..money_give.." Yang auf dein Konto abgelegt!")
                
pc.change_gold(-money_give)
                
bank.set_money(money_give)
                
log.bank(pc.get_name(), money_givetostring("GIVE"))
            elseif 
== 2 then
                say
(col.gold("Dein Guthaben beträgt ("..bank.get_money()..")"))
                
say()
                
say("Wie viel Geld möchtest du abholen?")
                
local money_take tonumber(input())
                if 
select(money_take.." Yang abholen?","Abbrechen") == 2 then return end
                
if type(money_take) ~= "number" or string.len(money_take) > 10 or money_take == or money_take or money_take bank.get_money() then setskin(NOWINDOW) return chat("Du hast eine Falscheingabe getätigt!"end
                chat
("Du hast Erfolgreich "..money_take.." Yang von deinem Konto abgeholt!")
                
pc.change_gold(money_take)
                
bank.set_money(-money_take)
                
log.bank(pc.get_name(), money_taketostring("TAKE"))
            
end
        end
        
        when 9005.chat
."Bankübersicht" begin
            say
(col.gold("Bankübersicht"))
            
say()
            
say("Was möchtest du tun?")
            
local a select("Guthaben Information","Letzte Aktivitäten","Abbrechen")
            if 
== 3 then 
                
return
            elseif 
== 1 then
                say
(col.gold("Guthaben Information"))
                
say()
                
say("Auf der Bank liegen "..bank.get_money().." Yang")
                return
            elseif 
== 2 then
                say
(col.gold("Letzte Aktivitäten"))
                
say()
                
local tab_1tab_2tab_3art = {5},{},{},{["TAKE"] = {"abgehoben"}, ["GIVE"] = {"eingezahlt"}}
                
local main_query mysql_query("SELECT user_name FROM quest.exo_bank_log WHERE user_name = '"..pc.get_name().."';")
                for 
1table.getn(main_query) do 
                    
table.insert(tab_1bank.get_log("time"b))
                    
table.insert(tab_2bank.get_log("art"b))
                    
table.insert(tab_3bank.get_log("money"b))
                
end
                local c 
select2(tab_1)
                if 
== 0 then return end
                say
(col.gold("Zeit: "..bank.get_log("time"c)))
                
say()
                
say("Es wurden "..bank.get_log("money"c).." Yang "..art[bank.get_log("art"c)][1])
                
select("Alles klar!")
            
end
        end
    end
end 
Ist will das es mit Send letter klappt ( also "Mobiler Bank")
04/21/2013 23:44 G.I Duke#7974
Quote:
Originally Posted by .Weezy™ View Post
PHP Code:
quest exo_bank begin
    state start begin
        when 9005.chat
."Konto verwalten" begin
            say
(col.gold("Dein Guthaben beträgt ("..bank.get_money()..")"))
            
say()
            
say("Was möchtest du tun?")
            
local a select("Geld abgeben","Geld abholen","Nichts")
            if 
== 3 then
                
return
            elseif 
== 1 then
                say
(col.gold("Du besitzt ("..pc.get_gold()..") Yang"))
                
say()
                
say("Wie viel Geld möchtest du abgeben?")
                
local money_give tonumber(input())
                if 
select(money_give.." Yang abgeben?","Abbrechen") == 2 then return end
                
if type(money_give) ~= "number" or string.len(money_give) > 10 or money_give == or money_give or money_give pc.get_money() then setskin(NOWINDOW) return chat("Du hast eine Falscheingabe getätigt!"end
                chat
("Du hast Erfolgreich "..money_give.." Yang auf dein Konto abgelegt!")
                
pc.change_gold(-money_give)
                
bank.set_money(money_give)
                
log.bank(pc.get_name(), money_givetostring("GIVE"))
            elseif 
== 2 then
                say
(col.gold("Dein Guthaben beträgt ("..bank.get_money()..")"))
                
say()
                
say("Wie viel Geld möchtest du abholen?")
                
local money_take tonumber(input())
                if 
select(money_take.." Yang abholen?","Abbrechen") == 2 then return end
                
if type(money_take) ~= "number" or string.len(money_take) > 10 or money_take == or money_take or money_take bank.get_money() then setskin(NOWINDOW) return chat("Du hast eine Falscheingabe getätigt!"end
                chat
("Du hast Erfolgreich "..money_take.." Yang von deinem Konto abgeholt!")
                
pc.change_gold(money_take)
                
bank.set_money(-money_take)
                
log.bank(pc.get_name(), money_taketostring("TAKE"))
            
end
        end
        
        when 9005.chat
."Bankübersicht" begin
            say
(col.gold("Bankübersicht"))
            
say()
            
say("Was möchtest du tun?")
            
local a select("Guthaben Information","Letzte Aktivitäten","Abbrechen")
            if 
== 3 then 
                
return
            elseif 
== 1 then
                say
(col.gold("Guthaben Information"))
                
say()
                
say("Auf der Bank liegen "..bank.get_money().." Yang")
                return
            elseif 
== 2 then
                say
(col.gold("Letzte Aktivitäten"))
                
say()
                
local tab_1tab_2tab_3art = {5},{},{},{["TAKE"] = {"abgehoben"}, ["GIVE"] = {"eingezahlt"}}
                
local main_query mysql_query("SELECT user_name FROM quest.exo_bank_log WHERE user_name = '"..pc.get_name().."';")
                for 
1table.getn(main_query) do 
                    
table.insert(tab_1bank.get_log("time"b))
                    
table.insert(tab_2bank.get_log("art"b))
                    
table.insert(tab_3bank.get_log("money"b))
                
end
                local c 
select2(tab_1)
                if 
== 0 then return end
                say
(col.gold("Zeit: "..bank.get_log("time"c)))
                
say()
                
say("Es wurden "..bank.get_log("money"c).." Yang "..art[bank.get_log("art"c)][1])
                
select("Alles klar!")
            
end
        end
    end
end 
Ist will das es mit Send letter klappt ( also "Mobiler Bank")
PHP Code:
quest exo_bank begin
    state start begin
        when login begin
            set_state
(information)
        
end
    end
    state information begin 
        when letter begin 
            send_letter
("Dein Bankkonto"
        
end
        when button 
or info begin
            say_title
("Dein Bankkonto")
            
say ()
            
local main_set select ("Konto verwalten""Bankübersicht""Schließen")
            if 
main_set == 3 then 
            
return
            
end
            
elseif main_set == 1 then
            say
(col.gold("Dein Guthaben beträgt ("..bank.get_money()..")"))
            
say()
            
say("Was möchtest du tun?")
            
local a select("Geld abgeben","Geld abholen","Nichts")
            if 
== 3 then
                
return
            elseif 
== 1 then
                say
(col.gold("Du besitzt ("..pc.get_gold()..") Yang"))
                
say()
                
say("Wie viel Geld möchtest du abgeben?")
                
local money_give tonumber(input())
                if 
select(money_give.." Yang abgeben?","Abbrechen") == 2 then return end
                
if type(money_give) ~= "number" or string.len(money_give) > 10 or money_give == or money_give or money_give pc.get_money() then setskin(NOWINDOW) return chat("Du hast eine Falscheingabe getätigt!"end
                chat
("Du hast Erfolgreich "..money_give.." Yang auf dein Konto abgelegt!")
                
pc.change_gold(-money_give)
                
bank.set_money(money_give)
                
log.bank(pc.get_name(), money_givetostring("GIVE"))
            elseif 
== 2 then
                say
(col.gold("Dein Guthaben beträgt ("..bank.get_money()..")"))
                
say()
                
say("Wie viel Geld möchtest du abholen?")
                
local money_take tonumber(input())
                if 
select(money_take.." Yang abholen?","Abbrechen") == 2 then return end
                
if type(money_take) ~= "number" or string.len(money_take) > 10 or money_take == or money_take or money_take bank.get_money() then setskin(NOWINDOW) return chat("Du hast eine Falscheingabe getätigt!"end
                chat
("Du hast Erfolgreich "..money_take.." Yang von deinem Konto abgeholt!")
                
pc.change_gold(money_take)
                
bank.set_money(-money_take)
                
log.bank(pc.get_name(), money_taketostring("TAKE"))
                
set_state(information)
            
end
        
            
elseif main_set == 2 then
            say
(col.gold("Bankübersicht"))
            
say()
            
say("Was möchtest du tun?")
            
local a select("Guthaben Information","Letzte Aktivitäten","Abbrechen")
            if 
== 3 then 
                
return
            elseif 
== 1 then
                say
(col.gold("Guthaben Information"))
                
say()
                
say("Auf der Bank liegen "..bank.get_money().." Yang")
                return
            elseif 
== 2 then
                say
(col.gold("Letzte Aktivitäten"))
                
say()
                
local tab_1tab_2tab_3art = {5},{},{},{["TAKE"] = {"abgehoben"}, ["GIVE"] = {"eingezahlt"}}
                
local main_query mysql_query("SELECT user_name FROM quest.exo_bank_log WHERE user_name = '"..pc.get_name().."';")
                for 
1table.getn(main_query) do 
                    
table.insert(tab_1bank.get_log("time"b))
                    
table.insert(tab_2bank.get_log("art"b))
                    
table.insert(tab_3bank.get_log("money"b))
                
end
                local c 
select2(tab_1)
                if 
== 0 then return end
                say
(col.gold("Zeit: "..bank.get_log("time"c)))
                
say()
                
say("Es wurden "..bank.get_log("money"c).." Yang "..art[bank.get_log("art"c)][1])
                
select("Alles klar!")
                
set_state(information)
                
end
            end
        end
    end
end 
Bin mir nicht sicher abrr ich hätte es so probiert.
04/21/2013 23:59 .Despero™#7975
klappt nicht ... syntax error oder sowas...
04/22/2013 03:57 G.I Duke#7976
Die gescreente Fehlermeldung ist immer besser..

PHP Code:
 quest exo_bank begin 
    state start begin 
        when login begin 
            set_state
(information
        
end 
    end 
    state information begin  
        when letter begin  
            send_letter
("Dein Bankkonto")  
        
end 
        when button 
or info begin 
            say_title
("Dein Bankkonto"
            
say () 
            
local main_set select ("Konto verwalten""Bankübersicht""Schließen"
            if 
main_set == 3 then  
            
return
            elseif 
main_set == 1 then 
            say
(col.gold("Dein Guthaben beträgt ("..bank.get_money()..")")) 
            
say() 
            
say("Was möchtest du tun?"
            
local a select("Geld abgeben","Geld abholen","Nichts"
            if 
== 3 then 
                
return 
            elseif 
== 1 then 
                say
(col.gold("Du besitzt ("..pc.get_gold()..") Yang")) 
                
say() 
                
say("Wie viel Geld möchtest du abgeben?"
                
local money_give tonumber(input()) 
                if 
select(money_give.." Yang abgeben?","Abbrechen") == 2 then return end 
                
if type(money_give) ~= "number" or string.len(money_give) > 10 or money_give == or money_give or money_give pc.get_money() then setskin(NOWINDOW) return chat("Du hast eine Falscheingabe getätigt!"end 
                chat
("Du hast Erfolgreich "..money_give.." Yang auf dein Konto abgelegt!"
                
pc.change_gold(-money_give
                
bank.set_money(money_give
                
log.bank(pc.get_name(), money_givetostring("GIVE")) 
            elseif 
== 2 then 
                say
(col.gold("Dein Guthaben beträgt ("..bank.get_money()..")")) 
                
say() 
                
say("Wie viel Geld möchtest du abholen?"
                
local money_take tonumber(input()) 
                if 
select(money_take.." Yang abholen?","Abbrechen") == 2 then return end 
                
if type(money_take) ~= "number" or string.len(money_take) > 10 or money_take == or money_take or money_take bank.get_money() then setskin(NOWINDOW) return chat("Du hast eine Falscheingabe getätigt!"end 
                chat
("Du hast Erfolgreich "..money_take.." Yang von deinem Konto abgeholt!"
                
pc.change_gold(money_take
                
bank.set_money(-money_take
                
log.bank(pc.get_name(), money_taketostring("TAKE")) 
                
set_state(information
            
end 
        end
            
elseif main_set == 2 then 
            say
(col.gold("Bankübersicht")) 
            
say() 
            
say("Was möchtest du tun?"
            
local a select("Guthaben Information","Letzte Aktivitäten","Abbrechen"
            if 
== 3 then  
                
return 
            elseif 
== 1 then 
                say
(col.gold("Guthaben Information")) 
                
say() 
                
say("Auf der Bank liegen "..bank.get_money().." Yang"
                return 
            elseif 
== 2 then 
                say
(col.gold("Letzte Aktivitäten")) 
                
say() 
                
local tab_1tab_2tab_3art = {5},{},{},{["TAKE"] = {"abgehoben"}, ["GIVE"] = {"eingezahlt"}} 
                
local main_query mysql_query("SELECT user_name FROM quest.exo_bank_log WHERE user_name = '"..pc.get_name().."';"
                for 
1table.getn(main_query) do  
                    
table.insert(tab_1bank.get_log("time"b)) 
                    
table.insert(tab_2bank.get_log("art"b)) 
                    
table.insert(tab_3bank.get_log("money"b)) 
                
end 
                local c 
select2(tab_1
                if 
== 0 then return end 
                say
(col.gold("Zeit: "..bank.get_log("time"c))) 
                
say() 
                
say("Es wurden "..bank.get_log("money"c).." Yang "..art[bank.get_log("art"c)][1]) 
                
select("Alles klar!"
                
set_state(information)
            
end 
        end 
    end 
end 
04/23/2013 17:09 Fliegex3#7977
Brauche hilfe bei der Quest.
Der shop öffnet sich nicht.
PHP Code:
quest premium_user begin
    state start begin
        when 70028.
use begin
            say_title
("Name-Team")
            
say("")
            
say("Mit diesem Item kannst du den Premium Shop")
            
say("nutzen.")
            
say("Willst du ihn öffnen?")
            
            
local s select("Ja""Nein")
                
            if 
== 1 then
                npc
.open_shop(3
                
setskin(NOWINDOW
            else
                return
            
end
        end
    end
end 
04/23/2013 19:12 ©by Noa#7978
Quote:
Originally Posted by Fliegex3 View Post
Brauche hilfe bei der Quest.
Der shop öffnet sich nicht.
PHP Code:
quest premium_user begin
    state start begin
        when 70028.
use begin
            say_title
("Name-Team")
            
say("")
            
say("Mit diesem Item kannst du den Premium Shop")
            
say("nutzen.")
            
say("Willst du ihn öffnen?")
            
            
local s select("Ja""Nein")
                
            if 
== 1 then
                npc
.open_shop(3
                
setskin(NOWINDOW
            else
                return
            
end
        end
    end
end 
der npc muss auch in der nähe sein
04/23/2013 19:34 kazim9876#7979
muss der npc in der nähe sein?

weil ich will ja das der npc nur für premium user sind und wenn der in der mitte steht kann ihn jeder öffnen
04/23/2013 22:06 ©by Noa#7980
Quote:
Originally Posted by kazim9876 View Post
muss der npc in der nähe sein?

weil ich will ja das der npc nur für premium user sind und wenn der in der mitte steht kann ihn jeder öffnen
da steht use und nicht chat