Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 06/21/22 em todas áreas
-
Criando E Editando Seu Monstro
Nerival reagiu a Shadownzinho por um tópico no fórum
Ai Galera Do Xtibia Primeiro Post Meu Aki Intao Esperem Que Gostem Vou Ensinar A Como Criar E Editar Um Monstro Vamos Ao Que Interessa Va Em (Pasta Do Seu OT/Data/Monsters) Copie E Cole Qualquer Arquivo.XML Apague Oq Tiver Dentro E Cole Isso <?xml version="1.0" encoding="UTF-8"?> <monster name="{BOSS} Shadown Server" nameDescription="a {BOSS} Shadown Server" race="blood" experience="50000000" speed="1300" manacost="500"> <health now="100000000" max="100000000"/> <look type="287" head="0" body="114" legs="0" feet="0" addons="3" corpse="8938"/> <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> <flags> <flag skull="5"/> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="1000" min="-500000" max="-500000"/> <attack name="Vip Explosion" interval="1000" chance="100" min="-5000000" max="-5000000"/> <attack name="Trapped Noob" interval="5000" chance="100" min="0" max="0"/> </attacks> <defenses armor="20" defense="20"> <defense name="healing" interval="5000" chance="100" min="1000000" max="1000000"> <attribute key="areaEffect" value="blueshimmer"/> </defense> <defense name="speed" interval="1000" chance="10" speedchange="300" duration="3000"> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> <immunities> <immunity invisible="1"/> </immunities> <loot> <item id="2160" countmax="100" chance1="10000000" chancemax="0"/> <item id="2160" countmax="100" chance1="10000000" chancemax="0"/> <item id="2160" countmax="100" chance1="10000000" chancemax="0"/> <item id="2160" countmax="100" chance1="10000000" chancemax="0"/> <item id="2160" countmax="100" chance1="10000000" chancemax="0"/> <item id="2160" countmax="100" chance1="10000000" chancemax="0"/> </loot> </monster> Agr Vou Começar A Explicaçao Para Voces Poderem Editar Seu Monstro <?xml version="1.0" encoding="UTF-8"?> *Nao Mexa Nisso É A Base Do Script Sempre Que For Começar Um Monstro Tem Que Ter Essa Tag <monster name="{BOSS} Shadown Server" nameDescription="a {BOSS} Shadown Server" race="blood" experience="50000000" speed="1300" manacost="500"> *Em Monster Name E Name Description É O Nome Que Aparecerá Quando Voce O Cria-lo Intao Sempre Colo Msm Nome Em Monsters Name E Name Description *Em Race É A Raça Da Criatura Ai Voce Pode Modificar Para Qualquer Uma Ex: Human/Undead.... Etc *Em Experience É A Xp Que O Bicho Vai Dar OBS: A Xp É Multiplicada Pela Xp Rate Do Seu OT *Em Speed É A Velocidade Que O Bicho Se Locomeverá *Em ManaCost Nao Mexa Deixe Sempre 500 É Uma Base Da Mana Do Bicho <health now="100000000" max="100000000"/> *Em Health Now É A Vida Que O Bicho Vai Estar Qunado Voce Criar Ou Der Respw *Em Max É A Vida Maxima Do Bicho <look type="287" head="0" body="114" legs="0" feet="0" addons="3" corpse="8938"/> *Em Look Type É O Outfit Do Monstro *Em Head/Body/Legs/Feet É As Cores Que O Bicho Usara Se A Roupa Dele Pode Ser Custumizada *Em Addons É O Addon Que Ele Vai Usar Para O Outfit Ai Voce Pode Escolher Usar 1/2/3 (O 1 É Uma Das Partes/O 2 É A Outra Parte/ O 3 É As 2 Partes Junta No Caso Addon Full) *Em Corpse É O Corpo Morto Do Bicho <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> *Em TargetChance Interval É Tempo Que Ele Vai Tentar Atacar No Caso 5000 = 5 Seg *Em Chance É % De Chance De Acerto *Em Strategy Attack É Uma Base Do Atack Deixe Sempre 100 *Em Defense É Uma Base De Defesa Deixe Sempre 0 <flags> <flag skull="5"/> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> *Em Skull É Pra Quando Voce Quere Por Caverinha No Bicho No Caso Esse Ai Esta Com Black Skull As Caverinhas Sao De Acordo Com O Comando /att skull *Em Summonable Deixe 0 Para Que Os Players Nao Possa Sumonar Caso Queria Que Eles O Sumone Coloque 1 *Em Attackable Deixe 1 Para Que Os Players Possa Attacar Se Colocar 0 Os Players nao Conseguirao Atacalo *Em Hostile Deixe 1 Para Que Os Players Possa Indentificalo Como Inimigo Se Colocar 0 Nao Sera Inimigo *Em Illusionable Deixe 0 Para Que Os Players Nao Possa Confundilo Usando Magia De Ilusionista *Em Conviceable Deixe 0 Para Que Os Players Nao Possa Se Transformar Caso Queria Que Eles O Possa Coloque 1 *Em Pushable Deixe 0 Para Que Os Players Nao Possa Empurralo Se Colocar 0 Os Players Conseguirao Umpurra-lo *Em TargetDistance É O Tanto De Distancia Que O Bicho Atacara Ex 1 Ele Ataca Com 1 SQM De Distancia Do Player(Caso Queira Que Ele Attack De Longe Coloque Ex 5-6) *Os Que Eu Nao Citei Deixe Como Esta <attacks> <attack name="melee" interval="1000" min="-500000" max="-500000"/> <attack name="Vip Explosion" interval="1000" chance="100" min="-5000000" max="-5000000"/> <attack name="Trapped Noob" interval="5000" chance="100" min="0" max="0"/> </attacks> <defenses armor="20" defense="20"> <defense name="healing" interval="5000" chance="100" min="1000000" max="1000000"> <attribute key="areaEffect" value="blueshimmer"/> </defense> <defense name="speed" interval="1000" chance="10" speedchange="300" duration="3000"> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> *Em Melee Interval É O Tempo De Quanto Em Quanto O Bicho Vai Attakar 1000 = 1 Seg *Em Min É Tanto Minimo Que Ele Vai Hitar *Em Max É Tanto Maximo Que Ele Vai Hitar *Em Vip Explosion/Trapped Noob Sao Magias Que O Bicho Ira Usar Ai Voce Coloque As Do Seu OT *Em Chance Depois Dos Nomes Das Magias Coloque Sempre 100 Que Ai Ele Sempre Conseguira Usar As Magias *Em Armor/Defense Esta 20 É Uma Porcentagem De Defesa Dos Hits Nao Coloque Muito Pois O Bicho Pode Ficar Imuni A Danos *Em Speed É Magia De Velocidade Caso Nao Queira Em Seu Monstro Apenas Tire A Tag <immunities> <immunity invisible="1"/> </immunities> *Em Immunity Invisible Deixe 1 Ai Ele Vai Ser Imuni Aos Players Espertinhos Que Usar Utana Vid E Vai Caçar <loot> <item id="2160" countmax="100" chance1="10000000" chancemax="0"/> <item id="2160" countmax="100" chance1="10000000" chancemax="0"/> <item id="2160" countmax="100" chance1="10000000" chancemax="0"/> <item id="2160" countmax="100" chance1="10000000" chancemax="0"/> <item id="2160" countmax="100" chance1="10000000" chancemax="0"/> <item id="2160" countmax="100" chance1="10000000" chancemax="0"/> </loot> *Em Item Id É ID Do Item Que Vai Dropar *Em CountNax É Tanto Daquele Item Que Vai Dropar *Em Chance É Chance Que Vai Dropar Akele Item *Em Em ChanceMax Deixe 0 Nao Influenciara Nada </monster> *Sempre Ao Finalizar Seu Monstro Coloque Essa Tag Depois De Ter Feito Isso Salve E Fexe Vá Em (Pasta Do Seu Ot/Data/Monsters) Abra O Monster.XML E Adicione A Seguinte Tag <monster name="Nome Do Monstro" file="Nome Do Monstro.xml" /> VLW GALERA ESPERO TER AJUDADO OBS: Esse Tutorial É 100% Meu E Nao Quero Ver Em Outros Topicos Ajudei ? Rep+1 ponto -
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"/>0 pontos
Líderes está configurado para São Paulo/GMT-03:00