Ir para conteúdo

FlavioHulk

Membro
  • Registro em

  • Última visita

Tudo que FlavioHulk postou

  1. Com o cliente do tibia não há nada que possa fazer pra modificar os layouts ! Use OTClient
  2. Qual o TFS?
  3. Globalevents/globalevents.xml <globalevent name="ServerSave" time="05:55:00" script="serversave.lua" />
  4. Qual TFS?
  5. Cara, tem alguma tabela de ids das doors na pasta data, só não sei onde está
  6. Cara, vai em actions e procura algo como door.lua
  7. Comece detalhando qual é a versão da sua distro, e se possível, posta o script...
  8. Cara, a pasta principal do server é o data
  9. Cara, vou testar aqui, e veremos o que é
  10. Clica com o botão direito em forgottenserver e vai em propriedades... E depois vai em linker, includes e adicione a pasta pugin
  11. Em includes nas configurações do seu projeto no MSVC, indique o caminho da pasta pugin na pasta TFS SDK
  12. Qual o erro? Algum erro no console? Lembrando: na linha onde tem 'Storage Escolhida' você deve colocar uma storage qualquer
  13. Stone Script local config = { nameBoss = 'tusky hell', -- Nome do Boss passagePos = Position(1015, 1043, 7), -- Posição da stone time = 2, -- Tempo pra remover a stone stoneId = 1304 -- ID da stone } function onDeath(creature, corpse, lasthitkiller, mostdamagekiller, lasthitunjustified, mostdamageunjustified) if not creature:getMonster() or creature:getMonster():getName():lower() ~= config.nameBoss then return true end local stone = Tile(config.passagePos):getItemById(config.stoneId) if stone then config.passagePos:sendMagicEffect(CONST_ME_POFF) stone:remove() end creature:say("Congratulations! You managed to defeat "..config.nameBoss.." , You have "..config.time.." seconds to pass the portal!!!! hauaha.", TALKTYPE_ORANGE_1) addEvent(Game.createItem, config.time * 1000, config.stoneId, 1, config.passagePos) return true end Teleport Script local config = { nameBoss = 'tusky hell', -- Nome do Boss tpPos = Position(1015, 1043, 7), -- Posição do teleporte newPos = Position(1015, 1054, 7) -- Posição para onde vão os players time = 2, -- Tempo em segundos pra remover o teleport teleportId = 1387 -- ID do teleport } local function removeTeleport(position, itemId) local teleport = Tile(position):getItemById(itemId) if teleport then teleport:remove() end end function onDeath(creature, corpse, lasthitkiller, mostdamagekiller, lasthitunjustified, mostdamageunjustified) if not creature:getMonster() or creature:getMonster():getName():lower() ~= config.nameBoss then return true end local teleport = Game.createItem(config.teleportId, 1, config.tpPos) if teleport then teleport:setDestination(config.newPos) addEvent(removeTeleport, config.time * 1000, config.tpPos, config.teleportId) end creature:say("Congratulations! You managed to defeat "..config.nameBoss.." , You have "..config.time.." seconds to pass the portal!!!! hauaha.", TALKTYPE_ORANGE_1) return true end
  14. local condition = Condition(CONDITION_ATTRIBUTES) condition:setParameter(CONDITION_PARAM_TICKS, -1) condition:setParameter(CONDITION_PARAM_SKILL_SHIELD, 75) function onEquip(player, item, slot) local item = player:getSlotItem(CONST_SLOT_ARMOR) if item then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Now that you\'re using this item you\'ll receive a special bonus...') player:addCondition(condition) return true end end function onDeEquip(player, item, slot) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You\'re no longer receiving the special bonus..') player:removeCondition(CONDITION_ATTRIBUTES) return true end
  15. Use aplicativos como o notepad ++ ou sublime text, ambos são ótimos editores....
  16. @KotZletY por nada haha, mas eu acho que fica desleixado kk, mas tamos aí
  17. local config = { requiredLevel = 100, daily = false, playerPositions = { Position(33010, 31660, 14), Position(33010, 31661, 14), Position(33010, 31662, 14), Position(33010, 31663, 14), Position(33010, 31664, 14) }, newPositions = { Position(32974, 31670, 14), Position(32975, 31670, 14), Position(32976, 31670, 14), Position(32977, 31670, 14), Position(32978, 31670, 14) }, BossPositions = { Position(32977, 31658, 14) } } function onUse(player, item, fromPosition, target, toPosition, isHotkey) if item.itemid == 1946 then local storePlayers, playerTile = {} for i = 1, #config.playerPositions do playerTile = Tile(config.playerPositions):getTopCreature() if not playerTile or not playerTile:isPlayer() then player:sendTextMessage(MESSAGE_STATUS_SMALL, "You need 5 players.") return true end if playerTile:getLevel() < config.requiredLevel then player:sendTextMessage(MESSAGE_STATUS_SMALL, "All the players need to be level ".. config.requiredLevel .." or higher.") return true end storePlayers[#storePlayers + 1] = playerTile end for i = 1, #config.BossPositions do Game.createMonster("The Time Guardian", config.BossPositions) end local players for i = 1, #storePlayers do players = storePlayers[i] players:getPosition():sendMagicEffect(CONST_ME_POFF) players:teleportTo(config.newPositions[i]) players:getPosition():sendMagicEffect(CONST_ME_ENERGYAREA) players:setDirection(DIRECTION_EAST) players:setExhaustion(StorageEscolhida, 24 * 60 * 60) -- Aqui é onde você escolhe a storage end elseif item.itemid == 1945 then if config.daily then player:sendTextMessage(MESSAGE_STATUS_SMALL, Game.getReturnMessage(RETURNVALUE_NOTPOSSIBLE)) return true end end item:transform(item.itemid == 1946 and 1945 or 1946) return true end
  18. Realmente não havia percebido a proporção kk, sobre o actionid não é necessário, mesmo com check de item no script colocando o itemid no xml, ia funcionar como duplo check, que é bem desnecessário... Editei meu primeiro post...
  19. vai nas sources e pesquisa o arquivo bed.cpp Logo após procure a função: bool BedItem::canUse(Player* player) Abaixo há um check se o player é premium: if (!player || !house || !player->isPremium()) { return false; } Troque por: if (!player || !house) { return false; } E recompile as sources...
  20. actions.xml <action itemid="ID do item" script="CaminhoDoScript.lua" /> actions/script.lua local tpPos = Position(33130, 32660, 7) -- Nova Posição function onUse(player, item, fromPosition, target, toPosition, isHotkey) player:teleportTo(tpPos) item:remove(1) return true end
  21. Na principal pasta do server
  22. function onUse(player, item, fromPosition, target, toPosition, isHotkey) if player:hasMount(23) then player:getPosition():sendMagicEffect(CONST_ME_POFF) player:sendTextMessage(MESSAGE_INFO_DESCR, "You already have this mount.") return true end player:addMount(23) -- Id da Mount player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) player:say('You received Armoured War Horse.', TALKTYPE_ORANGE_1) return true end
  23. Em npc/lib/npcsystem no arquivo modules.lua... troque a função StdModule.promotePlayer, por essa abaixo function StdModule.promotePlayer(cid, message, keywords, parameters, node) local npcHandler = parameters.npcHandler if not npcHandler then error("StdModule.promotePlayer called without any npcHandler instance.") end if not npcHandler:isFocused(cid) then return false end local player = Player(cid) local promotion = player:getVocation():getPromotion() if player:getStorageValue(STORAGEVALUE_PROMOTION) == 1 then npcHandler:say("You are already promoted!", cid) elseif player:getLevel() < parameters.level then npcHandler:say("I am sorry, but I can only promote you once you have reached level " .. parameters.level .. ".", cid) elseif not player:removeMoney(parameters.cost) then npcHandler:say("You do not have enough money!", cid) else npcHandler:say(parameters.text, cid) player:setVocation(promotion) player:setStorageValue(STORAGEVALUE_PROMOTION, 1) end npcHandler:resetNpc(cid) return true end
  24. Adicione os ids das portas no global.lua

Informação Importante

Confirmação de Termo