Ir para conteúdo

Hunterii

Membro
  • Registro em

  • Última visita

Tudo que Hunterii postou

  1. Hunterii respondeu ao post em um tópico de Cjaker em Ferramentas OpenTibia
    Amigo, para resolver esse problema, você vai fazer o seguinte. 1 - Baixe o Tibia da Cip 2 - Quando for utilizar o Ip changer, você vai abrir o seguinte caminho: SeuTibia\packages\Tibia\bin e vai setar o caminho para o IP changer com o cliente que vai ta nessa pasta ai. dessa vez não vai ter erro.
  2. Hunterii respondeu ao post em um tópico de Cjaker em Ferramentas OpenTibia
    To com um erro. Unable to find rsaKey quando clica em mudar ip.
  3. Boa tarde amigos do TK, alguém poderia me dar uma ajuda com esse script de raid ? Ele não está respeitando o max monsters e nem o timer do boss. Quando o evento acontece spawn toda a área² marcada de monstros e passando o tempo spawna toda a área com o boss. Agradeço qualquer ajuda desde já.
  4. Agora ficou certinho amigo, obrigado pela ajuda!
  5. @Dwarfer Funcionou certinho porém a chest que da a key pode ser aberta unicamente no momento do primeiro use (quando da a key) e da pra colocar itens dentro.
  6. @Dwarfer O teleporte da porta não funcionou, ela continua abrindo normal, e a chest pode ser usada infinitas vezes. Se não for incomodo gostaria também que a chave quando usada de volta teleportaria o player pro lado anterior. vou dar um exemplo para ficar mais claro. Ex: player usa a chave e é teleportado pra dentro da cave, e pra sair ele usa a chave de volta na porta e é teleportado pra fora da cave. Agradeço sua ajuda já amigo.
  7. Agora funcionou certinho, obrigado amigos!
  8. @luangop Deu esse erro.
  9. @luangop Funcionou bem amigo, mas não esta healando, a animação sai certinha mas não heala.
  10. @Dwarfer Até funcionou legal, mas quando a mana está zerada ela ainda pode ser usada e também não está healando, o efeito sai normal mas a vida não heala.
  11. Bom dia amigos do TK, queria um script que fizesse a seguinte ação. Quando o player usasse a chave na porta ambas com a action id únicas, ao invés da porta abrir e se destrancar normalmente, o player seria teleportado para o outro lado da porta. E também uma forma de criar uma chest que daria essa chave já com a action id. Desde já agradeço a todos!
  12. @Werner Sim amigo, no caso é a spell que postei o script ai, atualmente no spells.xml ela consome 40 de mana, eu queria que ao invés disso, ela consumisse uma % da mana máxima. Exemplo: Player tem 10k de mana, a spell está configurada pra consumir 20% da mana máxima. Logo ela consumiria 2000 de mana. Conseguiu entender ?
  13. Boa noite amigos do TK, queria um script para que a magia em questão consumisse uma % da mana máxima e também que desse um slow semelhante ao utito tempo san do pala. Bom, esse é a magia da qual estamos falando. Desculpa não postar os créditos do script, já estava assim quando peguei. e no spells.xml está assim. Agradeço a todos desde já.
  14. Bom.. Estou tentando compilar esse servidor: Mas sempre quando tá no fim da compilação aparece esse log de erro:
  15. Agora funcionou certinho! problema resolvido!
  16. @Pedriinz Se remover essa tag, o script fica adicionando números aleatórios de vials. Com a tag igual eu mencionei fica retornando esse erro no console.
  17. @Pedriinz Boa noite amigo, funcionou bem o script só fiz uma alteração na tag final. de: para: Obrigado pela ajuda, dúvida sanada rep ++ e pode fechar o tópico.
  18. @pablobion Bom dia amigo, esse removeonuse funciona da seguinte maneira, ele remove a potion quando você usa de forma a deixar ela finita!
  19. Boa tarde amigos do TK, preciso de uma alteração nesse script para que ele faça após o uso da potion o vial aparecer na bp do player. Dessa forma que está a potion é usada mas o vial não aparece! OT: 8.6 forgotten server local config = { removeOnUse = "yes", usableOnTarget = "yes", -- can be used on target? (fe. healing friend) splashable = "no", realAnimation = "no", -- make text effect visible only for players in range 1x1 healthMultiplier = 1.0, manaMultiplier = 1.0 } config.removeOnUse = getBooleanFromString(config.removeOnUse) config.usableOnTarget = getBooleanFromString(config.usableOnTarget) config.splashable = getBooleanFromString(config.splashable) config.realAnimation = getBooleanFromString(config.realAnimation) local POTIONS = { [8704] = {empty = 7636, splash = 2, health = {50, 100}}, -- small health potion [7618] = {empty = 7636, splash = 2, health = {100, 200}}, -- health potion [7588] = {empty = 7634, splash = 2, health = {200, 300}, level = 50, vocations = {3, 4, 7, 8,12,11}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 2, health = {400, 500}, level = 80, vocations = {4, 8,12}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 2, health = {750, 1000}, level = 130, vocations = {4, 8,12}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 7, mana = {70, 230}}, -- mana potion [7589] = {empty = 7634, splash = 7, mana = {300, 500}, level = 50, vocations = {1, 2, 3, 5, 6, 7,11}, vocStr = "paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 7, mana = {500, 700}, level = 80, vocations = {1, 2, 5, 6,9,10}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 3, health = {500, 600}, mana = {400, 600}, level = 80, vocations = {3, 7,11}, vocStr = "paladins"} -- great spirit potion } local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) local potion = POTIONS[item.itemid] if(not potion) then return false end if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then if(not config.splashable) then return false end if(toPosition.x == CONTAINER_POSITION) then toPosition = getThingPos(item.uid) end doDecayItem(doCreateItem(2016, potion.splash, toPosition)) doTransformItem(item.uid, potion.empty) return TRUE end if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return TRUE end if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then doCreatureSay(itemEx.uid, "Apenas " .. potion.vocStr .. (potion.level and (" do level " .. potion.level) or "") .. " ou acima pode tomar essa potion.", TALKTYPE_ORANGE_1) return TRUE end local health = potion.health if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2]) * config.healthMultiplier))) then return false end local mana = potion.mana if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2]) * config.manaMultiplier))) then return false end doSendMagicEffect(getThingPos(itemEx.uid),29, 32) if(not realAnimation) then doCreatureSay(itemEx.uid, "Aaaaah...", TALKTYPE_ORANGE_1) else for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do if(isPlayer(tid)) then doCreatureSay(itemEx.uid, "Aaah...", TALKTYPE_ORANGE_1, false, tid) end end end doAddCondition(cid, exhaust) if(not potion.empty or config.removeOnUse) then doRemoveItem(item.uid, 1) return TRUE end doRemoveItem(item.uid, 0) doPlayerAddItem(cid, potion.empty, 0) doPlayerRemoveItem(cid, potion.empty, getPlayerItemCount(cid, potion.empty)) doPlayerAddItem(cid, potion.empty, getPlayerItemCount(cid, potion.empty)) return TRUE end Agradeço desde já.
  20. Hunterii respondeu ao post em um tópico de Hunterii em Suporte Tibia OTServer
    @XandimH Boa tarde amigo, testei o seu script e funcionou perfeitamente, só tive que alterar o número da storage e funcionou. Obrigado a todos que ajudaram rep++. Pode fechar o tópico.
  21. Hunterii respondeu ao post em um tópico de Hunterii em Suporte Tibia OTServer
    Bom dia @bandzenho, sobre as suas dúvidas, vou tentar responde-lo de forma mais exata possível. 1 - seuot/data é onde estão todos os scripts do seu OT, existem vários tipos e cada um você vai colocar na pasta correspondente. O nome do script vai variar de como o seu .lua vai chamar ele. 2 - Sim, ele tem que ser adicionando em um script .lua e funciona em conjunto com um script de NPC que executa a ação de dar o reset no player. 3 - Provavelmente vai estar na pasta seuot/data/creaturescipts/scripts ai é só procurar.
  22. Hunterii respondeu ao post em um tópico de Hunterii em Suporte Tibia OTServer
    Tenho sim @KotZletY, esse é o sistema de look do ot, nele tem o sistema de frags que quando você da o look no player, mostra o número de frags. function getPlayerFrags(cid) local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = {date = result:getDataInt("date")} if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = { day = table.maxn(contents.day), week = table.maxn(contents.week), month = table.maxn(contents.month) } return size.day + size.week + size.month end function onLogin(cid) registerCreatureEvent(cid, "fraglook") return true end function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) and thing.uid ~= cid then doPlayerSetSpecialDescription(thing.uid,' [Frags: '..getPlayerFrags(thing.uid)..']') return true elseif thing.uid == cid then doPlayerSetSpecialDescription(cid,'\n[Frags: '..getPlayerFrags(cid)..']') local string = 'You see yourself. \nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..']\n Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].\n' if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then string = string..' You are '.. getPlayerGroupName(cid) ..'.' elseif getPlayerVocation(cid) ~= 0 then string = string..' You are '.. getPlayerVocationName(cid) ..'.' else string = string..' You have no vocation.' end string = string..getPlayerSpecialDescription(cid)..'' if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then string = string..' You are '.. (getPlayerSex(cid) == 0 and 'wife' or 'husband') ..' of '.. getPlayerNameByGUID(getPlayerPartner(cid)) ..'.' end if getPlayerGuildId(cid) > 0 then string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid) string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then string = string..'\nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..']\n Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].' string = string..'\nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.' end if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then string = string..'\nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].' end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string) return false end return true end
  23. Hunterii postou uma resposta no tópico em Suporte Tibia OTServer
    Boa noite amigos, queria um script pra mostrar o número de resets quando o player da o look. Segue meu script de reset, utilizo mysql para gerencia o db. Versão do ot: 8.6 forgotten server. --[[Script made 100% by Nogard and Night Wolf. You can feel free to edit anything you want, but don't remove the credits]] local config = { minlevel = 350, --- level inical para resetar price = 100000, --- preço inicial para resetar newlevel = 8, --- level após reset priceByReset = 100000, --- preço acrescentado por reset percent = 100, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) maxresets = 1000, levelbyreset = 5 --- quanto de level vai precisar a mais no próximo reset } --- end config function getResets(uid) resets = getPlayerStorageValue(uid, 378378) if resets < 0 then resets = 0 end return resets end local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid function addReset(cid) if(npcHandler:isFocused(cid)) then npcHandler:releaseFocus(cid) end talkState[talkUser] = 0 resets = getResets(cid) setPlayerStorageValue(cid, 378378, resets+1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) local hp = getCreatureMaxHealth(cid) local resethp = hp*(config.percent/100) setCreatureMaxHealth(cid, resethp) local differencehp = (hp - resethp) doCreatureAddHealth(cid, -differencehp) local mana = getCreatureMaxMana(cid) local resetmana = mana*(config.percent/100) setCreatureMaxMana(cid, resetmana) local differencemana = (mana - resetmana) doCreatureAddMana(cid, -differencemana) doRemoveCreature(cid) local description = resets+1 db.query("UPDATE `players` SET `description` = ' [Reset: "..description.."] ' WHERE `players`.`id`= ".. playerid .."") db.query("UPDATE `players` SET `level`="..config.newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."") return true end local newPrice = config.price + (getResets(cid) * config.priceByReset) local newminlevel = config.minlevel + (getResets(cid) * config.levelbyreset) if msgcontains(msg, 'reset') then if getResets(cid) < config.maxresets then selfSay('Voce quer resetar ? vai custar '..newPrice..' gp\'s!', cid) talkState[talkUser] = 1 else selfSay('You already reached the maximum reset level!', cid) end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerMoney(cid) < newPrice then selfSay('É necessário ter no mínimo'..newPrice..' gp\'s pra resetar!', cid) elseif getPlayerLevel(cid) < newminlevel then selfSay('O level minimo pra resetar é '..newminlevel..'!', cid) else doPlayerRemoveMoney(cid,newPrice) playerid = getPlayerGUID(cid) addEvent(function() if isPlayer(cid) then addReset(cid) end end, 3000) local number = getResets(cid)+1 local msg ="---[Reset: "..number.."]-- Voce resetou e será desconectado em 3 segundos." doPlayerPopupFYI(cid, msg) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no')) and isInArray({1}, talkState[talkUser]) == TRUE then talkState[talkUser] = 0 npcHandler:releaseFocus(cid) selfSay('Ok.', cid) elseif msgcontains(msg, 'quantidade') then selfSay('Voce tem um total de '..getResets(cid)..' reset(s).', cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())

Informação Importante

Confirmação de Termo