Ir para conteúdo

eunaosei123

Membro
  • Registro em

  • Última visita

Tudo que eunaosei123 postou

  1. eunaosei123 postou uma resposta no tópico em Suporte Tibia OTServer
    Poste foto do seu painel de controle que ajuda mais né '-'
  2. Eles são uns pets que vc click no ovo e ele sai ,o tibia é 8.6 e o ot tbm
  3. eunaosei123 postou uma resposta no tópico em Suporte Tibia OTServer
    Tente esse sistema Coloque no Talkaction em todas as partes, GOD, CM, GM, Tutor, Senior Tutor, Player, TUDO !: <talkaction words="!petinfo" script="pets/!petinfo.lua"/> <talkaction words="!petsay" script="pets/!petsay.lua"/> <talkaction words="!petcarry" script="pets/!petcarry.lua"/> <talkaction words="!pet" script="pets/!pet.lua"/> <talkaction words="!petattack" script="pets/!petattack.lua"/> <talkaction words="!petgetitem" script="pets/!petgetitem.lua"/> Copie o config.lua, add na pasta onde ele está e mude o nome para petConfig.lua e dentro coloque: --// \\-- --( made by ~FreeGeels~* ) -- --____________ //-- petSystemExhaustion = 1 --in secods, 0 = no exhausted. frases = {"Men, im still exhausted!", "Ok, in one momment", "afff, again?!", "meh, one second"} lenght = 39 -- maximun lenght the !petsay can have... manaGainTicks = 3000 -- --how fast the pet gains mana manaGainAmmount = 10 --// manaGainPerLevel = 20 -- mana that gains the pet for each level the player gain magicLevelRate = 4 -- how faster the pet will gain mlvl compared to real tibia,, base = 2000 --base storage. All storages will depend of this number storages = { petMag = base, petUid = base+1, petExha = base+2, petDamage = base+3, petManaSpent = base+4, petIsOnline = base+5, petMana = base+6, petIsHealing = base+7, petCap = base+8, petSystemExhaustion = base+9 } petItems = {} maxItems = 10 --Max items the pet can carry --lol V x = 0 y = function() x = x + 1 end table.foreach(storages, y) for i = 1, maxItems do petItems = base+x+i end --Pets, dependiong on the level pets = { {vocations = {1, 5}, pets = {{level = 100, name = "demon"}, {level = 60, name = "Dragons"}, {level = 50, name = "Dwarf Gegmancers"}, {level = 40, name = "Demon Skeleton"}, {level = 30, name = "Fire Devil"}, {level = 20, name = "Minotaur Archer"}, {level = 10, name = "Minotaur"}, {level = 0, name = "Rat"}} }, {vocations = {2, 6}, pets = {{level = 100, name = "demon"}, {level = 60, name = "Dragons"}, {level = 50, name = "Dwarf Gegmancers"}, {level = 40, name = "Demon Skeleton"}, {level = 30, name = "Fire Devil"}, {level = 20, name = "Minotaur Archer"}, {level = 10, name = "Minotaur"}, {level = 0, name = "Rat"}} }, {vocations = {3, 7}, pets = {{level = 100, name = "demon"}, {level = 60, name = "Dragons"}, {level = 50, name = "Dwarf Gegmancers"}, {level = 40, name = "Demon Skeleton"}, {level = 30, name = "Fire Devil"}, {level = 20, name = "Minotaur Archer"}, {level = 10, name = "Minotaur"}, {level = 0, name = "Rat"}} }, {vocations = {4, 8}, pets = {{level = 100, name = "demon"}, {level = 60, name = "Dragons"}, {level = 50, name = "Dwarf Gegmancers"}, {level = 40, name = "Demon Skeleton"}, {level = 30, name = "Fire Devil"}, {level = 20, name = "Minotaur Archer"}, {level = 10, name = "Minotaur"}, {level = 0, name = "Cave Rat"}} } } --attacks of the pet. !petattack "param --It's pretty easy how to config, I think it doesn't need an extra explanation. attacks = {{param = "energy", theFunction = false, offensive = 1, needLevel = 20, self = 0, needMag = 10, manaSpent = 60, exhausted = 1, range = 6, combatType = COMBAT_ENERGYDAMAGE, combatAni = CONST_ME_ENERGYAREA, area = 2, formula = {maxb = 0.4, maxa = 30, minb = 0.5, mina = 0}, }, {param = "exori", theFunction = false, offensive = 1, needLevel = 40, self = 0, needMag = 5, manaSpent = 145, exhausted = 1, range = 0, combatType = COMBAT_PHYSICALDAMAGE, combatAni = CONST_ME_HITAREA, area = 2, formula = {maxb = 0.6, maxa = 30, minb = 1.2, mina = 0}, }, {param = "fireball", theFunction = false, offensive = 1, needLevel = 50, self = 0, needMag = 15, manaSpent = 100, exhausted = 1, range = 3, combatType = COMBAT_FIREDAMAGE, combatAni = CONST_ME_FIREAREA, area = 6, formula = {maxb = 0.6, maxa = 30, minb = 1.2, mina = 0} }, {param = "mini energy", theFunction = false, offensive = 1, needLevel = 0, self = 0, needMag = 0, manaSpent = 20, exhausted = 1, range = 1, combatType = COMBAT_ENERGYDAMAGE, combatAni = CONST_ME_ENERGYAREA, area = 1, formula = {maxb = 0.13, maxa = 0, minb = 0.262, mina = 0} }, {param = "health", theFunction = false, offensive = -1, needLevel = 10, self = 1, needMag = 0, manaSpent = 100, exhausted = 2, range = 0, combatType = COMBAT_HEALING, combatAni = CONST_ME_MAGIC_BLUE, area = 1, formula = {maxb = 0.4, maxa = 20, minb = 0.7, mina = 0} }, {param = "paralize", needLevel = 1, needMag = 0, manaSpent = 300, exhausted = 2, theFunction = function (parameters) daPet = getPlayerStorageValue(parameters.cid, storages.petUid) if getCreatureTarget(daPet) ~= 0 then doAddCondition(getCreatureTarget(parameters.cid), 4) end end }, {param = "speed", needLevel = 10, needMag = 4, manaSpent = 60, exhausted = 2, theFunction = function (parameters) doAddCondition(getPlayerStorageValue(parameters.ci d, storages.petUid), 11) end }, {param = "double fire", needLevel = 1, needMag = 0, manaSpent = 100, exhausted = 2, theFunction = function (parameters) local myAttack = formulaAttack(getPlayerLevel(parameters.cid), getPlayerStorageValue(parameters.cid, storages.petMag), 0.7, 0, 1.0, 0) function doAreaCombatHealthEx(params) local randoms = {[1] = math.random(-2, 2), [2] = math.random(-2, 2) } local attackCreature = getPlayerStorageValue(parameters.cid, storages.petUid) if getCreatureTarget(getPlayerStorageValue(parameters .cid, storages.petUid)) ~= 0 then attackCreature = getCreatureTarget(getPlayerStorageValue(parameters .cid, storages.petUid)) end local posa = getCreaturePosition(attackCreature) doAreaCombatHealth(getPlayerStorageValue(parameter s.cid, storages.petUid), COMBAT_FIREDAMAGE, {x = posa.x + randoms[1], y = posa.y + randoms[2], z = posa.z}, 1, -params.myAttack.minD, -params.myAttack.maxD, CONST_ME_FIREAREA) doSendDistanceShoot(getCreaturePosition(getPlayerS torageValue(parameters.cid, storages.petUid)), {x = posa.x + randoms[1], y = posa.y + randoms[2], z = posa.z}, CONST_ANI_FIRE) end doAreaCombatHealthEx({cid = parameters.cid, target = getCreaturePosition(attackCreature), myAttack = myAttack}) for i = 1, 7 do addEvent(doAreaCombatHealthEx, 200*i, {cid = parameters.cid, target = getCreaturePosition(attackCreature), myAttack = myAttack}) end end } } function setExhausted(cid) setPlayerStorageValue(cid, storages.petSystemExhaustion, os.clock()+1) end function formulaAttack(magicLevel, level, maxb, maxa, minb, mina) return {minD = (level * 2 + magicLevel * 3) * (1 + mina) + minb, maxD = (level * 2 + magicLevel * 3) * (1 + maxb) + maxa } end function isExhausted(cid) if isPlayer(cid) == 1 then local CRONOMETRO = getPlayerStorageValue(cid, storages.petSystemExhaustion) local CRONOMETRO2 = os.clock() local TIEMPO = os.difftime(CRONOMETRO2, CRONOMETRO) if petSystemExhaustion - TIEMPO > petSystemExhaustion or CRONOMETRO == -1 then setPlayerStorageValue(cid, storages.petSystemExhaustion, CRONOMETRO2+1) return 0 end if petSystemExhaustion - TIEMPO <= 0 then return 0 end end return 1 end function addMana(a) local cid = a.cid local petManaMax = getPlayerLevel(cid)*manaGainPerLevel if getPlayerStorageValue(cid, storages.petMana) < petManaMax then if petManaMax - getPlayerStorageValue(cid, storages.petMana) < 10 then setPlayerStorageValue(cid, storages.petMana, getPlayerStorageValue(cid, storages.petMana) + petManaMax - getPlayerStorageValue(cid, storages.petMana)) else setPlayerStorageValue(cid, storages.petMana, getPlayerStorageValue(cid, storages.petMana) + 10) end addEvent(addMana, manaGainTicks, {cid = cid}) else setPlayerStorageValue(cid, storages.petIsHealing, 0) end end Na pasta data\talkactions\scripts crie uma pasta chamada "pets" e dentro crie os seguintes arquivos: !petinfo.lua dofile("./petConfig.lua") function onSay(cid, words, param) if isExhausted(cid) == 1 then return 0 end local request = 0 local daPet = getPlayerStorageValue(cid, storages.petUid) if isCreature(daPet) == 1 then param = string.lower(param) if param == "magic level" then request = getPlayerStorageValue(cid, storages.petMag) elseif param == "mana" then request = getPlayerStorageValue(cid, storages.petMana) elseif param == "health" then request = getCreatureHealth(daPet) end if request ~= 0 then doPlayerSendTextMessage(cid, 19, 'Pet ' .. param .. ': ' .. request .. '.') end else doPlayerSendCancel(cid, 'You haven\'t call your pet!') end return setExhausted(cid) end !petsay.lua dofile("./petConfig.lua") function onSay(cid, words, param) if isExhausted(cid) == 1 then return 0 end local daPet = getPlayerStorageValue(cid, storages.petUid) if isCreature(daPet) == 1 then if param ~= nil then if string.len(param) < lenght then doCreatureSay(daPet, '' .. param .. '', TALKTYPE_ORANGE_1) else doPlayerSendCancel(cid, 'No more than ' .. lenght .. ' character. ') end else doPlayerSendCancel(cid, 'You must enter a text') end else doPlayerSendCancel(cid, 'You haven\'t call your pet!') end return setExhausted(cid) end !petcarry.lua dofile("./petConfig.lua") function onSay(cid, words, param) if isExhausted(cid) == 1 then return 0 end local mySto = 0 local daPet = getPlayerStorageValue(cid, storages.petUid) if isCreature(daPet) == 1 then local pos = getCreaturePosition(daPet) local a = 1 while a < 10 do if getItemWeight(getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = a}).itemid, 1) ~= 0 then break end a = a + 1 end local carryingItem = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = a}) if getItemWeight(carryingItem.itemid, 1) ~= 0 then if isContainer(carryingItem.uid) == 0 then for b = 1, #petItems do if getPlayerStorageValue(cid, petItems) == 0 or getPlayerStorageValue(cid, petItems) == -1 then mySto = b break end end local count = 1 if mySto ~= 0 then local theID = carryingItem.itemid if isItemStackable(theID) == 1 then count = carryingItem.type doRemoveItem(carryingItem.uid, carryingItem.type) else doRemoveItem(carryingItem.uid, 1) end setPlayerStorageValue(cid, petItems[mySto], theID*100+count) if count == 1 then doCreatureSay(daPet, 'Hmm, a ' .. getItemName(theID) .. ', I\'ll save it on my bag number ' .. mySto .. '!', TALKTYPE_ORANGE_1) else doCreatureSay(daPet, 'Hmm, ' .. count .. ' ' .. getItemName(theID) .. 's, I\'ll save them on my bag number ' .. mySto .. '!', TALKTYPE_ORANGE_1) end else doCreatureSay(daPet, 'I have no space!', TALKTYPE_ORANGE_1) end else doCreatureSay(daPet, 'I can\'t take containers!', TALKTYPE_ORANGE_1) end else doCreatureSay(daPet, 'I can\'t see any item!', TALKTYPE_ORANGE_1) end else doPlayerSendCancel(cid, 'You haven\'t call your pet!') end return setExhausted(cid) end !pet.lua dofile("./petConfig.lua") function doPlayerAddSummon(cid, name, pos) local MyCreature = doSummonCreature(name, pos) doConvinceCreature(cid, MyCreature) return MyCreature end local myPet = "" local myPetUid = 0 function onSay(cid, words, param) if isExhausted(cid) == 1 then return 0 end if getPlayerStorageValue(cid, storages.petMag) == -1 then setPlayerStorageValue(cid, storages.petMag, 0) end if isCreature(getPlayerStorageValue(cid, storages.petUid)) == 0 then if getTilePzInfo(getCreaturePosition(cid)) == 0 then if getPlayerStorageValue(cid, storages.petIsOnline) == 1 or getPlayerStorageValue(cid, storages.petIsOnline) == -1 then for i = 1, #pets do if isInArray(pets.vocations, getPlayerVocation(cid)) == 1 then for k = 1, #pets.pets do if pets.pets[k].level <= getPlayerLevel(cid) then myPet = pets.pets[k].name break end end break end end myPetUid = doPlayerAddSummon(cid, myPet, getCreaturePosition(cid)) if myPetUid ~= -1 then setPlayerStorageValue(cid, storages.petUid, myPetUid) if getPlayerStorageValue(cid, storages.petDamage) ~= 0 and getPlayerStorageValue(cid, storages.petDamage) ~= -1 then if getPlayerStorageValue(cid, storages.petDamage) < getCreatureMaxHealth(getPlayerStorageValue(cid, storages.petUid)) then doCreatureAddHealth(getPlayerStorageValue(cid, storages.petUid), getPlayerStorageValue(cid, storages.petDamage)*-1) end end doChangeSpeed(myPetUid, getCreatureBaseSpeed(cid) - getCreatureBaseSpeed(myPetUid)) doCreatureSay(myPetUid, 'Hello!', TALKTYPE_ORANGE_1) addMana({cid = cid}) setPlayerStorageValue(cid, storages.petIsOnline, 2) else doPlayerSendCancel(cid, 'Not enought room.') end else doPlayerSendCancel(cid, 'Your pet died! You have to revive it.') end else doPlayerSendCancel(cid, 'You cannot summon your pet in PZ.') end else local daPet = getPlayerStorageValue(cid, storages.petUid) setPlayerStorageValue(cid, storages.petDamage, getCreatureMaxHealth(daPet) - getCreatureHealth(daPet)) doCreatureSay(daPet, 'Byebye !', TALKTYPE_ORANGE_1) setPlayerStorageValue(cid, storages.petIsOnline, 1) doSendMagicEffect(getCreaturePosition(daPet), CONST_ME_POFF) doRemoveCreature(daPet) end return setExhausted(cid) end !petattack.lua dofile("./petConfig.lua") function onSay(cid, words, param) if isExhausted(cid) == 1 then return 0 end local lookDirs = {[0] = {x = 0, y = -1}, [1] = {x = 1, y = 0}, [2] = {x = 0, y = 1}, [3] = {x = -1, y = 0} } local myAttack = 0 local CRONOMETRO = 0 local CRONOMETRO2 = 0 local TIEMPO = 0 function formulaAttack(magicLevel, level, maxb, maxa, minb, mina) return {minD = (level * 2 + magicLevel * 3) * (1 + mina) + minb, maxD = (level * 2 + magicLevel * 3) * (1 + maxb) + maxa } end function getPetMlvl(manaSpent) local i = 0 while manaSpent >= (1600 * (1.2^i))*magicLevelRate do i = i + 1 end return i end local daPet = getPlayerStorageValue(cid, storages.petUid) if isCreature(daPet) == 1 then if param ~= nil then param = string.lower(param) local petPos = getCreaturePosition(daPet) local lookDir = getPlayerLookDir(cid) -- getPlayerLookDir(daPet plz ! ! !) local damage = {} CRONOMETRO = getPlayerStorageValue(cid, storages.petExha) CRONOMETRO2 = os.clock() TIEMPO = os.difftime(CRONOMETRO2, CRONOMETRO) for i = 1, #attacks do if param == attacks.param then myAttack = i break end end if myAttack ~= 0 then if attacks[myAttack].exhausted - TIEMPO > attacks[myAttack].exhausted or CRONOMETRO == -1 then setPlayerStorageValue(cid, storages.petExha, CRONOMETRO2+1) end if getPlayerStorageValue(cid, storages.petMana) >= attacks[myAttack].manaSpent then if attacks[myAttack].needLevel <= getPlayerLevel(cid) then if attacks[myAttack].needMag <= getPlayerStorageValue(cid, storages.petMag) then if attacks[myAttack].exhausted - TIEMPO <= 0 then if attacks[myAttack].theFunction == false then damage = formulaAttack(getPlayerStorageValue(cid, storages.petMag), getPlayerLevel(cid), attacks[myAttack].formula.maxb, attacks[myAttack].formula.maxa, attacks[myAttack].formula.minb, attacks[myAttack].formula.mina) doAreaCombatHealth(daPet*((attacks[myAttack].self - 1)*-1), attacks[myAttack].combatType, {x = petPos.x + attacks[myAttack].range*lookDirs[lookDir].x, y = petPos.y + attacks[myAttack].range*lookDirs[lookDir].y, z = petPos.z}, attacks[myAttack].area, math.floor(damage.minD*-1*attacks[myAttack].offensive), math.floor(damage.maxD*-1*attacks[myAttack].offensive), attacks[myAttack].combatAni) else attacks[myAttack].theFunction({cid = cid, words = words, param = param}) end doCreatureSay(daPet, '' .. param .. '!', TALKTYPE_ORANGE_1) if getPlayerStorageValue(cid, storages.petIsHealing) == 0 or getPlayerStorageValue(cid, storages.petIsHealing) == -1 then addEvent(addMana, manaGainTicks, {cid = cid}) setPlayerStorageValue(cid, storages.petIsHealing, 1) end setPlayerStorageValue(cid, storages.petExha, CRONOMETRO2+1) setPlayerStorageValue(cid, storages.petManaSpent, getPlayerStorageValue(cid, storages.petManaSpent) + attacks[myAttack].manaSpent) setPlayerStorageValue(cid, storages.petMana, getPlayerStorageValue(cid, storages.petMana) - attacks[myAttack].manaSpent) if getPetMlvl(getPlayerStorageValue(cid, storages.petManaSpent)) > getPlayerStorageValue(cid, storages.petMag) then setPlayerStorageValue(cid, storages.petMag, getPetMlvl(getPlayerStorageValue(cid, storages.petManaSpent))) doCreatureSay(daPet, 'You advanced to magic level ' .. getPlayerStorageValue(cid, storages.petMag) .. '!', TALKTYPE_ORANGE_1) end else doCreatureSay(daPet, '' .. frases[math.random(1, #frases)] .. '!', TALKTYPE_ORANGE_1) end else doCreatureSay(daPet, 'My magic level is too low!', TALKTYPE_ORANGE_1) end else doCreatureSay(daPet, 'AAh Im out of mana!', TALKTYPE_ORANGE_1) end else doCreatureSay(daPet, 'Woups! I can\'t use that spell yet', TALKTYPE_ORANGE_1) end else ----------------special attacks ?---------------------- end else doPlayerSendCancel(cid, 'You must spesific a spell.') end else doPlayerSendCancel(cid, 'You haven\'t call your pet!.') end return setExhausted(cid) end !petgetitem.lua dofile("./petConfig.lua") function onSay(cid, words, param) if isExhausted(cid) == 1 then return 0 end local daPet = getPlayerStorageValue(cid, storages.petUid) if isCreature(daPet) == 1 then if param ~= "" then param = tonumber(param) if type(param) == "number" then if param <= maxItems then if getPlayerStorageValue(cid, petItems[param]) ~= 0 and getPlayerStorageValue(cid, petItems[param]) ~= -1 then local that = getPlayerStorageValue(cid, petItems[param]) local item = math.floor(that/100) local count = that-item*100 doPlayerAddItem(cid, item, count) if count == 1 then doCreatureSay(daPet, 'Here is your ' .. getItemName(item) .. '', TALKTYPE_ORANGE_1) else doCreatureSay(daPet, 'Here are your ' .. count .. ' ' .. getItemName(item) .. 's', TALKTYPE_ORANGE_1) end setPlayerStorageValue(cid, petItems[param], 0) end end end end end return setExhausted(cid) end No fim do arquivo petConfig.lua coloque: function onLogout(cid) if isCreature(getPlayerStorageValue(cid, storages.petUid)) == 1 then if getPlayerStorageValue(cid, storages.petIsOnline) == 2 then setPlayerStorageValue(cid, storages.petIsOnline, 1) end end return TRUE end Abaixo Script para o npc que revive o pet local focus = 0 local talk_start = 0 local talk_state = 0 local costPerLevel = 300 dofile("./petConfig.lua") function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('How rude!.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if getDistanceToCreature(cid) < 4 then if (msgcontains(msg, 'hi') and (focus == 0)) then selfSay('Hello ' .. creatureGetName(cid) .. '! I can take you to the train!') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) then selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.') end if msgcontains(msg, 'revive') and focus == cid then if isCreature(getPlayerStorageValue(cid, storages.petUid)) == 0 then if getPlayerStorageValue(cid, storages.petIsOnline) == 2 then selfSay('YOUR PET DIED?!, YOU\'R A BAD OWNER, THIS WILL COST YOU ' .. getPlayerLevel(cid)*costPerLevel .. ' GOLD COINS!, AGREE?!') talk_state = 1 else selfSay('Your pet is alive.') end else selfSay('Your pet is standing next to you.') end talk_start = os.clock() end if msgcontains(msg, 'yes') and focus == cid and talk_state == 1 then if doPlayerRemoveMoney(cid, getPlayerLevel(cid)*costPerLevel) == 1 then setPlayerStorageValue(cid, storages.petIsOnline, 1) selfSay('You can now summon again your pet.') else selfSay('You don\'t have enought money.') end talk_state = 0 talk_start = os.clock() end if msgcontains(msg, 'bye') then selfSay('Good bye, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 talk_state = 0 end end end function onCreatureChangeOutfit(creature) end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Next Please...') end focus = 0 talk_state = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then talk_state = 0 selfSay('Good bye then.') talk_state = 0 focus = 0 end end end IMPORTANTE!!! Não esqueca o "!" antes dos nomes se não não funcionará.
  4. Phoenix pet <item id="11737" article="a" name="phoenix pet" plural="phoenix pets"> <attribute key="weight" value="30" /> </item> Draug pet <item id="4850" article="(Item exclusivo do Devil Castle)" name="draug pet"> <attribute key="weight" value="500" /> </item> Many pet <item id="4875" name="Many Pet" />
  5. Ta ae em cima,editei agora pode pegar o link e olhar
  6. o item fica dentro da bp ai qual o sloot que eu coloco?
  7. Tem um item que eu coloquei só pra usar no level 150 mais ele não ta indo ,alguém ajuda
  8. vc tem que adicionar o nome do site que vc quer no noip e depois e tbm tem que baixar o xampp e o gesion olha esse vídeo www.youtube.com/watch?v=gJmEurPeBzM sé ajudei Rep+ .
  9. Ow vc entra no site escolhe teu bando de dados ai vc abre Players> ai click no sample sorc,sample kina,sample druid,sample pally e sample rook e coloca la as position de onde vc quer que nasça
  10. Qual exatamente seu problema?tente explicar melhor
  11. Ta dando nenhum erro e mudei sim a position dele,esse coisa deve ta bugado :/ Alguém ?
  12. KKKKKK, Mesma coisa :/ não nasce monstro
  13. Esse script eu botei na anini e eu fui la e não nasceu os monstro :/ ,vc não esqueceu nada não tipo coloca uma script na script do monstro não?
  14. Gstavoliber essas position é a posição inicial do player ,a position dos monstro eu edito depois to só pedindo pra alguem colocar pra nasce monstro quando apertarem a alavanca, e whitewolf essa anihi e por tempo quando a alanca e acionada os player tem 120 segundos para sair de dentro caso eles não saiam eles são expulso para fora automaticamente , eu só queria que alguém coloca-se pra nasce monstro quando aperta a alavanca ela só ta faltando isso o resto dela ta perfeitamente funcionando bem as actions o tile tbm tudo falta só os montros. atualizei la em cima que eu editei as position do player
  15. Eu queria adicionar 6 mostro nessa anihi pra quando pusharem a alavanca os mostro aparecer ,ta ae meu script e o mostro caso precise editar MINHA ANIHI function onUse(cid, item, fromPosition, itemEx, toPosition) local config = { position = {x=1183, y=1224, z=7}, -- Posição aonde sera criado o teleport position1 = {x=1216, y=1250, z=7}, position2 = {x=1216, y=1258, z=7}, position3 = {x=1222, y=1250, z=7}, position4 = {x=1222, y=1258, z=7}, fromPosition = {x=1215, y=1249, z=7}, toPosition = {x=1223, y=1259, z=7}, walls = {x=1177, y=1224, z=7}, wallr = {x=1177, y=1224, z=7, stackpos = 1}, id = 1498, time = 2 -- tempo que o teleport ira sumir em minutos } local t = { level = 120, -- level minimo para poder entrar inicio = -- posical inicial dos players { {x=1184,y=1224,z=7}, {x=1183,y=1224,z=7}, {x=1182,y=1224,z=7}, {x=1181,y=1224,z=7}, {x=1180,y=1224,z=7} }, fim = -- posição para onde serão teleportados { {x=1221,y=1254,z=7}, {x=1220,y=1254,z=7}, {x=1219,y=1254,z=7}, {x=1218,y=1254,z=7}, {x=1217,y=1254,z=7} } } local time = 120 local sto = 5937 local test = {} for _, k in ipairs(t.inicio) do local x = getTopCreature(k).uid if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < t.level) then doPlayerSendCancel(cid, 'Você precisa de 5 jogadores') return true end if getGlobalStorageValue(sto) == 1 then doPlayerSendCancel(cid, 'Espere o tempo acabar') return true end table.insert(test, x) end for i, pid in ipairs(test) do doSendMagicEffect(t.inicio, CONST_ME_POFF) doTeleportThing(pid, t.fim, false) doSendMagicEffect(t.fim, CONST_ME_ENERGYAREA) doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) end setGlobalStorageValue(sto, 1) for i = 1,time do formula = time - 1*i addEvent(doSendAnimatedText,i*1000, config.position, formula, math.random(1, 255)) addEvent(doSendAnimatedText,i*1000, config.position1, formula, math.random(1, 255)) addEvent(doSendAnimatedText,i*1000, config.position2, formula, math.random(1, 255)) addEvent(doSendAnimatedText,i*1000, config.position3, formula, math.random(1, 255)) addEvent(doSendAnimatedText,i*1000, config.position4, formula, math.random(1, 255)) end function removeWall() setGlobalStorageValue(sto, -1) return true end addEvent(removeWall, config.time*60*1000) for x = config.fromPosition.x, config.toPosition.x do for y = config.fromPosition.y, config.toPosition.y do for z = config.fromPosition.z, config.toPosition.z do areapos = {x = x, y = y, z = z, stackpos = 253} getMonsters = getThingfromPos(areapos) if isMonster(getMonsters.uid) then doRemoveCreature(getMonsters.uid) end end end end function removePlayer() if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) end end addEvent(removePlayer, config.time*60*1000) return TRUE end MEU OUTRO ANINI function onUse(cid, item, fromPosition, itemEx, toPosition) local config = { position = {x=1183, y=1224, z=7}, -- Posição aonde sera criado o teleport position1 = {x=1216, y=1250, z=7}, position2 = {x=1216, y=1258, z=7}, position3 = {x=1222, y=1250, z=7}, position4 = {x=1222, y=1258, z=7}, fromPosition = {x=1215, y=1249, z=7}, toPosition = {x=1223, y=1259, z=7}, walls = {x=1177, y=1224, z=7}, wallr = {x=1177, y=1224, z=7, stackpos = 1}, id = 1498, time = 2 -- tempo que o teleport ira sumir em minutos } local t = { level = 120, -- level minimo para poder entrar inicio = -- posical inicial dos players { {x=1182,y=1224,z=7} }, fim = -- posição para onde serão teleportados { {x=1221,y=1254,z=7} } } local time = 120 local gsto = 4567 local test = {} for _, k in ipairs(t.inicio) do local x = getTopCreature(k).uid if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < t.level ) then doPlayerSendCancel(cid, 'Não tem 5 players.') return true end table.insert(test, x) end for i, pid in ipairs(test) do doSendMagicEffect(t.inicio, CONST_ME_POFF) doTeleportThing(pid, t.fim, false) doSendMagicEffect(t.fim, CONST_ME_ENERGYAREA) doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) end doCreateItem(config.id, 1, config.walls) for i = 1,time do formula = time - 1*i addEvent(doSendAnimatedText,i*1000, config.position, formula, math.random(1, 255)) addEvent(doSendAnimatedText,i*1000, config.position1, formula, math.random(1, 255)) addEvent(doSendAnimatedText,i*1000, config.position2, formula, math.random(1, 255)) addEvent(doSendAnimatedText,i*1000, config.position3, formula, math.random(1, 255)) addEvent(doSendAnimatedText,i*1000, config.position4, formula, math.random(1, 255)) end function removeWall() return true end addEvent(removeWall, config.time*60*1000) for x = config.fromPosition.x, config.toPosition.x do for y = config.fromPosition.y, config.toPosition.y do for z = config.fromPosition.z, config.toPosition.z do areapos = {x = x, y = y, z = z, stackpos = 253} getMonsters = getThingfromPos(areapos) if isMonster(getMonsters.uid) then doRemoveCreature(getMonsters.uid) end end end end function removePlayer() if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) end end addEvent(removePlayer, config.time*60*1000) return TRUE end MEU MONSTRO <?xml version="1.0" encoding="UTF-8"?> <monster name="Annihilon" nameDescription="annihilon" race="fire" experience="0" speed="500" manacost="0"> <health now="400000" max="400000"/> <look type="12" head="0" body="19" legs="0" feet="0" corpse="6068"/> <targetchange interval="2000" chance="10"/> <strategy attack="70" defense="10"/> <flags> <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 runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" skill="10" attack="2000"/> <attack name="effect" interval="700" chance="6" radius="5" target="0"> <attribute key="areaEffect" value="blackspark"/> </attack> <attack name="fire" interval="2000" chance="43" range="7" radius="7" target="1" min="-700" max="-1000"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="firearea"/> </attack> <attack name="firefield" interval="2000" chance="10" range="7" radius="4" target="1"> <attribute key="shootEffect" value="fire"/> </attack> <attack name="energy" interval="2000" chance="15" length="8" spread="0" min="-700" max="-1000"> <attribute key="areaEffect" value="energy"/> </attack> </attacks> <defenses armor="90" defense="111"> <defense name="healing" interval="1000" chance="10" min="700" max="1400"> <attribute key="areaEffect" value="blueshimmer"/> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> <elements> <element firePercent="0"/> <element earthPercent="0"/> <element deathPercent="0"/> <element icePercent="0"/> <element holyPercent="0"/> </elements> <immunities> <immunity lifedrain="1"/> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> <voices interval="5000" chance="10"> <voice sentence="You Are Dead" yell="1"/> <voice sentence="Run From Here" yell="1"/> <voice sentence="You Will not pass!!!" yell="1"/> <voice sentence="Be prepared for the day my masters will come for you!"/> <voice sentence="SOULS FOR ORSHABAAL!" yell="1"/> </voices> <loot> <item id="2160" countmax="8" chance="125000"/><!-- crystal coin --> <item id="2160" countmax="9" chance="125000"/><!-- Crystal coin --> <item id="2160" countmax="8" chance="125000"/><!-- Crystal coin --> </loot> </monster>
  16. Onde coloco a position do piso só para player vip passa? tbm queria que essa vip seja adicionada só por um item no caso como ele disse
  17. A Anihi function onUse(cid, item, fromPosition, itemEx, toPosition) local config = { position = {x=1183, y=1224, z=7}, -- Posição aonde sera criado o teleport position1 = {x=1177, y=1241, z=8}, position2 = {x=1177, y=1249, z=8}, position3 = {x=1183, y=1241, z=8}, position4 = {x=1183, y=1249, z=8}, fromPosition = {x=1176, y=1240, z=8}, toPosition = {x=1183, y=1249, z=8}, walls = {x=1177, y=1224, z=7}, wallr = {x=1177, y=1224, z=7, stackpos = 1}, id = 1498, time = 2 -- tempo que o teleport ira sumir em minutos } local t = { level = 120, -- level minimo para poder entrar inicio = -- posical inicial dos players { {x=1184,y=1224,z=7}, {x=1183,y=1224,z=7}, {x=1182,y=1224,z=7}, {x=1181,y=1224,z=7}, {x=1180,y=1224,z=7} }, fim = -- posição para onde serão teleportados { {x=1182,y=1245,z=8}, {x=1181,y=1245,z=8}, {x=1180,y=1245,z=8}, {x=1179,y=1245,z=8}, {x=1178,y=1245,z=8} } } local time = 120 local sto = 5937 local test = {} for _, k in ipairs(t.inicio) do local x = getTopCreature(k).uid if(x == 0 or not isPlayer(x) or getPlayerLevel(x) < t.level) then doPlayerSendCancel(cid, 'Você precisa de 5 jogadores') return true end if getGlobalStorageValue(sto) == 1 then doPlayerSendCancel(cid, 'Espere o tempo acabar') return true end table.insert(test, x) end for i, pid in ipairs(test) do doSendMagicEffect(t.inicio, CONST_ME_POFF) doTeleportThing(pid, t.fim, false) doSendMagicEffect(t.fim, CONST_ME_ENERGYAREA) doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) end setGlobalStorageValue(sto, 1) for i = 1,time do formula = time - 1*i addEvent(doSendAnimatedText,i*1000, config.position, formula, math.random(1, 255)) addEvent(doSendAnimatedText,i*1000, config.position1, formula, math.random(1, 255)) addEvent(doSendAnimatedText,i*1000, config.position2, formula, math.random(1, 255)) addEvent(doSendAnimatedText,i*1000, config.position3, formula, math.random(1, 255)) addEvent(doSendAnimatedText,i*1000, config.position4, formula, math.random(1, 255)) end function removeWall() setGlobalStorageValue(sto, -1) return true end addEvent(removeWall, config.time*60*1000) for x = config.fromPosition.x, config.toPosition.x do for y = config.fromPosition.y, config.toPosition.y do for z = config.fromPosition.z, config.toPosition.z do areapos = {x = x, y = y, z = z, stackpos = 253} getMonsters = getThingfromPos(areapos) if isMonster(getMonsters.uid) then doRemoveCreature(getMonsters.uid) end end end end function removePlayer() if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) end end addEvent(removePlayer, config.time*60*1000) return TRUE end PICARETA function onUse(cid, item, fromPosition, itemEx, toPosition) if((itemEx.uid <= 65535 or itemEx.actionid > 0) and isInArray({354, 355}, itemEx.itemid)) then doTransformItem(itemEx.uid, 392) doDecayItem(itemEx.uid) doSendMagicEffect(toPosition, CONST_ME_POFF) return true end if(itemEx.itemid == 7200) then doTransformItem(itemEx.uid, 7236) doSendMagicEffect(toPosition, CONST_ME_BLOCKHIT) return true end return false end só não achei o da vara :/
  18. Fui investigar ai tinha no arquivo mysql la na pasta do xampp ai a cidade tava sem id
  19. quando o povo cria o char no site ai quando eles vão entra da templo position is wrong como faço pra ajeita
  20. Ele é uma picareta e uma vara,ai la no canto de armo coloco oque? a storage é a da quest?
  21. Ata,vlw ae.
  22. eunaosei123 postou uma resposta no tópico em Suporte Tibia OTServer
    Meu serve é 8.6 a versão o mapa do mesmo jeito tenho esse moviments local posi = {x=1154, y=1198, z=7} -- Posicao pra onde vai o player local volta = {x=1095, y=1063, z=8} -- Posicao pra onde o player vai se teleportado caso nao tenha lvl ou seja maior function onStepIn(cid, item, position, lastPosition, fromPosition) if getPlayerLevel(cid) <= 140 then doTeleportThing(cid, posi) doSendMagicEffect(getThingPos(cid), 10) else doPlayerSendTextMessage(cid, 19, "Desculpe apenas níveis (120~140) podem acessar essa área.") doTeleportThing(cid, volta) doSendMagicEffect(getThingPos(cid), 10) end return true end TAG: <movement type="StepIn" actionid="3202" event="Script" value="tpdelvl.lua"/> AI DESSE MOVIMENTS QUERO CRIAR UM ACTION PRA BOTA NO TP,PRA SÓ PESSOAS LEVEL 120 A 140 PODER ENTRA

Informação Importante

Confirmação de Termo