Pet Quest ?

07/15/2014 19:04 K.A.K.A.S.H.I#1
Gibt es noch die Bugfrei Pet Quest ?
Für diese Pets: [Only registered and activated users can see links. Click Here To Register...]
07/15/2014 19:55 Rextrus#2
Nimm einfach die aus den Invoice Files und änder die IDs der Icons in der Quest(wenn das nicht sogar die gleichen sind) Bei dem Namensänderungsteil musst du bei dem Item der eingetragenden ID den type auf 18 setzen. Hier die Quest:

MFG

€dit: Questlib von Mijago benötigt, findest du auf metindev ;)
07/15/2014 23:46 DerForenLeser#3
Quote:
Originally Posted by avatar19995 View Post
Nimm einfach die aus den Invoice Files und änder die IDs der Icons in der Quest(wenn das nicht sogar die gleichen sind) Bei dem Namensänderungsteil musst du bei dem Item der eingetragenden ID den type auf 18 setzen. Hier die Quest:

MFG

€dit: Questlib von Mijago benötigt, findest du auf metindev ;)
Ist nur zu gut, dass diese Quest ganz einfach zu buggen ist. Wenn Du einem Pet nur maximal drei Bonis geben willst, dann mach sie über die Datenbank. Ansonsten musst Du questflags benutzen, damit es verboten wird ein anderes Pet zu rufen, während bereits eines aktiv ist. Sonst kann man die Boni ganz einfach vervielfachen.
07/15/2014 23:47 Triiton#4
Durch DerForenLeser habe ich sehr viel gelernt! <3
07/17/2014 12:27 K.A.K.A.S.H.I#5
Quote:
Originally Posted by DerForenLeser View Post
Ist nur zu gut, dass diese Quest ganz einfach zu buggen ist. Wenn Du einem Pet nur maximal drei Bonis geben willst, dann mach sie über die Datenbank. Ansonsten musst Du questflags benutzen, damit es verboten wird ein anderes Pet zu rufen, während bereits eines aktiv ist. Sonst kann man die Boni ganz einfach vervielfachen.
Wenn ich jetzt nur wüsste was du damit meinst :(
07/17/2014 13:41 ~> Thalion ッ <~#6
hast ne pn
07/17/2014 15:23 [SA]Tears aka.[BlackBite]#7
Nehmt einfach die Quest:

PHP Code:
quest pet_system begin
    state start begin
        
function get_pet_info(itemVnum)
            
pet_info_map = {
            --  [
ITEM VNUMMOB_VNUM, DEFAULT NAME
                
[51001]     = { 41001,    Leonidas ,0},
                [
51002]     = { 41002,    Rufus ,0},
                [
51003]     = { 41003,    Porky ,0},
                [
51004]     = { 41004,    Khan ,0},
                [
51005]     = { 41005,    Feuerphönix ,0},
                [
51006]     = { 41006,    Eisphönix,0},
                [
51007]     = { 41007,    Azrael ,0},
                [
51008]     = { 41008,    Rudolf ,0},
            }

            
itemVnum tonumber(itemVnum)

            return 
pet_info_map[itemVnum]
        
end
        
function get_spawn_effect_file(idx)
            
effect_table = {
                [
0] = nil,
                [
1] = "d:\\\\ymir work\\\\effect\\\\etc\\\\appear_die\\\\npc2_appear.mse",
            }
            return 
effect_table [idx]
        
end
        when 51001.
use or 51002.use or 51003.use or 51004.use or 51005.use or 51006.use or 51007.use or 51008.use begin
            local pet_info 
pet_system.get_pet_info(item.vnum)

            if 
null != pet_info then

                local mobVnum 
pet_info[1]
                
local petName pet_info[2]
                
local spawn_effect_file_name pet_system.get_spawn_effect_file(pet_info[3])

                if 
true == pet.is_summon(mobVnumthen
                    
if spawn_effect_file_name != nil then
                        pet
.spawn_effect (mobVnumspawn_effect_file_name)
                    
end
                    pet
.unsummon(mobVnum)
                else
                    if 
pet.count_summoned() < 1 then
                        pet
.summon(mobVnumpetNamefalse)
                    else
                        
syschat("Schicke erst dein Pet weg, bevor du ein anderes rufst!")
                    
end
                    
if spawn_effect_file_name != nil then
                        pet
.spawn_effect (mobVnumspawn_effect_file_name)
                    
end
                end 
-- if pet.is_summon
            end  
-- if null != pet_info
        end 
-- when
    end 
-- state
end 
-- quest 
PS: Is vom .de Server Locale-Ordner, Stand Oktober 2013

€: Die Bonis kannst du ganz easy in der DB bei applytype0-applytype2 & applyvalue0-applyvalue3 setzen, erkennt die quest in dem fall und ist 100% bugfrei.
07/17/2014 23:12 2tmsuiris#8
Die oben ist doch fast Bugfrei
07/18/2014 00:19 Weekend~#9
Quote:
Originally Posted by [SA]Tears aka.[BlackBite] View Post
Nehmt einfach die Quest:

PHP Code:
quest pet_system begin
    state start begin
        
function get_pet_info(itemVnum)
            
pet_info_map = {
            --  [
ITEM VNUMMOB_VNUM, DEFAULT NAME
                
[51001]     = { 41001,    Leonidas ,0},
                [
51002]     = { 41002,    Rufus ,0},
                [
51003]     = { 41003,    Porky ,0},
                [
51004]     = { 41004,    Khan ,0},
                [
51005]     = { 41005,    Feuerphönix ,0},
                [
51006]     = { 41006,    Eisphönix,0},
                [
51007]     = { 41007,    Azrael ,0},
                [
51008]     = { 41008,    Rudolf ,0},
            }

            
itemVnum tonumber(itemVnum)

            return 
pet_info_map[itemVnum]
        
end
        
function get_spawn_effect_file(idx)
            
effect_table = {
                [
0] = nil,
                [
1] = "d:\\\\ymir work\\\\effect\\\\etc\\\\appear_die\\\\npc2_appear.mse",
            }
            return 
effect_table [idx]
        
end
        when 51001.
use or 51002.use or 51003.use or 51004.use or 51005.use or 51006.use or 51007.use or 51008.use begin
            local pet_info 
pet_system.get_pet_info(item.vnum)

            if 
null != pet_info then

                local mobVnum 
pet_info[1]
                
local petName pet_info[2]
                
local spawn_effect_file_name pet_system.get_spawn_effect_file(pet_info[3])

                if 
true == pet.is_summon(mobVnumthen
                    
if spawn_effect_file_name != nil then
                        pet
.spawn_effect (mobVnumspawn_effect_file_name)
                    
end
                    pet
.unsummon(mobVnum)
                else
                    if 
pet.count_summoned() < 1 then
                        pet
.summon(mobVnumpetNamefalse)
                    else
                        
syschat("Schicke erst dein Pet weg, bevor du ein anderes rufst!")
                    
end
                    
if spawn_effect_file_name != nil then
                        pet
.spawn_effect (mobVnumspawn_effect_file_name)
                    
end
                end 
-- if pet.is_summon
            end  
-- if null != pet_info
        end 
-- when
    end 
-- state
end 
-- quest 
PS: Is vom .de Server Locale-Ordner, Stand Oktober 2013

€: Die Bonis kannst du ganz easy in der DB bei applytype0-applytype2 & applyvalue0-applyvalue3 setzen, erkennt die quest in dem fall und ist 100% bugfrei.
Die Quest funktioniert nur, wenn man die 34k/40k Game nutzt, da in früheren Revisionen die nötigen Funktionen nicht enthalten sind.
Fakt ist aber: alle public Quests sind Müll.
Lieber selber eine schreiben.