Pet´s Namen anders ?

04/11/2015 12:10 °Ace°#1
Guten Tag Community,

und zwar spinnt bei mir das Pet-System. Die Pets heißen ganz anders, als die heißen sollen -.-

[Only registered and activated users can see links. Click Here To Register...]
04/11/2015 12:23 zazadi#2
Änder die doch einfach in Navicat unter mob_proto?
04/11/2015 13:08 Zaturix#3
Das machst du über Quest.
04/11/2015 13:09 ItChino#4
das kannst du auch Clientside machen in der Item_proto.
04/11/2015 13:20 Zaturix#5
Das machst du über die Quest.
04/11/2015 13:21 .Despero™#6
Was babbelt ihr fürn scheiß ?? Das läuft über quests mit Pet Namen. Du musst die in Quest anpassen dann sollte richtige Name erscheinen
04/11/2015 14:00 °Ace°#7
Quote:
Originally Posted by .Despero™ View Post
Was babbelt ihr fürn scheiß ?? Das läuft über quests mit Pet Namen. Du musst die in Quest anpassen dann sollte richtige Name erscheinen
Hab ich eigentlich gemacht..

PHP Code:
quest pet_name begin
    state start begin
        when 33002.take begin
            local pets 
= {
                [
53001] = "Feuerphönix",
                [
53002] = "Rentierjunges",
                [
53003] = "Eisphönix",
                [
53004] = "Baby-Azrael",
                [
53005] = "Baby-Azrael",
                [
53006] = "Rufus",
                [
53007] = "Leonidas",
                [
53008] = "Porkie",
                [
53009] = "Khan",
                [
53010] = "Bambi",
                [
53011] = "Knuud",
                [
53012] = "Bao Bao",
                [
53013] = "Elite-Phönix",
                [
53014] = "Elite-Azrael",
                [
53015] = "Elite-Porkie",
                [
53016] = "Elite-Rufus",
                [
53017] = "Elite-Khan",
                [
53018] = "Elite-Leonidas",
                [
53019] = "Offizier",
                [
53020] = "Gold-Offizier",
                [
53021] = "Boney",
                [
53022] = "Giftphönix",
                [
53023] = "Eisiger Porkie",
                [
53024] = "Eisiger Rufus",
                [
53025] = "Eisiger Khan",
                [
53026] = "Eisiger Leonidas",
                [
53027] = "Finsterer Porkie",
                [
53028] = "Finsterer Rufus",
                [
53029] = "Finsterer Khan",
                [
53030] = "Finsterer Leonidas",
                [
53031] = "Treuer Porkie",
                [
53032] = "Treuer Rufus",
                [
53033] = "Treuer Khan",
                [
53034] = "Treuer Leonidas",
                [
53035] = "Edler Porkie",
                [
53036] = "Edler Rufus",
                [
53037] = "Edler Khan",
                [
53038] = "Edler Leonidas"}
            if 
get_time() < pc.getqf("petname_"..item.get_vnum()-53000) then
                say_title
(pc.get_name().."'s "..pets[item.get_vnum()])
                
say("")
                
say(col.red("Du darfst den Namen deines Pets nur alle 24h ändern!"))
                return
            
end
            say_title
(pc.get_name().."'s "..pets[item.get_vnum()])
            
say("")
            
say(col.gold("Bitte beachte:"))
            
say(col.red("Dein Haustiername darf nicht länger als 9[ENTER]und nicht kürzer als 3 Zeichen sein.[ENTER]"))
            
say(col.red("Dein Haustiername darf keine unzulässigen Worte[ENTER]beinhalten.[ENTER]"))
            
say(col.red("ACHTUNG: Der Name gilt für jedes deiner Haustiere!"))
            
wait()
            
say_title(pc.get_name().."'s "..pets[item.get_vnum()])
            
say("")
            
say(col.gold("Bitte beachte:"))
            
say(col.red("Dein Haustiername darf nicht länger als 9[ENTER]und nicht kürzer als 3 Zeichen sein.[ENTER]"))
            
say(col.red("Dein Haustiername darf keine unzulässigen Worte[ENTER]beinhalten.[ENTER]"))
            
say(col.red("ACHTUNG: Der Name gilt für jedes deiner Haustiere!"))
            
local petname = input()
            if 
string.len(petname) > 9 then
                syschat
("Der Name das Haustieres darf max. 9 Zeichen sein!")
                return
            
end
            
if string.len(petname) < 1 then
                syschat
("Du hast keinen Haustiernamen angegeben!")
                return
            
end
            
if string.len(petname) < 3 then
                syschat
("Der Haustiername muss mindestens 3 Zeichen lang sein.")
                return
            
end
            syschat
("Du hast dein Haustier erfolgreich von "..pets[item.get_vnum()].." in "..petname.." umgenannt.")
            
syschat("Du kannst den Namen deines Haustiers alle 24 Stunden ändern.")
            
pet.set_name(petname, item.get_vnum())
            
pc.setqf("petname_"..item.get_vnum()-53000, get_time()+60*60*24)
        
end
        when 33002.chat
."Haustiername" begin
            say_title
(mob_name(npc.get_race())..":[ENTER]")
            
say(col.gold("Bei mir kannst du den Namen deiner Haustiere ändern!"))
            
say(col.lightgreen("Um dies zu tun, musst du nur dein Haustier-Siegel"))
            
say(col.lightgreen("auf mich ziehen!"))
        
end
    end
end 
04/13/2015 20:38 °Ace°#8
#brauche immer noch hilfe..
04/13/2015 21:32 Zaturix#9
Wo wird denn bitte in deiner Quest definiert,welches Pet aufgerufen wird?
04/13/2015 22:05 rollback#10
Quote:
Originally Posted by Zaturix View Post
Wo wird denn bitte in deiner Quest definiert,welches Pet aufgerufen wird?
Item.get_vnum()
04/13/2015 22:25 Zaturix#11
53000 ist aber nur Vnum des Siegels und nicht des Pets.
04/14/2015 12:42 °Ace°#12
PHP Code:
quest pet_system begin
    state start begin
        
