Pet_system(syserr)

Indította Red, 2017-07-04, 09:24:13

2017-07-04, 09:24:13 Utolsó szerkesztés: 2017-07-04, 12:04:42 Szerző: Red
Sziasztok.

Beraktam Pacifidor féle pet rendszert. Működik is szépen viszont, vagy egy syserr amit folyamatosan logoltat.

SYSERR: Jul  4 08:54:05.93041 :: RunState: LUA_ERROR: (none):0: attempt to index field `?' (a nil value)
SYSERR: Jul  4 08:54:05.93091 :: WriteRunningStateToSyserr: LUA_ERROR: quest pet_system.start letter


Quest:
quest pet_system begin
state start begin
when 53001.use or 53002.use or 53003.use or 53005.use or 53006.use or 53007.use or 53008.use or 53009.use
or 53010.use or 53011.use or 53012.use or 53013.use or 53014.use or 53015.use or 53016.use or 53017.use begin
local v = item.get_vnum()
local petName, mobVnum, effect = pet_info[v][2], pet_info[v][1], pet_info[v][3]
local petName
if pet.is_named() then petName = " - "..pet.get_name(mobVnum)..""
else petName = pet_info[v][2] end
if pet.get_level() == 0 then pc.give_pet(v) return end
if true == pet.is_summon(mobVnum) then pet.seal_menu() return end
if pet.count_summoned() < 1 then
pet.summon(mobVnum, petName, false)
pc.setqf("pet_spawn", mobVnum) pc.setqf("pet_spawn_id", v)
pet.spawn_effect(mobVnum, effect_table[pet_info[v][6]])
pet.give_bonus() pet.summon_log()
loop_timer("refresh_pet_stats", 0.5)
else syschat(pet_text.cantsummonmore) end
end
when refresh_pet_stats.timer with pc.getqf("pet_spawn") != 0 begin if pc.is_dead() then pet.remove_bonus() pet.delete_infos() end pet.gui_info() end
when kill with not npc.is_pc() and pet.count_summoned() >= 1 and pet.get_level() < 150 begin pet.level_up() end
when login begin cmdchat("SetPetIncreaseBoniButtonIndex "..q.getcurrentquestindex()) end
when info or button begin  pet.remove_bonus() pet.increase_stats()  pet.give_bonus() end
when logout with pc.getqf("pet_spawn") != 0 and pet.count_summoned() > 0 begin  pet.remove_bonus() pet.delete_infos() end
when 17220.use or 11951.use or 11952.use or 11953.use or 11954.use
or 11955.use or 11956.use or 11957.use or 11958.use or 11959.use or
14501.use or 11961.use or 11962.use or 11963.use or 11964.use or 11965.use
or 11966.use or 11967.use or 11968.use or 11969.use or 17521.use or 11971.use
or 11972.use or 11973.use or 11974.use or 11975.use or 11976.use or 11977.use
or 11978.use or 11979.use or 17540.use or 17541.use with pc.getqf("pet_spawn") ~= 0 begin pet.set_item(item.get_vnum()) end
when 34001.click or 34002.click or 34003.click or 34004.click or 34005.click or 34006.click
or 34007.click or 34008.click or 34009.click or 34010.click or 34011.click or 34012.click
or 34013.click or 34014.click or 34015.click or 34016.click begin if pet.is_mine() == true then pet.gui_info() cmdchat("ShowPet") end
end
end
end



pet_settings.lua
pet_text =
{
['namePath'] = "/usr/game/share/pet_names", -- Directorio donde seran guardados los nombres de los pets.
['logsPath'] = "/usr/game/share/logs", -- Directorio de los logs.
['max_level'] = 150, -- Nivel máximo (Cambiarlo no quiere decir que cambie el nivel maximo).
['exp_min_value'] = 50, -- Valor minimo para generar un valor aleatorio de la experiencia. Ej: 300/valor aleatorio entre 50 y 75.
['exp_max_value'] = 50, -- Valor maximo para generar un valor aleatorio de la experiencia. Ej: 300/valor aleatorio entre 50 y 75.
['sugarid'] = 71110, -- ID del item para cambiar el nombre del pet.
['snack_id'] = 38102, -- ID del item para aumentar la duración del pet.
['stTimePet'] = "Ez a tárgy egy kisállatot rejt.[ENTER]Rengeteg előnnyel jár ha van egy a birtokodban![ENTER].[ENTER]Elfogadod a kisállatot?",
['PetReceived'] = "<Kisállat> Szert tettél egy kisállatra.",
['PetLeveledUp'] = "<Kisállat> A kisállatod szintet lépett.",
['menu'] = {
['optn1'] = "Kisállat elküldése",
['optn2'] = "Tárgyak levétele",
['optn3'] = "Kisállat etetése",
['optn4'] = "Státuszpontok újra elosztása",
['optn5_b'] = "Tapasztalat szerzés blokkolása",
['optn5_u'] = "Tapasztalat szerzés engedélyezése",
['optn6'] = "Információk",
['optn7_0'] = "Név",
['optn7_1'] = "Név módosítása",
['saylevel'] = "Szint",
['sayexp'] = "Tapasztalat pontok",
['sayname'] = "Név",
['noName'] = "Nincs név"
},
['nothingeq'] = "<Kisállat> Nincsen semmi felszerelve.",
['unequip'] = {
['item1'] = "Sisak",
['item2'] = "Karkötő ",
['item3'] = "Nyaklánc ",
['all'] = "Összes"
},
['info_duration'] = "Házi állatod élettartama nem örökös.[ENTER]Szükséged lesz Erő Snack-re amivel [ENTER]plusz 30 nappal megnövelheted az élet tartalmát.",
['info_duration_continue'] = "Szeretnéd megnövelni?",
['duration_no_item'] = "2",
['duration_extended'] = "<Pet> A kisállatod élettartama 30 nappal megnőtt.",
['info_system'] = "Minden kisállat külön-külön fejlődik azaz exp-t kap a harcok során. Minden egyes szintlépésnél egy pontal növelheted a[ENTER]statjait amivel egyidejűleg a gazdája bónusza is növekszik. A státusz pontok újra oszthatóak. A petekre felszerelések is pakolhatók és természetesen le is vehetők róluk.[ENTER]Ezeknek három fajtája van: Sisakok, Nyakláncok és Karkötők.  ",
['cantsummonmore'] = "<Pet> Egyszerre csak egy petet hívhatsz elő.",
['removeitemst'] = "<Pet> Az öszes tárgy eltávolítása.",
['infosystemother'] = "A pet rendszert fordította és javította kitudjaki.[ENTER]Kellemes szórakozást kívánunk hozzá.",
['blocked_exp'] = "<Pet> Tapasztalatszerzés blokkolva.",
['unblocked_exp'] = "<Pet> Tapasztalatszerzés engedélyezve.",
['PetSummonedRequired'] = "<Pet> Elsőnek hívd elő a peted.",
['infoResetStats'] = "Minden kisállat szintenként kap egy pontot amellyel[ENTER]növelheted státuszát.[ENTER][ENTER]Ezzel az opcióval újra oszthatod az állatod pontjait.[ENTER]Újra osztod?",
['infoName'] = "Adj nevet kedvencednek.[ENTER]Ehez Ló Cukrára van szükséged.[ENTER]Szeretnéd elnevezni?",
['wannaGiveName'] = "Itt tetszés szerint megadhatod a kisállatod nevét.",
['MoreThanNine'] = "<Pet> A név nem lehet több 9 karakternél.",
['YouveToWriteName'] = "<Pet> Ad meg a kívánt nevet a petednek",
['AtLeastThree'] = "<Pet> Nem megfelelő legalább 3 betűnek kell lennie.",
['NameGiven'] = "<Pet> Ez lett a pet neve:!",
['NoSpacesAllowed'] = "FIGYELEM: A pet neve nem tartalmazhat szóköz.[ENTER]Abban az esetben ha mégis lenne benne automatikusan[ENTER]javításra kerül.",
['DontHaveSugar'] = "Nincs nálad Ló Cukra."
}

pet_info =
{
[53001] = { 34001, " - TűzFőnix", 0, "fenix_fogo", "TűzFőnix", 3},
[53002] = { 34002, " - Szarvasgida", 0, "rena", "Szarvasgida", 5},
[53003] = { 34003, " - JégFőnix", 0, "fenix_gelo", "JégFőnix", 4},
[53005] = { 34004, " - Azrael baby ", 1, "az_bebe", "Azrael[_]Baby ", 6},
[53006] = { 34009, " - Azrael baby ", 1, "az_bebe_ouro", "Azrael[_]Baby[_](Arany)", 6},
[53007] = { 34010, " - Bambi", 0, "bambi", "Bambi", 5},
[53008] = { 34011, " - Knuud", 0, "knuud", "Knuud", 12},
[53009] = { 34012, " - Bao Bao", 0, "baobao", "Bao[_]Bao", 11},
[53010] = { 34008, " - Leonidas", 0, "leon", "Leonidas", 10},
[53011] = { 34007, " - Khan", 0, "khan", "Khan", 7},
[53012] = { 34005, " - Porky", 0, "pork", "Porky", 8},
[53013] = { 34006, " - Rufus", 0, "ruf", "Rufus", 9},
[53014] = { 34013, " - Mini-Executor", 0, "min_ex", "Mini-Executor", 14},
[53015] = { 34014, " - Mini-Executor", 0, "min_ex_ouro", "Mini-Executor[_](Ouro)", 14},
[53016] = { 34015, " - Csonti", 0, "bon", "Csonti", 13},
[53017] = { 34016, " - Főnix Jáde", 0, "fenix_verde", "Főnix[_]Jáde", 15}
}


pet_level_table =
{
[34001] = "fenix_fogo",
[34002] = "rena",
[34003] = "fenix_gelo",
[34004] = "az_bebe",
[34005] = "pork",
[34006] = "ruf",
[34007] = "khan",
[34008] = "leon",
[34009] = "az_bebe_ouro",
[34010] = "bambi",
[34011] = "knuud",
[34012] = "baobao",
[34013] = "min_ex",
[34014] = "min_ex_ouro",
[34015] = "bon",
[34016] = "fenix_verde"
}

pet_exp_table =
{
[1] = 300, [2] = 600, [3] = 900,
[4] = 1200, [5] = 1500, [6] = 1800,
[7] = 2100, [8] = 2400, [9] = 2700,
[10] = 3000, [11] = 3300, [12] = 3600,
[13] = 3900, [14] = 4200, [15] = 4500,
[16] = 4800, [17] = 5100, [18] = 5400,
[19] = 5700, [20] = 6000, [21] = 6300,
[22] = 6600, [23] = 6900, [24] = 7200,
[25] = 7500, [26] = 7800, [27] = 8100,
[28] = 8400, [29] = 8700, [30] = 9000,
[31] = 9300, [32] = 9600, [33] = 9900,
[34] = 10200, [35] = 10500, [36] = 10800,
[37] = 11100, [38] = 11400, [39] = 11700,
[40] = 12000, [41] = 12300, [42] = 12600,
[43] = 12900, [44] = 13200, [45] = 13500,
[46] = 13800, [47] = 14100, [48] = 14400,
[49] = 14700, [50] = 15000, [51] = 15300,
[52] = 15600, [53] = 15900, [54] = 16200,
[55] = 16500, [56] = 16800, [57] = 17100,
[58] = 17400, [59] = 17700, [60] = 18000,
[61] = 18300, [62] = 18600, [63] = 18900,
[64] = 19200, [65] = 19500, [66] = 19800,
[67] = 20100, [68] = 20400, [69] = 20700,
[70] = 21000, [71] = 21300, [72] = 21600,
[73] = 21900, [74] = 22200, [75] = 22500,
[76] = 22800, [77] = 23100, [78] = 23400,
[79] = 23700, [80] = 24000, [81] = 24300,
[82] = 24600, [83] = 24900, [84] = 25200,
[85] = 25500, [86] = 25800, [87] = 26100,
[88] = 26400, [89] = 26700, [90] = 27000,
[91] = 27300, [92] = 27600, [93] = 27900,
[94] = 28200, [95] = 28500, [96] = 28800,
[97] = 29100, [98] = 29400, [99] = 29700,
[100] = 30000, [101] = 30300, [102] = 30600,
[103] = 30900, [104] = 31200, [105] = 31500,
[106] = 31800, [107] = 32100, [108] = 32400,
[109] = 32700, [110] = 33000, [111] = 33300,
[112] = 33600, [113] = 33900, [114] = 34200,
[115] = 34500, [116] = 34800, [117] = 35100,
[118] = 35400, [119] = 35700, [120] = 36000,
[121] = 36300, [122] = 36600, [123] = 36900,
[124] = 37200, [125] = 37500, [126] = 37800,
[127] = 38100, [128] = 38400, [129] = 38700,
[130] = 39000, [131] = 39300, [132] = 39600,
[133] = 39900, [134] = 40200, [135] = 40500,
[136] = 40800, [137] = 41100, [138] = 41400,
[139] = 41700, [140] = 42000, [141] = 42300,
[142] = 42600, [143] = 42900, [144] = 43200,
[145] = 43500, [146] = 43800, [147] = 44100,
[148] = 44400, [149] = 44700, [150] = 45000,
}

item_info = {
[62011] = {"SetPetHead",1, 500, "Experięncia Bónus"},
[62012] = {"SetPetHead",1, 700, "Experięncia Bónus"},
[62013] = {"SetPetHead",1, 700, "Experięncia Bónus"},
[62014] = {"SetPetHead",1, 900, "Experięncia Bónus"},
[62015] = {"SetPetHead",1, 900, "Experięncia Bónus"},
[62016] = {"SetPetHead",1, 1100, "Experięncia Bónus"},
[62017] = {"SetPetHead",1, 1100, "Experięncia Bónus"},
[62018] = {"SetPetHead",1, 1300, "Experięncia Bónus"},
[62019] = {"SetPetHead",1, 1500, "Experięncia Bónus"},
[62021] = {"SetPetNeck",43, 3, "Receber Itens a Dobrar"},
[62022] = {"SetPetNeck",43, 5, "Receber Itens a Dobrar"},
[62023] = {"SetPetNeck",43, 7, "Receber Itens a Dobrar"},
[62024] = {"SetPetNeck",43, 9, "Receber Itens a Dobrar"},
[62025] = {"SetPetNeck",43, 11, "Receber Itens a Dobrar"},
[62026] = {"SetPetNeck",43, 13, "Receber Itens a Dobrar"},
[62027] = {"SetPetNeck",43, 15, "Receber Itens a Dobrar"},
[62028] = {"SetPetNeck",43, 17, "Receber Itens a Dobrar"},
[62029] = {"SetPetNeck",43, 20, "Receber Itens a Dobrar"},
[62031] = {"SetPetFoot",44, 3, "Receber Yang a Dobrar"},
[62032] = {"SetPetFoot",44, 5, "Receber Yang a Dobrar"},
[62033] = {"SetPetFoot",44, 7, "Receber Yang a Dobrar"},
[62034] = {"SetPetFoot",44, 9, "Receber Yang a Dobrar"},
[62035] = {"SetPetFoot",44, 11, "Receber Yang a Dobrar"},
[62036] = {"SetPetFoot",44, 13, "Receber Yang a Dobrar"},
[62037] = {"SetPetFoot",44, 15, "Receber Yang a Dobrar"},
[62038] = {"SetPetFoot",44, 18, "Receber Yang a Dobrar"},
[62039] = {"SetPetFoot",44, 20, "Receber Yang a Dobrar"},
}

effect_table = {
[0] = nil,
[1] = nil,
[2] = "d:\\\ymir work\\\effect\\\etc\\\levelup_1\\\level_up.mse",
[3] = "d:\\\ymir work\\\effect\\\etc\\\pets\\\pet_fenixfogo.mse",
[4] = "d:\\\ymir work\\\effect\\\etc\\\pets\\\pet_fenixgelo.mse",
[5] = "d:\\\ymir work\\\effect\\\etc\\\pets\\\pet_rena.mse",
[6] = "d:\\\ymir work\\\effect\\\etc\\\pets\\\pet_azrael.mse",
[7] = "d:\\\ymir work\\\effect\\\etc\\\pets\\\pet_khan.mse",
[8] = "d:\\\ymir work\\\effect\\\etc\\\pets\\\pet_porky.mse",
[9] = "d:\\\ymir work\\\effect\\\etc\\\pets\\\pet_rufus.mse",
[10] = "d:\\\ymir work\\\effect\\\etc\\\pets\\\pet_leonidas.mse",
[11] = "d:\\\ymir work\\\effect\\\etc\\\pets\\\pet_baobao.mse",
[12] = "d:\\\ymir work\\\effect\\\etc\\\pets\\\pet_knuud.mse",
[13] = "d:\\\ymir work\\\effect\\\etc\\\pets\\\pet_boney.mse",
[14] = "d:\\\ymir work\\\effect\\\etc\\\pets\\\pet_miniexecutor.mse",
[15] = "d:\\\ymir work\\\effect\\\etc\\\pets\\\pet_fenixverde.mse"
}

function select2(limit, ...)
if limit < 1 then limit = 1 end
local cicle, val = 0, 0
local next, cancel = "Tovább", "Bezár"

while true do
t = {}
for i = 1, limit do
if arg[1] ~= nil then
table.insert(t, arg[1])
table.remove(arg, 1)
end
end
if arg[1] ~= nil then table.insert(t, next) end
table.insert(t, cancel)

val = select_table(t)

if val == table.getn(t) then break
elseif val == table.getn(t) - 1 and arg[1] ~= nil then cicle = cicle + limit
else return (cicle+val)
end
val = 0
end
end


Valaki esetleg tudja rá a megoldást?

Válaszokat előre köszönöm.

Ugyan ez lenne a problémám esetleg valakinek van rá valami fix?  :'(