@thepotaSegue minha contribuição que trabalhei esses dias...
criado um slot unico para colocar as balls / verificação no go/back para que só permita utilizar os pokémons dentro do slot
Remake de sprites
Otimizado sistema de go/back do summon com verificações mais limpas
Corrigido no mapa os CP, montado corretamente
Como essa área está parada a muito tempo, resolvi compartilhar um layout que editei de acordo com meu gosto.
Deixei simplão mesmo, tá usável e fácil de editar.
O que vale é ajudar. XD
Créditos para otpk... e o Benny pois usei o dele como base.
Antes de mais nada, vou explicar a lógica por trás do código que escrevi e sua configuração.
Tome a seguinte imagem como referência:
As posições que serão consideradas no "sorteio" estão contidas na área do quadrilátero (representado em azul). Por isso, para delimitar essa área do restante do mapa que não será considerado tomamos como pontos de referência os vértices A e B. No código que postarei a seguir, você deve colocar em fromPos as coordenadas do ponto A (ponto superior esquerdo da área), e em toPos as coordenadas do ponto B (ponto inferior direito da área).
Também optei por imprimir a posição escolhida na distro, facilitando sua busca.
data/globalevents/scripts:
local config = { itemid = xxx, --ID do item criado. edges = { fromPos = {x = x, y = y, z = z}, --Coordenadas da posição superior esquerda. toPos = {x = x, y = y, z = z} --Coordenadas da posição inferior direita. }}function isWalkable(pos, creature, proj, pz, water)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if isWater(getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid) and water then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return trueendfunction getRandomPos(f, t) local pos = {x = math.random(f.x, t.x), y = math.random(f.y, t.y), z = math.random(f.z, t.z)} if not isWalkable(pos, true, true, true, true) then pos = getRandomPos(f, t) end return posendfunction onStartup() local pos = getRandomPos(config.edges.fromPos, config.edges.toPos) print("Coordenadas selecionadas para o item "..getItemNameById(config.itemid)..":") print("X: "..pos.x..", Y: "..pos.y..", Z: "..pos.z) doCreateItem(config.itemid, 1, pos) return trueend
Tag:
<globalevent name="randompos" type="start" event="script" value="nome_do_arquivo.lua"/>
Quem Está Navegando
0 membros estão online
Nenhum usuário registrado visualizando esta página.