Ir para conteúdo

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    abre seu script de vip e adiciona isso daqui na parte de dar a storage que garante que é vip db.executeQuery("UPDATE `players` SET `description` = ' [Vip]' WHERE `players`.`id` = "..playerid) se seu server for de uma versão de tibia 8.6 ou maior use db.Query no lugar de db.executeQuery
  2. posta o script da montaria e o dos times
  3. não entendi direito: o cara pode mudar o outfit normal ou o outfit do cara fica bloqueado e ele só consegue mudar usando a montaria?
  4. <?xml version="1.0" encoding="UTF-8"?> <monster name="flamethrower" nameDescription="a flamethrower" race="undead" experience="1200" speed="0" manacost="0"> <health now="9950" max="9950"/> <look typeex="1551" /> <targetchange interval="5000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="0"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="0"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="100"/> </flags> <attacks> <attack name="melee" interval="2000" skill="1" attack="1"/> <attack name="fire" interval="2000" chance="100" range="7" min="-50" max="-100"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="fireattack"/> </attack> </attacks> <defenses armor="1" defense="1"/> <immunities> <immunity physical="1"/> <immunity energy="1"/> <immunity fire="1"/> <immunity poison="1"/> <immunity lifedrain="1"/> <immunity paralyze="1"/> <immunity outfit="1"/> <immunity drunk="1"/> <immunity invisible="1"/> </immunities> <loot> <item id="2148" countmax="20" chance1="100000" chancemax="0"/> </loot> </monster> <look typeex="1551" /> -- coloca o id do item que você quer que o monstro pareça <attacks> <attack name="melee" interval="2000" skill="1" attack="1"/> <attack name="fire" interval="2000" chance="100" range="7" min="-50" max="-100"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="fireattack"/> </attack> </attacks> -- aqui você seta os tipos de ataque e as magias que ele vai utilizar (no caso pra dar paralyze e coloca o tipo death.)
  5. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    ele não está infinito doPlayerRemoveItem(cid, 2196, 1) quando você morre ele dropa. Se quiser por tempo vai em items.xml e deixa ele igual ao AOL, dai você coloca decayto "0" e decaytime "quanto tempo ele dura". Sugiro que você copie de algum ring que possua essa função. Daí é só ir em movements.xml e colocar isso daqui <movevent type="Equip" itemid="IDDOITEM" slot="necklace" event="function" value="onEquipItem"/> <movevent type="DeEquip" itemid="IDDOITEM" slot="necklace" event="function" value="onDeEquipItem"/>
  6. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    tibia foi feito em ingles por um tipo que teclado que não suporta acentos (teclado americano). Só que o chat in-game tem suporte de acentos, daí você consegue utilza-los no jogo mas não pra scriptar
  7. se não é isso eu não sei então, desculpa não poder te ajudar mais. Já experimentou procurar outro script de porta? aqui não tem spoiler que eu lembre
  8. só tem 1 50-function? Se for só 1 experimenta remover essa parte aqui dele function isInArray(array, value, caseSensitive) if(caseSensitive == nil or caseSensitive == false) and type(value) == "string" then local lowerValue = value:lower() for _, _value in ipairs(array) do if type(_value) == "string" and lowerValue == _value:lower() then return true end end else for _, _value in ipairs(array) do if (value == _value) then return true end end end return false end eu não manjo muito das versões mais novas do tibia mas até onde eu sei a função isInArray que ele utiliza no script é uma função das sources, essa função que tá ai na lib deve ser de outro script e tá conflitando por ter o mesmo nome
  9. velho, tem 3 tópicos seu sobre removerfrags, para de floodar mano
  10. testa essa bagaça aqui local exstorage = 1499 local COST = 8 -- Valor necessário para tirar red local moeda = 2160 -- moeda que será removida local amount = 4 --quantidade de frags que vai remover local EFFECT = CONST_ME_YELLOW_RINGS -- efeito usado quando tirar o red local battle = true -- players deve estar sem battle (true or false) function doPlayerRemoveFrag(cid, count) -- by vodka local query,t,k = db.getResult("SELECT `kill_id` FROM `player_killers` WHERE `player_id` = "..getPlayerGUID(cid)),{},0 if (query:getID() ~= -1) then repeat local gs = db.getResult("SELECT `unjustified` FROM `killers` WHERE `id` = "..query:getDataInt("kill_id")) if (gs:getDataInt("unjustified") ~= 0) then table.insert(t, query:getDataInt("kill_id")) k = k +1 end until not query:next() or k >= count query:free() end for _, frag in pairs(t) do db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` = "..frag) end return true end function onSay(cid, words, param, channel) if (exhaustion.check(cid, exstorage) == true) then doPlayerSendCancel(cid, "You are exhausted") return true end if battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Voce não pode tirar sua skull com battle.") return TRUE end if creatureSkull ~= SKULL_NONE then local query = db.getResult("SELECT `premdays` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. ";") local points = query:getDataInt("premdays") if getPlayerItemCount(cid,moeda) >= COST then doPlayerRemoveFrag(cid, amount) doCreatureSetSkullType(cid,0) doPlayerSendTextMessage(cid, 27, "Sua skull foi removida!") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED) doPlayerSetSkullEnd(cid, 0, getPlayerSkullType(cid)) doPlayerRemoveItem(cid,moeda,COST) doSendMagicEffect(getPlayerPosition(cid), effect) doRemoveCreature(cid) else doPlayerSendCancel(cid, "Voce precisa de " ..COST.. " crystal coins para remover a skull.") end else doPlayerSendCancel(cid, "Voce nao esta skull.") end exhaustion.set(cid, exstorage, 30) if (query ~= nil) then query:free() end return TRUE end
  11. nossa eu bronzei.. agora tá certo.. function onUse(cid, item, frompos, item2, topos) if item.uid == 6003 then if item.itemid == 1945 then local player1pos = {x=32915, y=32328, z=15, stackpos=253} local player1 = getThingfromPos(player1pos) local nplayer1pos = {x=32915, y=32325, z=15, stackpos=253} if player1.itemid > 0 then local player1level = getPlayerLevel(player1.uid) local questlevel = 80 if player1level >= questlevel then local queststatus1 = getPlayerStorageValue(player1.uid,6000) if queststatus1 == -1 then local demon1pos = {x=32915, y=32324, z=15, stackpos=253} local mob = getThingfromPos(demon1pos).uid local playa = getThingfromPos(nplayer1pos).uid if mob ~= 0 or playa ~= 0 then doPlayerSendCancel(cid,"Someone else is doing the quest right now.") else doSummonCreature("Demodras", demon1pos) doSendMagicEffect(player1pos,2) doTeleportThing(player1.uid,nplayer1pos) doSendMagicEffect(nplayer1pos,10) doTransformItem(item.uid,item.itemid+0) end else doPlayerSendCancel(cid,"You can't enter because you've already finished the arena.") end else doPlayerSendCancel(cid,"Sorry, not possible.") end else doPlayerSendCancel(cid,"Sorry, not possible.") end elseif item.itemid == 1945 then if getPlayerAccess(cid) == 3 then doTransformItem(item.uid,item.itemid-1) else doPlayerSendCancel(cid,"Sorry, not possible.") end end end return 1 end tinha faltado o stackpos. Sem ele script checa qualquer coisa que tenha dentro da arena (até mesmo o chão) auhuhauha dai com o stackpos ele checa só na posição 253 (que é a mais alta, só para players e monstros). EDIT1: Se eu resolvi seu problema diga algo como "tópico resolvido, podem fechar" pra facilitar o controle do fórum de quais tópicos tão resolvidos/em aberto Por um fórum melhor
  12. testa esse local config = { playerCount = 2001, -- Global storage for counting the players left/entered in the event zombieCount = 2002, -- Global storage for counting the zombies in the event teleportActionId = 2000, -- Action id of the teleport needed for the movement script teleportPosition = {x = 152, y = 50, z = 7, stackpos = 1}, -- Where the teleport will be created teleportToPosition = {x = 838, y = 61, z = 7}, -- Where the teleport will take you teleportId = 1387, -- Id of the teleport timeToStartEvent = 1, -- Minutes, after these minutes the teleport will be removed and the event will be declared started timeBetweenSpawns = 10, -- Seconds between each spawn of zombie zombieName = "event zombie", -- Name of the zombie that should be summoned playersNeededToStartEvent = 3, -- Players needed before the zombies can spawn. -- Should be the same as in the creaturescript! -- The zombies will spawn randomly inside this area fromPosition = {x = 806, y = 38, z = 7}, -- top left cornor of the playground toPosition = {x = 868, y = 85, z = 7}, -- bottom right cornor of the playground } function onTimer() local tp = doCreateTeleport(config.teleportId, config.teleportToPosition, config.teleportPosition) doBroadcastMessage("Zombie event starting in " .. config.timeToStartEvent .. " minutes! The teleport will be closed when the event start!", MESSAGE_STATUS_WARNING) setGlobalStorageValue(config.playerCount, 0) setGlobalStorageValue(config.zombieCount, 0) addEvent(startEvent, config.timeToStartEvent * 1000 * 60) print(getGlobalStorageValue(2001)) end function startEvent() local posit1 = getThingfromPos(config.teleportPosition) if posit1.itemid ~= 0 then doRemoveItem(posit1.uid, 1) end local fromp, top = config.fromPosition, config.toPosition if getGlobalStorageValue(config.playerCount) >= config.playersNeededToStartEvent then addEvent(spawnZombie, config.timeBetweenSpawns * 1000) doBroadcastMessage("Good luck in the zombie event people! The teleport has closed!", MESSAGE_STATUS_WARNING) for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do areapos = {x = x, y = y, z = z, stackpos = 253} getPlayers = getThingfromPos(areapos) if isPlayer(getPlayers.uid) then doPlayerSendTextMessage(getPlayers.uid, MESSAGE_EVENT_ADVANCE, "The first zombie will spawn in " .. config.timeBetweenSpawns .. " seconds! Good luck!") end end end end else doBroadcastMessage("The Zombie event could not start because of to few players participating.\n At least " .. config.playersNeededToStartEvent .. " players is needed!", MESSAGE_STATUS_WARNING) for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do areapos = {x = x, y = y, z = z, stackpos = 253} getPlayers = getThingfromPos(areapos) if isPlayer(getPlayers.uid) then doTeleportThing(getPlayers.uid, getTownTemplePosition(getPlayerTown(getPlayers.uid)), false) doSendMagicEffect(getPlayerPosition(getPlayers.uid), CONST_ME_TELEPORT) end end end end end end function spawnZombie() if getGlobalStorageValue(config.playerCount) >= 2 then pos = {x = math.random(config.fromPosition.x, config.toPosition.x), y = math.random(config.fromPosition.y, config.toPosition.y), z = math.random(config.fromPosition.z, config.toPosition.z)} doSummonCreature(config.zombieName, pos) doSendMagicEffect(pos, CONST_ME_MORTAREA) setGlobalStorageValue(config.zombieCount, getGlobalStorageValue(config.zombieCount)+1) doBroadcastMessage("A zombie has spawned! There is currently " .. getGlobalStorageValue(config.zombieCount) .. " zombies in the zombie event!", MESSAGE_STATUS_CONSOLE_RED) addEvent(spawnZombie, config.timeBetweenSpawns * 1000) end end se não der certo tenta o de baixo local config = { playerCount = 2001, -- Global storage for counting the players left/entered in the event zombieCount = 2002, -- Global storage for counting the zombies in the event teleportActionId = 2000, -- Action id of the teleport needed for the movement script teleportPosition = {x = 152, y = 50, z = 7, stackpos = 1}, -- Where the teleport will be created teleportToPosition = {x = 838, y = 61, z = 7}, -- Where the teleport will take you teleportId = 1387, -- Id of the teleport timeToStartEvent = 1, -- Minutes, after these minutes the teleport will be removed and the event will be declared started timeBetweenSpawns = 10, -- Seconds between each spawn of zombie zombieName = "event zombie", -- Name of the zombie that should be summoned playersNeededToStartEvent = 3, -- Players needed before the zombies can spawn. -- Should be the same as in the creaturescript! -- The zombies will spawn randomly inside this area fromPosition = {x = 806, y = 38, z = 7}, -- top left cornor of the playground toPosition = {x = 868, y = 85, z = 7}, -- bottom right cornor of the playground } function onTimer() local tp = doCreateTeleport(config.teleportId, config.teleportToPosition, config.teleportPosition) doItemSetAttribute(tp, "aid", config.teleportActionId) doBroadcastMessage("Zombie event starting in " .. config.timeToStartEvent .. " minutes! The teleport will be closed when the event start!", MESSAGE_STATUS_WARNING) setGlobalStorageValue(config.playerCount, 0) setGlobalStorageValue(config.zombieCount, 0) addEvent(startEvent, config.timeToStartEvent * 1000 * 60) print(getGlobalStorageValue(2001)) end function startEvent() local get = getThingfromPos(config.teleportPosition) if get.itemid == config.teleportId then doRemoveItem(get.itemid, 1) elseif get.itemaid == config.teleportActionId then doRemoveItem(get.itemaid, 1) end local fromp, top = config.fromPosition, config.toPosition if getGlobalStorageValue(config.playerCount) >= config.playersNeededToStartEvent then addEvent(spawnZombie, config.timeBetweenSpawns * 1000) doBroadcastMessage("Good luck in the zombie event people! The teleport has closed!", MESSAGE_STATUS_WARNING) for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do areapos = {x = x, y = y, z = z, stackpos = 253} getPlayers = getThingfromPos(areapos) if isPlayer(getPlayers.uid) then doPlayerSendTextMessage(getPlayers.uid, MESSAGE_EVENT_ADVANCE, "The first zombie will spawn in " .. config.timeBetweenSpawns .. " seconds! Good luck!") end end end end else doBroadcastMessage("The Zombie event could not start because of to few players participating.\n At least " .. config.playersNeededToStartEvent .. " players is needed!", MESSAGE_STATUS_WARNING) for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do areapos = {x = x, y = y, z = z, stackpos = 253} getPlayers = getThingfromPos(areapos) if isPlayer(getPlayers.uid) then doTeleportThing(getPlayers.uid, getTownTemplePosition(getPlayerTown(getPlayers.uid)), false) doSendMagicEffect(getPlayerPosition(getPlayers.uid), CONST_ME_TELEPORT) end end end end end end function spawnZombie() if getGlobalStorageValue(config.playerCount) >= 2 then pos = {x = math.random(config.fromPosition.x, config.toPosition.x), y = math.random(config.fromPosition.y, config.toPosition.y), z = math.random(config.fromPosition.z, config.toPosition.z)} doSummonCreature(config.zombieName, pos) doSendMagicEffect(pos, CONST_ME_MORTAREA) setGlobalStorageValue(config.zombieCount, getGlobalStorageValue(config.zombieCount)+1) doBroadcastMessage("A zombie has spawned! There is currently " .. getGlobalStorageValue(config.zombieCount) .. " zombies in the zombie event!", MESSAGE_STATUS_CONSOLE_RED) addEvent(spawnZombie, config.timeBetweenSpawns * 1000) end end
  13. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    talkactions\scripts\stamina.lua local config = { stamina = getPlayerStamina(cid) } function onSay(cid, words, param, channel) if isPlayer(cid) then doPlayerPopupFYI(cid, "Your stamina is "..config.stamina..".") end return true end talkactions.xml <talkaction words="!stamina;/stamina" event="script" value="stamina.lua"/>
  14. to tentando te ajudar cara mas não tem como eu fazer milagre.. o erro que tá aparecendo no console não condiz com o script que tu me passou o.O acho que você ta passando o script errado OU usando o script errado no talkactions.xml. Em todo caso, se nada resolver vai no config.lua e edita essa parte aqui redSkullLength = 15 * 12 * 30 * 30 ---tempo que dura a red skull blackSkullLength = 25 * 12 * 30 * 30 --- tempo que dura a blackskull dailyFragsToRedSkull = 3 --- quantos kills diários deixam red weeklyFragsToRedSkull = 10 -- quantos kills semanais deixam red monthlyFragsToRedSkull = 20 -- quantos kills mensais deixam red useBlackSkull = true -- usar black skull? true = sim/ false = não deixa algo mais ou menos parecido com isso redSkullLength = 12 * 30 * 30 blackSkullLength = 2 * 12 * 30 * 30 dailyFragsToRedSkull = 10 weeklyFragsToRedSkull = 30 monthlyFragsToRedSkull = 50 useBlackSkull = false
  15. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    isso provavelmente vai resolver seu problema com o erro do console mas não vai resolver as falhas do script local shinys = { "Venusaur", "Charizard", "Blastoise", "Butterfree", "Beedrill", "Pidgeot", "Rattata", "Raticate", "Raichu", "Zubat", "Golbat", "Paras", "Parasect", "Venonat", "Venomoth", "Growlithe", "Arcanine", "Abra", "Alakazam", "Tentacool", "Tentacruel", "Farfetch'd", "Grimer", "Muk", "Gengar", "Onix", "Krabby", "Kingler", "Voltorb", "Electrode", "Cubone", "Marowak", "Hitmonlee", "Hitmonchan", "Tangela", "Horsea", "Seadra", "Scyther", "Jynx", "Electabuzz", "Pinsir", "Magikarp", "Gyarados", "Snorlax", "Dragonair", "Dratini"} local raros = {"Dragonite"} local function ShinyName(cid) if isCreature(cid) then if string.find(tostring(getCreatureName(cid)), "Shiny") then local newName = tostring(getCreatureName(cid)):match("Shiny (.*)") doCreatureSetNick(cid, newName) if isMonster(cid) then doSetCreatureDropLoot(cid, false) end end end end local function doSetRandomGender(cid) if not isCreature(cid) then return true end if isSummon(cid) then return true end local gender = 0 local name = getCreatureName(cid) if not newpokedex[name] then return true end local rate = newpokedex[name].gender if rate == 0 then gender = 3 elseif rate == 1000 then gender = 4 elseif rate == -1 then gender = 0 elseif math.random(1, 1000) <= rate then gender = 4 else gender = 3 end doCreatureSetSkullType(cid, gender) end local function doShiny(cid) if isCreature(cid) then if isSummon(cid) then return true end if getPlayerStorageValue(cid, 74469) >= 1 then return true end if getPlayerStorageValue(cid, 22546) >= 1 then return true end if isNpcSummon(cid) then return true end if getPlayerStorageValue(cid, 637500) >= 1 then return true end --alterado v1.9 if isInArray(shinys, getCreatureName(cid)) then --alterado v1.9 \/ chance = 1 --1% chance elseif isInArray(raros, getCreatureName(cid)) then --n coloquem valores menores que 0.1 !! chance = 2.0 --0.5% chance else return true end if math.random(1, 1000) <= chance*10 then doSendMagicEffect(getThingPos(cid), 18) local name, pos = "Shiny ".. getCreatureName(cid), getThingPos(cid) doRemoveCreature(cid) local shi = doCreateMonster(name, pos, false) setPlayerStorageValue(shi, 74469, 1) else setPlayerStorageValue(cid, 74469, 1) end --/\ else return true end end function onSpawn(cid) registerCreatureEvent(cid, "Experience") registerCreatureEvent(cid, "GeneralConfiguration") registerCreatureEvent(cid, "DirectionSystem") registerCreatureEvent(cid, "CastSystem") if isSummon(cid) ~= nil then registerCreatureEvent(cid, "SummonDeath") return true end addEvent(doSetRandomGender, 5, cid) addEvent(doShiny, 10, cid) addEvent(ShinyName, 15, cid) addEvent(adjustWildPoke, 5, cid) return true end
  16. cara, tudo dá pra fazer mas o problema é rodar em 7.6 auhauhauh aquele script era pra ter funcionado sem erro nenhum. Deixa eu ver aqui oque dá pra fazer
  17. o erro que tá dando não corresponde com o script que vc passou data/talkactions/scripts/removefrags.lua:1: unexpected symbol near 'ï' removefrags.lua na linha 1: simbolo desconhecido perto de 'ï'
  18. é um problema feio cara mas pra te ajudar eu vou precisar que vc reformule seu tópico nesses critérios: Versão do Server: Versão do Tibia: Scrips utilizados (postar os scripts que aparecem no console: no caso o doors.lua (action) e o 50-function (lib) Erro no console
  19. vc acidentalmente pulou metade da função pra linha de baixo: function onSay(cid, words, param) local config = { price = 10000, amount = 1 } local frags = getPlayerFrags(cid) if frags < config.amount then doPlayerSendCancel(cid,"você não tem frags suficientes para executar está ação.") return true elseif not doPlayerRemoveMoney(cid, config.price) then doPlayerSendCancel(cid,"você precisa ter "..config.price.." gps para remover seus frags.") return true end doPlayerRemoveFrag(cid, config.amount) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Parabéns! Foram removidos "..config.amount.." frags.") doSendMagicEffect(getPlayerPosition(cid), 26) return true end
  20. o erro é pra retornar caso o player seja menor que 150... coloca isso daqui e mesmo assim eu ainda acho que não vai funcionar if getPlayerLevel(cid) < 150 then return doPlayerSendCancel(cid, "Você só pode usar acima do level 150.") end
  21. é que eu quis adaptar uma função mas acho que não deu muito certo. Você saberia me dizer se seu server tem a isPlayer ou isMonster e se ele tem a função getTopCreature?
  22. xWhiteWolf postou uma resposta no tópico em Formação de Equipe
    Uma pena você querer global, eu me canditaria de graça se fosse pra ser scripter de um server inovador mas global é tão zZzZZzZ, não tem nada que seja "novo" ou dificil de fazer.
  23. acho que agora vai, tem que ver se essa funçãozinha que eu coloquei vai servir em 7.6. Se der algum erro copia e cola oque aparece no console aqui function onUse(cid, item, frompos, item2, topos) if item.uid == 6003 then if item.itemid == 1945 then local player1pos = {x=32915, y=32328, z=15, stackpos=253} local player1 = getThingfromPos(player1pos) local nplayer1pos = {x=32915, y=32325, z=15} if player1.itemid > 0 then local player1level = getPlayerLevel(player1.uid) local questlevel = 80 if player1level >= questlevel then local queststatus1 = getPlayerStorageValue(player1.uid,6000) if queststatus1 == -1 then local demon1pos = {x=32915, y=32324, z=15} local mob = getThingfromPos(demon1pos).uid local playa = getThingfromPos(nplayer1pos).uid if mob ~= 0 or playa ~= 0 then doPlayerSendCancel(cid,"Someone else is doing the quest right now.") else doSummonCreature("Demodras", demon1pos) doSendMagicEffect(player1pos,2) doTeleportThing(player1.uid,nplayer1pos) doSendMagicEffect(nplayer1pos,10) doTransformItem(item.uid,item.itemid+0) end else doPlayerSendCancel(cid,"You can't enter because you've already finished the arena.") end else doPlayerSendCancel(cid,"Sorry, not possible.") end else doPlayerSendCancel(cid,"Sorry, not possible.") end elseif item.itemid == 1945 then if getPlayerAccess(cid) == 3 then doTransformItem(item.uid,item.itemid-1) else doPlayerSendCancel(cid,"Sorry, not possible.") end end end return 1 end
  24. a parte de não poder entrar se já tiver feito tá aqui: function onUse(cid, item, frompos, item2, topos) if item.uid == 6003 then if item.itemid == 1945 then player1pos = {x=32915, y=32328, z=15, stackpos=253} player1 = getThingfromPos(player1pos) if player1.itemid > 0 then player1level = getPlayerLevel(player1.uid) questlevel = 80 if player1level >= questlevel then queststatus1 = getPlayerStorageValue(player1.uid,6000) if queststatus1 == -1 then demon1pos = {x=32915, y=32324, z=15} doSummonCreature("Demodras", demon1pos) nplayer1pos = {x=32915, y=32325, z=15} doSendMagicEffect(player1pos,2) doTeleportThing(player1.uid,nplayer1pos) doSendMagicEffect(nplayer1pos,10) doTransformItem(item.uid,item.itemid+0) else doPlayerSendCancel(cid,"You can't enter because you've already finished the arena.") end else doPlayerSendCancel(cid,"Sorry, not possible.") end else doPlayerSendCancel(cid,"Sorry, not possible.") end elseif item.itemid == 1945 then if getPlayerAccess(cid) == 3 then doTransformItem(item.uid,item.itemid-1) else doPlayerSendCancel(cid,"Sorry, not possible.") end end end return 1 end agora a segunda parte não dá pra fazer simplesmente porque seu server é 7.6 mas dependendo do tamanho da sua arena dá pra improvisar uma gambiarra que TALVEZ dê certo, posta uma foto dela que eu tento fazer aqui dps
  25. isso é a talkaction, posta a action agora. O próprio console te fala aonde é o erro e qual foi o erro: talkactions\scripts\removefrags.lua na linha 6 e actions\scripts\removefrags.lua na linha 3 Ambos os erros são na função getPlayerFrags, porque vc tá cometendo um stack traceback (quando você compara um valor vazio (ou uma função) à um valor numério) experimenta fazer isso daqui em ambos os casos(actions e talkactions) porque costuma resolver local frags = getPlayerFrags(cid) if frags < config.amount then se não der fala e já me diz a versão do teu server (aparece no topo do console, logo que vc liga o server)

Informação Importante

Confirmação de Termo