function get_pet_info(itemVnum)
            
pet_info_map = {
            --  [
ITEM VNUM] MOB_VNUM, DEFAULT NAME, buff_idx, spawn_effect_idx
                
[53001]        = { 34001, " - Feuerphönix", 0},
                [
53002]        = { 34002, " - Rentierjunges", 0},
                [
53003]        = { 34003, " - Eisphönix", 0},
                [
53004]        = { 34004, " - Baby-Azrael", 0},
                [
53008]        = { 34005, " - Porkie", 0},
                [
53006]        = { 34006, " - Rufus", 0},
                [
53009]        = { 34007, " - Khan", 0},
                [
53007]        = { 34008, " - Leonidas", 0},
                [
53005]        = { 34009, " - Gold-Azrael", 0},
                [
53010]        = { 34010, " - Bambi", 0},
                [
53011]        = { 34011, " - Knuud", 0},
                [
53012]        = { 34012, " - Bao Bao", 0},
                [
53013]        = { 34013, " - Elite-Phönix", 0},
                [
53014]        = { 34014, " - Elite-Azrael", 0},
                [
53015]        = { 34015, " - Elite-Porkie", 0},
                [
53016]        = { 34016, " - Elite-Rufus", 0},
                [
53017]        = { 34017, " - Elite-Khan", 0},
                [
53018]        = { 34018, " - Elite-Leonidas", 0},
                [
53019]        = { 34019, " - Offizier", 0},
                [
53020]        = { 34020, " - Gold-Offizier", 0},
                [
53021]        = { 34021, " - Boney", 0},
                [
53022]        = { 34022, " - Giftphönix", 0},
                [
53023]        = { 34023, " - Eisig. Porkie", 0},
                [
53024]        = { 34024, " - Eisig. Rufus", 0},
                [
53025]        = { 34025, " - Eisig. Khan", 0},
                [
53026]        = { 34026, " - Eisig. Leonidas", 0},
                [
53027]        = { 34027, " - Finst. Porkie", 0},
                [
53028]        = { 34028, " - Finst. Rufus", 0},
                [
53029]        = { 34029, " - Finst. Khan", 0},
                [
53030]        = { 34030, " - Finst. Leonidas", 0},
                [
53031]        = { 34031, " - Treuer Porkie", 0},
                [
53032]        = { 34032, " - Treuer Rufus", 0},
                [
53033]        = { 34033, " - Treuer Khan", 0},
                [
53034]        = { 34034, " - Treuer Leonidas", 0},
                [
53035]        = { 34035, " - Edler Porkie", 0},
                [
53036]        = { 34036, " - Edler Rufus", 0},
                [
53037]        = { 34037, " - Edler Khan", 0},
                [
53038]        = { 34038, " - Edler Leonidas", 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 53001.
use or 53002.use or 53003.use or 53004.use or 53005.use or 53006.use or 53007.use or 53008.use or 53009.use or 53010.use or 53012.use or 53013.use or 53014.use or 53015.use or
             
53016.use or 53017.use or 53018.use or 53019.use or 53020.use or 53021.use or 53022.use or 53023.use or 53024.use or 53025.use or 53026.use or 53027.use or 53028.use or 53029.use or
             
53030.use or 53031.use or 53032.use or 53033.use or 53034.use or 53035.use or 53036.use or 53037.use or 53038.use begin
            
if pc.getqf("petfirstuse") < 1 then
                mysql_query
("INSERT INTO player.pet_name VALUES("..pc.get_player_id()..",'Feuerphönix','Rentierjunges','Eisphönix','Baby-Azrael','Porkie','Rufus','Khan','Leonidas','Gold-Azrael','Bambi','Knuud','Bao Bao','Elite-Phönix','Elite-Azrael','Elite-Porkie','Elite-Rufus','Elite-Khan','Elite-Leonidas','Offizier','Gold-Offizier','Boney','Giftphönix','Eisig. Porkie','Eisig. Rufus','Eisig. Khan','Eisig. Leonidas','Finst. Porkie','Finst. Rufus','Finst. Khan','Finst. Leonidas','Treuer Porkie','Treuer Rufus','Treuer Khan','Treuer Leonidas','Edler Porkie','Edler Rufus','Edler Khan','Edler Leonidas');")
                
pc.setqf("petfirstuse", 1)
            
end
            local pet_info 
= pet_system.get_pet_info(item.vnum)

            if 
null != pet_info then

                local mobVnum 
= pet_info[1]
                
local petName = " - "..pet.get_name(item.get_vnum()-53000)
                
local maxCount
                
if pc.is_gm() == true then
                    maxCount 
= 100
                
else
                    
maxCount = 1
                end
                local spawn_effect_file_name 
= pet_system.get_spawn_effect_file(pet_info[3])

                if 
true == pet.is_summon(mobVnum) then
                    
if spawn_effect_file_name != nil then
                        pet
.spawn_effect (mobVnum, spawn_effect_file_name)
                    
end
                    pet
.unsummon(mobVnum)
                else
                    if 
pet.count_summoned() < maxCount then
                        pet
.summon(mobVnum, petName, false)
                    else
                        
syschat("Du hast bereits ein Haustier gerufen.")
                    
end
                    
if spawn_effect_file_name != nil then
                        pet
.spawn_effect(mobVnum, spawn_effect_file_name)
                    
end
                end 
-- if pet.is_summon
            end  
-- if null != pet_info
        end 
-- when
    end 
-- state
end 
-- quest