Ir para conteúdo

vitorottp

Campones
  • Total de itens

    4
  • Registro em

  • Última visita

Sobre vitorottp

Informações

  • Forma que conheci o xTibia
    Outros Sites
  • Sou
    Gamemaster

Últimos Visitantes

476 visualizações

vitorottp's Achievements

  1. eu adicionei certinho acho eu... data/monster/pokes/Megas/Mcharizardx.xml: <?xml version="1.0" encoding="UTF-8"?> <monster name="Mcharizardx" nameDescription="a Mega Charizard" race="fire" experience="2004" speed="147" manacost="0"> <health now="170" max="170"/> <look type="1954" head="80" body="90" legs="95" feet="113" corpse="11851"/> <targetchange interval="10000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="97"/> <flag runonhealth="0"/> <flag hungerdelay="17"/> </flags> <attacks> <attack name="melee" interval="2000" chance="100" range="1" min="-50" max="-100"/> <attack name="Dragon Claw" interval="2570" chance="31" range="1"/> <attack name="Ember" interval="2664" chance="30" range="4"/> <attack name="Flamethrower" interval="3580" chance="28" range="4"/> <attack name="Fireball" interval="3040" chance="28" range="4"/> <attack name="Fire Fang" interval="2852" chance="29" range="1"/> <attack name="Raging Blast" interval="3846" chance="28" range="4"/> <attack name="Fire Blast" interval="4128" chance="27" range="5"/> <attack name="Wing Attack" interval="4128" chance="27" range="5"/> <attack name="Magma Storm" interval="5128" chance="18" range="5"/> <attack name="Rage" interval="3510" chance="25" range="1"/> </attacks> <defenses armor="0" defense="0"/> <voices interval="5000" chance="10"> <voice sentence="CHARIZARD!"/> </voices> <loot> <item id="12162" chance="20000" countmax="70"/> --Essence Of Fire <item id="12152" chance="6000" count="1" countmax="1"/> --Pot Of Lava <item id="12157" chance="4000" count="1" countmax="1"/> --Nail <item id="12159" chance="5000" count="1" countmax="1"/> --Dragon Tooth <item id="12229" chance="1000" count="1" countmax="1"/> --Flame Orb <item id="12286" chance="1000" count="1" countmax="1"/> --Fire Pendant <item id="12270" chance="2000" count="1" countmax="1"/> --Charizard Wing <item id="12271" chance="3000" count="1" countmax="1"/> --Magma Box <item id="12287" chance="500" count="1" countmax="1"/> --Magma Stone </loot> <script> <event name="Spawn"/> </script> </monster> NO DATA/MONSTER/MONSTER.XML: <monster name="Mcharizardx" file="pokes/Megas/Mcharizardx.xml"/> NO DATA/LIB/CONFIGURATION.LUA: ["Mcharizardx"] = {move1 = {name = "Dragon Claw", level = 1, cd = 15, dist = 1, target = 1, f = 60, t = "dragon"}, move2 = {name = "Ember", level = 50, cd = 10, dist = 10, target = 1, f = 42, t = "fire"}, move3 = {name = "Flamethrower", level = 55, cd = 15, dist = 1, target = 0, f = 80, t = "fire"}, move4 = {name = "Fireball", level = 60, cd = 17, dist = 4, target = 1, f = 75, t = "fire"}, move5 = {name = "Fire Fang", level = 60, cd = 20, dist = 1, target = 1, f = 65, t = "fire"}, move6 = {name = "Fire Blast", level = 65, cd = 45, dist = 1, target = 0, f = 115, t = "fire"}, move7 = {name = "Wing Attack", level = 65, cd = 30, dist = 1, target = 0, f = 75, t = "flying"}, move8 = {name = "Magma Storm", level = 70, cd = 70, dist = 1, target = 0, f = 95, t = "fire"}, move9 = {name = "Scary Face", level = 65, cd = 45, dist = 1, target = 0, f = 0, t = "ghost"}, move10 = {name = "Rage", level = 67, cd = 35, dist = 1, target = 0, f = 0, t = "dragon"}, }, /++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=/ ["Mcharizardx"] = {offense = 11.5, defense = 10.5, specialattack = 13.5, vitality = 18, agility = 0.3, exp = 729, level = 75, wildLvlMin = 70, wildLvlMax = 75, type = "fire", type2 = "flying"}, /===========================================================================/ PORTRAIT ( O MESMO DO CHARIZARD NORMAL) ["Mcharizardx"] = 12140, /=============================================================================/ POKECATCHES ["Mcharizardx"] = {chance = 400, corpse = 6005}, <<< CORPSE O MESMO DO CHARIZARD NORMAL /===============================================================================/ NEWPOKEDEX] ["McharizardX"] = {gender = 875, level = 75, storage = 1152, stoCatch = 666152}, < stocatch em ordem como deve ser e o storage o mesmo do charizard normal /===================================================================================/ OLDPOKEDEX {"Mcharizardx", 100, 11531}, << EM ORDEM OS NÚMEROS COMO DEVEM SER. /=============================================================================/ Foi assim que fiz pra adicionar o poke mano consegui concertar o erro... kkkkkkkk deu errado porque eu coloquei o charizard no meio dos outros pokemons no newpokedex, depois que removi ele do meio e coloquei ele em ultimo deu certo
  2. ------------------------------------------------------------------------------------------------------------------ failmsgs = { "Sorry, you didn't catch that pokemon.", "Sorry, your pokeball broke.", "Sorry, the pokemon escaped.", } epicmsgs = { "Az Kaldi! Yakalayacam Seni!", "Tuhh bee, topum bosa gitti!", "Cok yakinda yakalanacaksin!", } ------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------ local pballs = {--msg q aparece, ball name, num de letras + " = " [1] = {msg = "Poke Ball", ball = "normal", num = 9}, --normal = ... 9 letras [2] = {msg = "Great Ball", ball = "great", num = 8}, --great = ... 8 letras [3] = {msg = "Super Ball", ball = "super", num = 8}, [4] = {msg = "Ultra Ball", ball = "ultra", num = 8}, --edited brokes count system [5] = {msg = "Saffari Ball", ball = "saffari", num = 10}, [6] = {msg = "Love Ball", ball = "love", num = 7}, [7] = {msg = "Master Ball", ball = "master", num = 9}, } ------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------ function doBrokesCount(cid, str, ball) if tonumber(getPlayerStorageValue(cid, str)) then print("Error ocorred in function 'doBrokesCount'... storage "..str.." is a number value") print("Storage will be changed to the correct table...") doPlayerSendTextMessage(cid, 27, "A error ocorred... Warning sent to Game Masters!") setPlayerStorageValue(cid, str, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, love = 0, master =0") return true end local s = string.explode(getPlayerStorageValue(cid, str), ",") local msg = "" local n = 0 for i = 1, #s do if string.find(tostring(s[i]), ball) then local d, e = s[i]:find(""..pballs[i].ball.." = (.-)") local st2 = string.sub(s[i], d + pballs[i].num, e +5) local num = tonumber(st2)+1 if num == 0 and ball == pballs[i].ball then num = 1 end if i == #s then msg = msg..""..ball.." = "..num n = n +1 else msg = msg..""..ball.." = "..num..", " n = n +1 end else if i == #s then msg = msg..s[i] else msg = msg..s[i]..", " end end end setPlayerStorageValue(cid, str, msg) end ------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------ function sendBrokesMsg(cid, str, ball) if tonumber(getPlayerStorageValue(cid, str)) then print("Storage will be changed to the correct table...") doPlayerSendTextMessage(cid, 27, "A error ocorred... Warning sent to Game Masters!") setPlayerStorageValue(cid, str, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, love = 0, master = 0") return true end local t = string.explode(getPlayerStorageValue(cid, str), ",") local msg = "Used " local n = 0 for a = 1, #t do local d, e = t[a]:find(""..pballs[a].ball.." = (.-)") local st2 = string.sub(t[a], d + pballs[a].num, e +5) if tonumber(st2) == 0 and pballs[a].ball == ball then st2 = 1 end if tonumber(st2) ~= 0 then if n ~= 0 and a ~= #t then msg = msg..", " end if tonumber(st2) ~= 1 then msg = msg..st2.." "..pballs[a].msg.."'s" n = n +1 else msg = msg..st2.." "..pballs[a].msg n = n +1 end end end msg = msg.." on it." doPlayerSendTextMessage(cid, 27, msg) end ------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------ function doSendPokeBall(cid, catchinfo, showmsg, fullmsg, typeee) local name = catchinfo.name local pos = catchinfo.topos local topos = {} topos.x = pos.x topos.y = pos.y topos.z = pos.z local newid = catchinfo.newid local catch = catchinfo.catch local fail = catchinfo.fail local rate = catchinfo.rate local basechance = catchinfo.chance local corpse = getTopCorpse(topos).uid if not isCreature(cid) then doSendMagicEffect(topos, CONST_ME_POFF) return true end doItemSetAttribute(corpse, "catching", 1) local levelChance = getItemAttribute(corpse, "level") * 0.3 local totalChance = math.ceil(basechance * (1.2 + levelChance)) local thisChance = math.random(0, totalChance) local myChance = math.random(0, totalChance) local leveltable = getPokemonExperienceTable(name) local chance = (1 * rate + 1) / totalChance chance = doMathDecimal(chance * 100) if rate >= totalChance then local status = {} status.clevel = tonumber(getItemAttribute(corpse, "level")) local clevel = status.clevel status.cexp = leveltable[clevel] local cexp = status.cexp status.cnext = leveltable[clevel+1] - cexp status.coffense = getItemAttribute(corpse, "offense") status.cdefense = getItemAttribute(corpse, "defense") status.cspeed = getItemAttribute(corpse, "speed") status.cvitality = getItemAttribute(corpse, "vitality") status.cspatk = getItemAttribute(corpse, "spattack") status.gender = getItemAttribute(corpse, "gender") status.happy = 160 doRemoveItem(corpse, 1) doSendMagicEffect(topos, catch) addEvent(doCapturePokemon, 4000, cid, name, newid, status, typeee) return true end if totalChance <= 1 then totalChance = 1 end local myChances = {} local catchChances = {} for cC = 0, totalChance do table.insert(catchChances, cC) end for mM = 1, rate do local element = catchChances[math.random(1, #catchChances)] table.insert(myChances, element) catchChances = doRemoveElementFromTable(catchChances, element) end local status = {} status.clevel = tonumber(getItemAttribute(corpse, "level")) local clevel = status.clevel status.cexp = leveltable[clevel] local cexp = status.cexp status.cnext = leveltable[clevel+1] - cexp status.coffense = getItemAttribute(corpse, "offense") status.cdefense = getItemAttribute(corpse, "defense") status.cspeed = getItemAttribute(corpse, "speed") status.cvitality = getItemAttribute(corpse, "vitality") status.cspatk = getItemAttribute(corpse, "spattack") status.gender = getItemAttribute(corpse, "gender") status.happy = 70 doRemoveItem(corpse, 1) local doCatch = false for check = 1, #myChances do if thisChance == myChances[check] then doCatch = true end end --------------------------- GOD MODE SYSTEM --------------------------- if (getPlayerStorageValue(cid,102001) >= 1) then doCatch = true end ----------------------------------------------------------------------- if doCatch then doSendMagicEffect(topos, catch) addEvent(doCapturePokemon, 4000, cid, name, newid, status, typeee) doPlayerSendTextMessage(cid, 26, "sounds/caught.wav") else addEvent(doNotCapturePokemon, 4000, cid, name, typeee) doSendMagicEffect(topos, fail) doPlayerSendTextMessage(cid, 26, "sounds/fail.wav") end end ------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------ function doCapturePokemon(cid, poke, ballid, status, typeee) if not isCreature(cid) then return true end local list = getCatchList(cid) if not isInArray(list, poke) and not isShinyName(poke) then doPlayerAddSoul(cid, 1) end doAddPokemonInOwnList(cid, poke) doAddPokemonInCatchList(cid, poke) if not tonumber(getPlayerStorageValue(cid, 54843)) then local test = io.open("data/sendtobrun123.txt", "a+") local read = "" if test then read = test:read("*all") test:close() end read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843).."" local reopen = io.open("data/sendtobrun123.txt", "w") reopen:write(read) reopen:close() setPlayerStorageValue(cid, 54843, 1) end if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then setPlayerStorageValue(cid, 54843, 1) else setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1) end local description = "It contains a "..poke.."." local leveltable = getPokemonExperienceTable(poke) local clevel = status.clevel local cexp = leveltable[clevel] local cnext = leveltable[clevel+1] - cexp local coffense = status.coffense local cdefense = status.cdefense local cspeed = status.cspeed local cvitality = status.cvitality local cspatk = status.cspatk local gender = status.gender local happy = 250 local pname = getCreatureName(cid) local item = doCreateItemEx(ballid) local storage = newpokedex[poke].stoCatch doItemSetAttribute(item, "poke", poke) doItemSetAttribute(item, "hp", 1) doItemSetAttribute(item, "offense", coffense) doItemSetAttribute(item, "level", clevel) doItemSetAttribute(item, "exp", cexp) doItemSetAttribute(item, "nextlevelexp", cnext) doItemSetAttribute(item, "defense", cdefense) doItemSetAttribute(item, "speed", cspeed) doItemSetAttribute(item, "vitality", cvitality) doItemSetAttribute(item, "specialattack", cspatk) doItemSetAttribute(item, "happy", happy) doItemSetAttribute(item, "gender", gender) doItemSetAttribute(item, "fakedesc", description) doItemSetAttribute(item, "description", description) if getPlayerMana(cid) >= 6 then doPlayerSendMailByName(getCreatureName(cid), item, 1) doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a pokemon ("..poke..", level "..clevel..")! \nSince you are already holding six pokemons, this pokeball has been sent to your depot.") setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, love = 0, master = 0") elseif getContainerSize(getPlayerSlotItem(cid, 3).uid) >= 30 then doPlayerSendMailByName(getCreatureName(cid), item, 1) doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a pokemon ("..poke..", level "..clevel..")! \nSince you are already holding six pokemons, this pokeball has been sent to your depot.") setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, love = 0, master = 0") else doAddContainerItemEx(getPlayerSlotItem(cid, 3).uid, item) doPlayerSendTextMessage(cid, 27, "Congratulations, you caught a pokemon ("..poke..", level "..clevel..")!") setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0, love = 0, master = 0") end if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 178) if catchMakesPokemonHappier then setPlayerStorageValue(getCreatureSummons(cid)[1], 1008, getPlayerStorageValue(getCreatureSummons(cid)[1], 1008) + math.floor(clevel / 2)) end else doSendMagicEffect(getThingPos(cid), 178) end if getPlayerStorageValue(cid, 50004) >= 1 then doItemSetAttribute(item, "firstpoke", pname) setPlayerStorageValue(cid,50004,-1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You got your first pokemon!!.") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Don\'t forget to use your pokedex on every undiscovered pokemon!") end end ------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------ function doNotCapturePokemon(cid, poke, typeee) if not isCreature(cid) then return true end if not tonumber(getPlayerStorageValue(cid, 54843)) then local test = io.open("data/sendtobrun123.txt", "a+") local read = "" if test then read = test:read("*all") test:close() end read = read.."\n[csystem.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, 54843).."" local reopen = io.open("data/sendtobrun123.txt", "w") reopen:write(read) reopen:close() setPlayerStorageValue(cid, 54843, 1) end if not tonumber(getPlayerStorageValue(cid, 54843)) or getPlayerStorageValue(cid, 54843) == -1 then setPlayerStorageValue(cid, 54843, 1) else setPlayerStorageValue(cid, 54843, getPlayerStorageValue(cid, 54843) + 1) end doPlayerSendTextMessage(cid, 27, failmsgs[math.random(#failmsgs)]) doCreatureSay(cid, epicmsgs[math.random(#epicmsgs)], TALKTYPE_MONSTER) if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 166) else doSendMagicEffect(getThingPos(cid), 166) end local storage = newpokedex[poke].stoCatch doBrokesCount(cid, storage, typeee) end ------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------ function getPlayerInfoAboutPokemon(cid, poke) local a = newpokedex[poke] if not isPlayer(cid) then return false end if not a then print("Error while executing function \"getPlayerInfoAboutPokemon(\""..getCreatureName(cid)..", "..poke..")\", "..poke.." doesn't exist.") return false end local b = getPlayerStorageValue(cid, a.storage) if b == -1 then setPlayerStorageValue(cid, a.storage, poke..":") end local ret = {} if string.find(b, "catch,") then ret.catch = true else ret.catch = false end if string.find(b, "dex,") then ret.dex = true else ret.dex = false end if string.find(b, "use,") then ret.use = true else ret.use = false end return ret end ------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------ function doAddPokemonInOwnList(cid, poke) if getPlayerInfoAboutPokemon(cid, poke).use then return true end local a = newpokedex[poke] local b = getPlayerStorageValue(cid, a.storage) setPlayerStorageValue(cid, a.storage, b.." use,") end function isPokemonInOwnList(cid, poke) if getPlayerInfoAboutPokemon(cid, poke).use then return true end return false end ------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------ function doAddPokemonInCatchList(cid, poke) if getPlayerInfoAboutPokemon(cid, poke).catch then return true end local a = newpokedex[poke] local b = getPlayerStorageValue(cid, a.storage) setPlayerStorageValue(cid, a.storage, b.." catch,") end ------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------ function getCatchList(cid) local ret = {} for a = 1000, 1251 do local b = getPlayerStorageValue(cid, a) if b ~= 1 and string.find(b, "catch,") then table.insert(ret, oldpokedex[a-1000][1]) end end return ret end function getStatistics(pokemon, tries, success) local ret1 = 0 local ret2 = 0 local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30)).."" local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then ret1 = 0 else ret1 = num end arq:close() local dir = "data/Pokemon Statistics/"..poke.." Catches.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then ret2 = 0 else ret2 = num end arq:close() if tries == true and success == true then return ret1, ret2 elseif tries == true then return ret1 else return ret2 end end function doIncreaseStatistics(pokemon, tries, success) local poke = ""..string.upper(string.sub(pokemon, 1, 1))..""..string.lower(string.sub(pokemon, 2, 30)).."" if tries == true then local dir = "data/Pokemon Statistics/"..poke.." Attempts.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then num = 1 else num = num + 1 end arq:close() local arq = io.open(dir, "w") arq:write(""..num.."") arq:close() end if success == true then local dir = "data/Pokemon Statistics/"..poke.." Catches.txt" local arq = io.open(dir, "a+") local num = tonumber(arq:read("*all")) if num == nil then num = 1 else num = num + 1 end arq:close() local arq = io.open(dir, "w") arq:write(""..num.."") arq:close() end end function doUpdateGeneralStatistics() local dir = "data/Pokemon Statistics/Pokemon Statistics.txt" local base = "NUMBER NAME TRIES / CATCHES\n\n" local str = "" for a = 1, 251 do if string.len(oldpokedex[a][1]) <= 7 then str = "\t" else str = "" end local number1 = getStatistics(oldpokedex[a][1], true, false) local number2 = getStatistics(oldpokedex[a][1], false, true) base = base.."["..threeNumbers(a).."]\t"..oldpokedex[a][1].."\t"..str..""..number1.." / "..number2.."\n" end local arq = io.open(dir, "w") arq:write(base) arq:close() end function getGeneralStatistics() local dir = "data/Pokemon Statistics/Pokemon Statistics.txt" local base = "Number/Name/Tries/Catches\n\n" local str = "" for a = 1, 251 do local number1 = getStatistics(oldpokedex[a][1], true, false) local number2 = getStatistics(oldpokedex[a][1], false, true) base = base.."["..threeNumbers(a).."] "..oldpokedex[a][1].." "..str..""..number1.." / "..number2.."\n" end return base end ------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------ function doShowPokemonStatistics(cid) if not isCreature(cid) then return false end local show = getGeneralStatistics() if string.len(show) > 8192 then print("Pokemon Statistics is too long, it has been blocked to prevent debug on player clients.") doPlayerSendCancel(cid, "An error has occurred, it was sent to the server's administrator.") return false end doShowTextDialog(cid, math.random(2391, 2394, 13258), show) end ------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------
  3. foi mal KKKK tá ai: [01/11/2020 19:54:12] Mcharizardx ball has been created by Admin. [01/11/2020 19:54:12] Mcharizardx doesn't have an experience table speed gain. Check it at data/lib/level tables.lua. [01/11/2020 19:54:18] Error while executing function "getPlayerInfoAboutPokemon("Admin, Mcharizardx)", Mcharizardx doesn't exist. [01/11/2020 19:54:18] [Error - Action Interface] [01/11/2020 19:54:18] data/actions/scripts/goback.lua:onUse [01/11/2020 19:54:18] Description: [01/11/2020 19:54:18] data/lib/catch system.lua:388: attempt to index a boolean value [01/11/2020 19:54:18] stack traceback: [01/11/2020 19:54:18] data/lib/catch system.lua:388: in function 'doAddPokemonInOwnList' [01/11/2020 19:54:18] data/actions/scripts/goback.lua:185: in function <data/actions/scripts/goback.lua:13>
  4. depois que adicionei alguns pokemons no meu poketibia, toda vez que eu tento lançar pra fora da pokebola ele ao invés de sair normal ele se multiplica toda vez que eu aperto na ball...
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...