Ir para conteúdo

Rusherzin

Membro
  • Registro em

  • Última visita

Tudo que Rusherzin postou

  1. function onKill(cid, target) local config = { ['troll'] = {amount = 10, storage = 21900, startstorage = 45553, startvalue = 1, tit = "Criaturas Humanoides"}, ['rotworm'] = {amount = 26, storage = 21901, startstorage = 45551, startvalue = 2}, ['dragon lord'] = {amount = 25, storage = 21902, startstorage = 45551, startvalue = 4} } if isPlayer(target) and isMonster(target) then return true end if not config[getCreatureName(target):lower()] then return true end local monster = config[getCreatureName(target):lower()] if (getPlayerStorageValue(cid, monster.storage)+1) < monster.amount and getPlayerStorageValue(cid, monster.startstorage) >= monster.startvalue then setPlayerStorageValue(cid, monster.storage, getPlayerStorageValue(cid, monster.storage) + 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[Sistema de Sincronização]: '..(getPlayerStorageValue(cid, monster.storage)+1)..' de '..monster.amount..' '..getCreatureName(target)..'s mortos.') end if (getPlayerStorageValue(cid, monster.storage)+1) == monster.amount then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Concluido ! Você matou '..(getPlayerStorageValue(cid, monster.storage)+1)..' '..getCreatureName(target)..'s e completou a missão '..tit..'.') setPlayerStorageValue(cid, monster.storage, getPlayerStorageValue(cid, monster.storage) + 1) end return true end
  2. Rusherzin postou uma resposta no tópico em Suporte Tibia OTServer
    Pode encontrar todas as versões publicadas aqui: https://github.com/ottools/ObjectBuilder/releases
  3. Não sei se eu entendi errado ou é um bug mesmo, mas ali na parte direita do site, onde diz "últimos tópicos que você participou", fica mostrando os tópicos de outros usuários. Igual na imagem abaixo:
  4. Rusherzin postou uma resposta no tópico em Suporte Tibia OTServer
    function onSay(cid, words, param, channel) local reset = 2321 -- id da storage do reset local mining = 2113 -- id da storage do mining local dodge = 1234 -- storage da dodge local critc = 4321 -- storage da critical doPlayerSendTextMessage(cid, 23, " # Character Info # \n -Level: ".. getPlayerLevel(cid) .."\n -Resets: ".. getPlayerStorageValue(cid, reset) .."\n -Life: [".. getCreatureHealth(cid) .."/".. getCreatureMaxHealth(cid) .."]\n -Mana: [".. getCreatureMana(cid) .."/".. getCreatureMaxMana(cid) .."]\n -Mining: ".. getPlayerStorageValue(cid, mining).."\n -Critical: "..getPlayerStorageValue(cid, critc).."\n Dodge: "..getPlayerStorageValue(cid, dodge)) return true end
  5. Rusherzin postou uma resposta no tópico em Suporte Tibia OTServer
    Vou dar rep para o cara ali que fez, mas tenta assim: function onSay(cid, words, param, channel) local reset = 2321 -- id da storage do reset local mining = 2113 -- id da storage do mining doPlayerSendTextMessage(cid, 23, " # Character Info # \n -Level: ".. getPlayerLevel(cid) .."\n -Resets: ".. getPlayerStorageValue(cid, reset) .."\n -Life: [".. getCreatureHealth(cid) .."/".. getCreatureMaxHealth(cid) .."]\n -Mana: [".. getCreatureMana(cid) .."/".. getCreatureMaxMana(cid) .."]\n -Mining: ".. getPlayerStorageValue(cid, mining)) return true end
  6. Não testei nenhum deles, mas.. function onUse(cid, item, frompos, item2, topos) local needPos = {x=1011, y=1025, z=7} -- pos que precisa está para usar o item local myPos = getPlayerPosition(cid) if myPos.x == needPos.x and myPos.y == needPos.y and myPos.z == needPos.z then if getHouseByPlayerGUID(getPlayerGUID(cid)) then doTeleportThing(cid, getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) doPlayerSendTextMessage(cid,22,"Voce foi teleportado até sua house!") else doPlayerSendTextMessage(cid,22,"Você ainda não tem uma house, compre uma falando '!buyhouse' em frente a porta dela.") end doPlayerSendTextMessage(cid,22,"Você precisa estár em cima do trono para usar a alavanca.") end return true end --[[Script By Vodkart]]-- function onSay(cid, words, param) local config = { pz = true, -- players precisam estar em protection zone para usar? (true or false) battle = true, -- players deve estar sem battle (true or false) custo = true, -- se os teleport irão custa (true or false) need_level = true, -- se os teleport irão precisar de level (true or false) premium = true -- se precisa ser premium account (true or false) } --[[ Config lugares]]-- local lugar = { ["depot"] = { -- nome do lugar pos = {x=937, y=1002, z=7},level = 8,price = 10000}, ["templo"] = { -- nome do lugar pos = {x=969, y=1003, z=7},level = 8, price = 10000}, ["arena"] = { -- nome do lugar pos = {x=932, y=983, z=9},level = 8,price = 10000}, ["bau"] = { -- nome do lugar pos = {x=965, y=929, z=7},level = 8,price = 10000}, ["trainers"] = { -- nome do lugar pos = {x=977, y=1003, z=9},level = 8,price = 10000}, ["equip"] = { -- nome do lugar pos = {x=977, y=1003, z=8},level = 8,price = 10000}, ["hunts"] = { -- nome do lugar pos = {x=1000, y=929, z=7},level = 8,price = 10000}, ["cassino"] = { -- nome do lugar pos = {x=986, y=1003, z=7},level = 8,price = 10000}, ["exclusiva"] = { -- nome do lugar pos = {x=1226, y=926, z=7},level = 8,price = 10000}, ["marvel"] = { -- nome do lugar pos = {x=1120, y=921, z=7},level = 8,price = 10000}, ["donate"] = { -- nome do lugar pos = {x=1410, y=914, z=7},level = 8,price = 10000}, ["quests"] = { -- nome do lugar pos = {x=849, y=922, z=7},level = 8,price = 10000} } --[[ Lista de Viagem (Não mexa) ]]-- if (param == "lista") then local str = "" str = str .. "lista de viagem :\n\n" for name, pos in pairs(lugar) do str = str..name.."\n" end str = str .. "" doShowTextDialog(cid, 6579, str) return TRUE end local a = lugar[param] if not(a) then local txt = "" for v,k in pairs(lugar) do txt = (txt == "") and "Os lugares são: "..v..", " or txt..v..", " end doPlayerPopupFYI(cid, txt) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.pz == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE elseif config.premium == true and not isPremium(cid) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players com premium account podem se teleportar.") return TRUE elseif config.battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler para poder se teleportar.") return TRUE elseif config.need_level == true and getPlayerLevel(cid) < a.level then doPlayerSendTextMessage(cid, 22, "Desculpe, você não tem level. voce precisa "..a.level.." level ou mais para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.custo == true and doPlayerRemoveMoney(cid, a.price) == FALSE then doPlayerSendTextMessage(cid, 22, "Desculpe, você nao tem dinheiro suficiente. Voce precisa "..a.price.." gp para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE end doTeleportThing(cid, a.pos) doSendMagicEffect(a.pos, CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, 22, "" .. getPlayerName(cid) .. " foi teleportado para: \n " .. param .. ".") return TRUE end
  7. Rusherzin postou uma resposta no tópico em Suporte Tibia OTServer
    Ele separa uma string de acordo com um determinado delimitador. Por exemplo, se tu usar essa função na seguinte string: local text = "oi, hi, privet" Dessa maneira: local text = "oi, hi, privet" local result = string.explode(text, ",") Dentro da variável result ficará uma tabela com os seguintes valores: result[1] = "oi" result[2] = "hi" result[3] = "privet" Enfim, a função tem dois parâmetros, o primeiro é uma string, que no exemplo acima era "oi, hi, privet" e o outro parâmetro é o delimitador, que nesse caso foi a vírgula.
  8. Funciona sim. Não entendi a pergunta, como faz o que com os itens?
  9. Já tentou usar o Object Builder? Nunca tive problemas com ele. https://github.com/ottools/ObjectBuilder/releases/download/v0.4.3/ObjectBuilder_0_4_3.zip
  10. Rusherzin postou uma resposta no tópico em Suporte Tibia OTServer
    houseRentPeriod pode ser "daily", "weekly", "monthly" e "annual". houseCleanOld limpa a casa se o cara não logar em X segundos. Botando 0 fica desabilitado, se tu botar 86400 é igual a 24 horas, ou seja, se o jogador ficar 24 horas sem logar, ele vai perder a casa.
  11. Tentei arrumar, testa com esse arquivo. (botei em anexo porque ele tem 900+ linhas e fica difícil de copiar) layout.php
  12. Pode trocar essa parte: <img src="images/items/1968.gif"> Por isso: <img src="images/items/'.$item['item_id'].'.gif"> Se os ids dos itens estiverem certos na pasta images/items, isso deve funcionar.
  13. Geralmente fica nesse arquivo, mas não achei nada a respeito do background. Tenta encontrar em qual arquivo ele puxa essa imagem que está no background.
  14. Não lembro ao certo, mas é em layouts/tibiacom, o nome é basic.css.
  15. Editou alguma coisa no css? Manda a parte do body {}.
  16. Okay, tinha mais coisas. Arrumei várias agora: local config = { Monsters = {"Rat", "Bug", "Spider"}, -- Monstros que podem ser encontrados Exhausted = 120, -- Tempo em segundos TimeStorage = 4640, Level = 20 -- Level Minimo } function onUse(cid, item, frompos, item2, topos) local player = Player(cid) local position = player:getPosition() if player:getStorageValue(config.TimeStorage) >= os.time() then player:sendCancel(cid, 'You can only look for monster again after '.. exhaustion.get(cid, 4640) .. ' seconds.') return true end if player:getLevel() >= config.Level then local randmonster = config.Monsters[math.random(1, #config.Monsters)] player:setStorageValue(config.TimeStorage, os.time() + config.Exhausted) player:SendTextMessage(MESSAGE_EVENT_ADVANCE, "You found a "..randmonster..".") Game.createMonster(randmonster, position) else player:sendCancel('You are too weak to look for monsters here, come back when you get level '.. level .. '.') end return true end
  17. Sem problemas. Para tirar o Account Manager, vá até o config.lua e mude accountManager de true para false. E ah, esqueci de dizer, se já tiver contas criadas que tu editou para "plain text", tem que criptografar elas novamente.
  18. Rusherzin postou uma resposta no tópico em Suporte Tibia OTServer
    Tenta botar o teu items.xml e o items.otb dentro da pasta da versão que está usando do Remere's. Remere's Map Editor\data\860\
  19. Okay, não tinha visto o outro. Agora acho que vai: local config = { Monsters = {"Rat", "Bug", "Spider"}, -- Monstros que podem ser encontrados Exhausted = 120, -- Tempo em segundos TimeStorage = 4640, Level = 20 -- Level Minimo } function onUse(cid, item, frompos, item2, topos) local player = Player(cid) local position = player:getPosition() if player:getStorageValue(TimeStorage) >= os.time() then player:sendCancel(cid, 'You can only look for monster again after '.. exhaustion.get(cid, 4640) .. ' seconds.') return true end if player:getLevel() >= config.Level then player:setStorageValue(TimeStorage, os.time() + Exhausted) player:SendTextMessage(MESSAGE_EVENT_ADVANCE, "You found a ".. Monsters[math.random(1, #Monsters)] ..".") Game.createMonster(Monsters[math.random(1, #Monsters)], position) else player:sendCancel('You are too weak to look for monsters here, come back when you get level '.. level .. '.') end return true end
  20. Isso é criptografia, serve para proteger as senhas. Se agora tu não usa mais Account Manager, aconselho que vá até o config.lua e coloque encryptionType de "plain" pra "sha1".
  21. local config = { Monsters = {"Rat", "Bug", "Spider"}, -- Monstros que podem ser encontrados Exhausted = 120, -- Tempo em segundos TimeStorage = 4640, Level = 20 -- Level Minimo } function onUse(cid, item, frompos, item2, topos) local player = Player(cid) local position = player:getPosition() if player:getStorageValue(TimeStorage) >= os.time() then player:sendCancel(cid, 'You can only look for monster again after '.. exhaustion.get(cid, 4640) .. ' seconds.') return true end if player:getLevel() >= config.Level then player:setStorageValue(TimeStorage, os.time + Exhausted) player:SendTextMessage(MESSAGE_EVENT_ADVANCE, "You found a ".. Monsters[math.random(1, #Monsters)] ..".") Game.createMonster(Monsters[math.random(1, #Monsters)], position) else player:sendCancel('You are too weak to look for monsters here, come back when you get level '.. level .. '.') end return true end
  22. Rusherzin postou uma resposta no tópico em Suporte Tibia OTServer
    Vai nos corpos que estão registrados no items.xml e veja em qual deles tem o id do livro nessa parte: <attribute key="decayTo" value="ID" /> Após isso, é só trocar o id do livro por 0.
  23. É só usar o item no monstro que o código vai pegar todas as informações usando o nome do monstro.
  24. Tirando a parte de dizer onde eles ficam, o resto eu sei fazer sem dar muito trabalho. <action itemid="IDITEM" event="script" value="monsterinfo.lua"/> function onUse(cid, item, fromPosition, itemEx, toPosition) if not isMonster(itemEx.uid) then return false end local races = {[1] = "venom", [2] = "blood", [3] = "undead", [4] = "fire", [5] = "energy"} local name = getCreatureName(itemEx.uid) local monsterinfo = getMonsterInfo(name) local lootarray = monsterinfo['loot'] local mname = "Name: "..name.."\n" local loot = (#lootarray >= 1) and "Loot:" or "Loot: \n - Empty \n" local health = "Health: "..monsterinfo['health'].."/"..monsterinfo['healthMax'].."\n" local experience = "Experience: "..monsterinfo['experience'].."\n" local race = "Race: "..races[monsterinfo['race']].."\n" local attackable = (monsterinfo['attackable'] == true) and "Attackable: Yes \n" or "Attackable: No \n" local summonable = (monsterinfo['summonable'] == true) and "Summonable: Yes \n" or "Summonable: No \n" local hostile = (monsterinfo['hostile'] == true) and "Hostile: Yes \n" or "Hostile: No \n" local illusionable = (monsterinfo['illusionable'] == true) and "Illusionable: Yes \n" or "Illusionable: No \n" for i=1, #lootarray do local lchance = ((lootarray[i]['chance'] * getConfigValue('rateLoot')) / 1000).."%" local litem = getItemNameById(lootarray[i]['id']) loot = loot.."\n - "..litem.." ["..lchance.."]" or litem.." - ["..lchance.."]" end local output = mname..health..experience..race..hostile..attackable..summonable..illusionable..loot doShowTextDialog(cid, item.itemid, output) return true end Esse código retorna as seguintes informações: Nome Vida / Vida Máxima Experiência Raça Hostil (sim/não) Atacável (sim/não) Sumonável (sim/não) Ilusionável (sim/não) Lista de loot (com a chance de drop levando em conta o rateLoot do servidor)
  25. You need to change your source code to let people walk through each other.

Informação Importante

Confirmação de Termo