Ir para conteúdo

Thiago Virtuoso

Membro
  • Registro em

  • Última visita

Tudo que Thiago Virtuoso postou

  1. Preciso de ajuda nesse script, quando o player morre ele é teleportado para o templo, porém com a vida zerada e ele não pode se mover. Gostaria que ele fosse teleportado com a vida e mana cheia. Alguém pode me ajudar? Grato desde já. local config = { fromPosition = {x = 1349, y = 984, z = 7}, toPosition = {x = 1379, y = 1013, z = 7}, gl_storage = 16891, storage = 3989 } function onPrepareDeath(cid, deathList) local exit = getTownTemplePosition(getPlayerTown(cid)) if isPlayer(cid) then if isInRange(getPlayerPosition(cid), config.fromPosition, config.toPosition) then if doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid), true) == true then doTeleportThing(cid, exit) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doCreatureSetStorage(cid, config.storage, -1) doSetStorage(config.gl_storage, -1) return false end end end end
  2. Ola galera, como podem ver eu estou precisando de um srcript que se o player estiver usando um certo outfit, ele não poderá usar mounts.
  3. Hum.. vlw ai, mas eu preciso do script pra poder desligar o server :/
  4. Alguem pode me ajudar com esse script? eu quero que ele funcione a cada 1 mes.. local GRIFFINCLAW_POSITION = {x= 999, y= 999, z=7} local GRIFFINCLAW_ID = 5687 local BLOOMING_GRIFFINCLAW_ID = 5659 function onThink(cid, interval, lastExecution) if getTileItemById(GRIFFINCLAW_POSITION, GRIFFINCLAW_ID).uid > 0 then doRemoveItem(getTileItemById(GRIFFINCLAW_POSITION, GRIFFINCLAW_ID).uid) doItemSetAttribute(doCreateItem(BLOOMING_GRIFFINCLAW_ID, 1, GRIFFINCLAW_POSITION), "uid", 16103) end return true end
  5. Thiago Virtuoso postou uma resposta no tópico em Suporte Tibia OTServer
    @up Preciso mto desse npc..
  6. Thiago Virtuoso postou uma resposta no tópico em Suporte Tibia OTServer
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local config, t, renown = { ['supply'] = {itemid = 18215, token = {type = 'minor', id = 18422, count = 2}}, ['muck'] = {itemid = 18395, token = {type = 'minor', id = 18422, count = 8}}, ['mission'] = {itemid = 18509, token = {type = 'minor', id = 18422, count = 10}}, ['lamp'] = {itemid = 18388, token = {type = 'minor', id = 18422, count = 15}}, ['backpack'] = {itemid = 18393, token = {type = 'minor', id = 18422, count = 15}}, ['addition to the soil guardian outfit'] = {itemid = 18518, token = {type = 'minor', id = 18422, count = 70}}, ['addition to the crystal warlord armor outfit'] = {itemid = 18521, token = {type = 'minor', id = 18422, count = 70}}, ['gill gugel'] = {itemid = 18398, token = {type = 'major', id = 18423, count = 10}}, ['gill coat'] = {itemid = 18399, token = {type = 'major', id = 18423, count = 10}}, ['gill legs'] = {itemid = 18400, token = {type = 'major', id = 18423, count = 10}}, ['spellbook'] = {itemid = 18401, token = {type = 'major', id = 18423, count = 10}}, ['prismatic helmet'] = {itemid = 18403, token = {type = 'major', id = 18423, count = 10}}, ['prismatic armor'] = {itemid = 18404, token = {type = 'major', id = 18423, count = 10}}, ['prismatic legs'] = {itemid = 18405, token = {type = 'major', id = 18423, count = 10}}, ['prismatic boots'] = {itemid = 18406, token = {type = 'major', id = 18423, count = 10}}, ['prismatic shield'] = {itemid = 18410, token = {type = 'major', id = 18423, count = 10}}, ['basic soil guardian outfit'] = {itemid = 18517, token = {type = 'major', id = 18423, count = 20}}, ['basic crystal warlord outfit'] = {itemid = 18520, token = {type = 'major', id = 18423, count = 20}}, ['iron loadstone'] = {itemid = 18447, token = {type = 'major', id = 18423, count = 20}}, ['glow wine'] = {itemid = 18448, token = {type = 'major', id = 18423, count = 20}} }, {}, {} local function getTable() local itemsList = { {name = "bell", id = 18343, buy = 50}, {name = "gnomish crystal package", id = 18313, buy = 1000}, {name = "gnomish extraction crystal", id = 18213, buy = 50}, {name = "gnomish spore gatherer", id = 18328, buy = 50}, {name = "little pig", id = 18339, buy = 150} } return itemsList end local function setNewTradeTable(table) local items = {} for _, v in ipairs(table) do items[v.id] = {itemId = v.id, buyPrice = v.buy, sellPrice = v.sell, subType = 0, realName = v.name} end return items end local function onBuy(cid, item, subType, amount, ignoreCap, inBackpacks) local player = Player(cid) local items = setNewTradeTable(getTable()) local count = 0 for i = 1, amount do local item = Game.createItem(items[item].itemId, subType) if player:addItemEx(item, false) ~= RETURNVALUE_NOERROR then npcHandler:say('First make sure you have enough space in your inventory.', cid) break end count = i end if count == 0 then return true end player:removeMoney(items[item].buyPrice * count) player:sendTextMessage(MESSAGE_INFO_DESCR, string.format('Bought %dx %s for %d gold.', count, items[item].realName, items[item].buyPrice * count)) return true end local function getTokenCount(s) local b, e = s:find("%d+") return b and e and math.min(4294967295, tonumber(s:sub(b, e))) or -1 end local function greetCallback(cid) npcHandler:setMessage(MESSAGE_GREET, 'Oh, hello! I\'m the gnome-human relations assistant. I am here for you to trade your tokens for {equipment}, resupply you with mission {items} and talk to you about your {relations} to us gnomes! ...') t[cid], renown[cid] = nil, nil return true end local function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end if msgcontains(msg, 'equipment') then npcHandler:say({'You can buy different equipment for minor or for major tokens. So, which is the equipment you are interested in, the one for {minor} or {major} tokens? ...', 'By the way, if you want to have a look on the prismatic and gill items first, just head over to the depot and check the market.'}, cid) elseif msgcontains(msg, 'major') then npcHandler:say({'For ten major tokens, I can offer you a {gill gugel}, a {gill coat}, {gill legs}, a {spellbook} of vigilance, a {prismatic helmet}, a {prismatic armor}, {prismatic legs}, {prismatic boots} or a {prismatic shield} ...', 'For twenty major tokens, I can offer you a {basic soil guardian outfit}, a {basic crystal warlord outfit}, an {iron loadstone} or a {glow wine}.'}, cid) elseif msgcontains(msg, 'minor') then npcHandler:say({'For two minor tokens, you can buy one gnomish {supply} package! For eight tokens, you can buy a {muck} remover! For ten tokens, you can buy a {mission} crystal. For fifteen tokens, you can buy a crystal {lamp} or a mushroom {backpack}. ...', 'For seventy tokens, I can offer you a voucher for an {addition to the soil guardian outfit}, or a voucher for an {addition to the crystal warlord armor outfit}.'}, cid) elseif config[msg] then local itemType = ItemType(config[msg]['itemid']) npcHandler:say(string.format('Do you want to trade %s %s for %d %s tokens?', (itemType:getArticle() ~= "" and itemType:getArticle() or ""), itemType:getName(), config[msg]['token']['count'], config[msg]['token']['type']), cid) npcHandler.topic[cid] = 1 t[cid] = msg elseif msgcontains(msg, 'relations') then local player = Player(cid) if player:getStorageValue(900) >= 14 then npcHandler:say('Our relations improve with every mission you undertake on our behalf. Another way to improve your relations with us gnomes is to trade in minor crystal tokens. ...', cid) npcHandler:say('Your renown amongst us gnomes is currently {' .. math.max(0, player:getStorageValue(921)) .. '}. Do you want to improve your standing by sacrificing tokens? One token will raise your renown by 5 points. ', cid) npcHandler.topic[cid] = 2 else npcHandler:say('You are not even a recruit of the Bigfoots. Sorry I can\'t help you.', cid) end elseif npcHandler.topic[cid] == 3 then local amount = getTokenCount(msg) if amount > 0 then npcHandler:say('Do you really want to trade ' .. amount .. ' minor tokens for ' .. amount * 5 .. ' renown?', cid) renown[cid] = amount npcHandler.topic[cid] = 4 end elseif msgcontains(msg, 'items') then npcHandler:say('Do you need to buy any mission items?', cid) npcHandler.topic[cid] = 5 elseif msgcontains(msg, 'yes') then if npcHandler.topic[cid] == 1 then local player, targetTable = Player(cid), config[t[cid]] if player:getItemCount(targetTable['token']['id']) < targetTable['token']['count'] then npcHandler:say('Sorry, you don\'t have enough ' .. targetTable['token']['type'] .. ' tokens with you.', cid) npcHandler.topic[cid] = 0 return true end local item = Game.createItem(targetTable['itemid'], 1) local weight = 0 weight = ItemType(item:getId()):getWeight(item:getCount()) if player:addItemEx(item) ~= RETURNVALUE_NOERROR then if player:getFreeCapacity() < weight then npcHandler:say('First make sure you have enough capacity to hold it.', cid) else npcHandler:say('First make sure you have enough space in your inventory.', cid) end npcHandler.topic[cid] = 0 return true end player:removeItem(targetTable['token']['id'], targetTable['token']['count']) npcHandler:say('Here have one of our ' .. item:getPluralName() .. '.', cid) npcHandler.topic[cid] = 0 elseif npcHandler.topic[cid] == 2 then npcHandler:say("How many tokens do you want to trade?", cid) npcHandler.topic[cid] = 3 elseif npcHandler.topic[cid] == 4 then local player = Player(cid) if player:getItemCount(18422) >= renown[cid] then player:removeItem(18422, renown[cid]) player:setStorageValue(921, math.max(0, player:getStorageValue(921)) + renown[cid] * 5) npcHandler:say('As you wish! Your new renown is {' .. player:getStorageValue(921) .. '}.', cid) else npcHandler:say('You don\'t have these many tokens.', cid) end npcHandler.topic[cid] = 0 elseif npcHandler.topic[cid] == 5 then openShopWindow(cid, getTable(), onBuy, onSell) npcHandler:say('Let us see if I have what you need.', cid) npcHandler.topic[cid] = 0 end elseif msgcontains(msg, 'no') and isInArray({1, 3, 4, 5}, npcHandler.topic[cid]) then npcHandler:say('As you like.', cid) npcHandler.topic[cid] = 0 end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  7. Thiago Virtuoso postou uma resposta no tópico em Suporte Tibia OTServer
    Eu ja tenho esse script.. não é o que eu quero. Preciso que ele troque as moedas por pontos de reputação tambem, eu tenho um script 10.35 mas n sei se tem como passar ele para a versão 9.83.
  8. Thiago Virtuoso postou uma resposta no tópico em Suporte Tibia OTServer
    Ola galera, preciso do npc Gnomally com o sistema de trocas de minor crystalline token por reputaçao. Obrigado desde ja!
  9. vlw!!! funcionou aqui, ajudou mto. REP+
  10. Preciso de ajuda com minha spell, quero que quando o player esteja com o addon do druid full ele use o combat e quando estiver com qualquer outro addon usar o combat2. Script: local combat = createCombatObject() local meteor = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 41) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -10.3, -47, -10.2, 2) local stun = createConditionObject(CONDITION_PARALYZE) setConditionParam(stun, CONDITION_PARAM_TICKS, 5000) setConditionFormula(stun, -0.8, 0, -0.9, 0) setCombatCondition(meteor, stun) local combat2 = createCombatObject() local meteor2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 43) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -7.3, -47, -6.2, 2) local arr = { {0, 0, 0, 0, 0}, {0, 0, 1, 0, 0}, {0, 1, 3, 1, 0}, {0, 0, 1, 0, 0}, {0, 0, 0, 0, 0} } local arr2 = { {0, 0, 0, 0, 0}, {0, 0, 1, 0, 0}, {0, 1, 3, 1, 0}, {0, 0, 1, 0, 0}, {0, 0, 0, 0, 0} } local area = createCombatArea(arr) local area2 = createCombatArea(arr2) setCombatArea(combat, area) setCombatArea(combat2, area2) local function meteorCast(p) doCombat(p.cid, p.combat, positionToVariant(p.pos)) end local function meteorCast2(p) doCombat(p.cid, p.combat2, positionToVariant(p.pos)) end local function stunEffect(cid) doSendMagicEffect(getThingPos(cid), CONST_ME_STUN) end function onTargetTile(cid, pos) if (math.random(0, 0) == 0) then local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}) if (isInArray(water, ground.itemid) == TRUE) then local newpos = {x = pos.x + 7, y = pos.y - 6, z = pos.z} doSendDistanceShoot(newpos, pos, CONST_ANI_ICE) addEvent(meteorCast, 200, {cid = cid, pos = pos, combat = meteor_water}) else local newpos = {x = pos.x + 7, y = pos.y - 6, z = pos.z} doSendDistanceShoot(newpos, pos, CONST_ANI_ICE) addEvent(meteorCast, 200, {cid = cid,pos = pos, combat = meteor}) end end end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onTargetTile(cid, pos) if (math.random(0, 0) == 0) then local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}) if (isInArray(water, ground.itemid) == TRUE) then local newpos = {x = pos.x + 7, y = pos.y - 6, z = pos.z} doSendDistanceShoot(newpos, pos, CONST_ANI_ICE) addEvent(meteorCast2, 200, {cid = cid, pos = pos, combat2 = meteor_water2}) else local newpos = {x = pos.x + 7, y = pos.y - 6, z = pos.z} doSendDistanceShoot(newpos, pos, CONST_ANI_ICE) addEvent(meteorCast2, 200, {cid = cid,pos = pos, combat2 = meteor2}) end end end setCombatCallback(combat2, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat = combat, combat2 = combat2 } local sex = getPlayerSex(cid) localOutfit = {lookType = 144, lookAddons = 3} localOufit2 = {lookType = 148, lookAddons = 3} if sex == 0 then if getCreatureOutfit == localOutfit2 then return doCombat(cid, combat, var) else return doCombat(cid, combat2, var) end end if sex == 1 then if getCreatureOutfit == localOutfit then return doCombat(cid, combat, var) else return doCombat(cid, combat2, var) end end end
  11. eu quero que o monstro ataque um player, e se esse player estiver longe o monstro tenha uma chance de se teleportar ao lado dele ou que o monstro puxe o player ao seu lado.
  12. Como o titulo diz, eu preciso de um monstro que teleporte em um player qualquer, e que tenha uma chance de isso acontecer. desde ja grato

Informação Importante

Confirmação de Termo