Ir para conteúdo
  • Cadastre-se

luanluciano93

Héroi
  • Total de itens

    5980
  • Registro em

  • Última visita

  • Dias Ganhos

    119

Tudo que luanluciano93 postou

  1. Se tiver tudo isso ai mesmo, é um ótimo servidor, parabéns por compartilhar ...
  2. Aquele meu reward system é baseado nisso.
  3. O fórum é tão auto explicativo e as pessoas não conseguem entender, pqp Como você imagina que alguém vai te ajudar sem o código cara? mano do céu
  4. if targetTier > 0 and rand > chance[targetTier] then
  5. Nessa versão de TFS não sei como fazer isso, sei apenas que deathList[1] é quem deu o último ataque e deathList[2] quem deu mais damage.
  6. local forge = Action() local count = 1 local porcentagem = 100 -- porcentagem de chance de forjar local chance = { -- cada id significa 10% de chance de acerto [1] = 100, [2] = 90, [3] = 80, [4] = 70, [5] = 60, [6] = 50, [7] = 40, [8] = 30, [9] = 20, [10] = 10 } function forge.onUse(player, item, fromPosition, target, toPosition, isHotkey) if not target or not target:isItem() then return false end if not target:remove(count) then player:sendTextMessage(MESSAGE_STATUS_SMALL, "Voce nao tem a quantidade de items necessaria para forjar.") player:getPosition():sendMagicEffe
  7. É o que eu disse aqui: Você tem que ver uma forma de como fazer isso ... quais os tipos de itens aceitar ou não, eu não conheço o sistema, já te dei quase tudo pronto.
  8. local forge = Action() local count = 1 local porcentagem = 100 -- porcentagem de chance de forjar local chance = { -- cada id significa 10% de chance de acerto [1] = 100, [2] = 90, [3] = 80, [4] = 70, [5] = 60, [6] = 50, [7] = 40, [8] = 30, [9] = 20, [10] = 10 } function forge.onUse(player, item, fromPosition, target, toPosition, isHotkey) if not target or not target:isItem() then return false end local targetId = target:getId() local targetTier = target:getTier() if not targetTier then player:sendTextMessage(MESSAGE_STATUS_SMALL, "Este nao
  9. local items = {itemid = 2160, count = 50, chance = 100} local town_id = 12 function onDeath(cid, corpse, deathList) local chest = doCreateItemEx(2595) doAddContainerItem(chest, items.itemid, items.count) for i = 1, #deathList do if isPlayer(deathList[i]) then doPlayerSendTextMessage(deathList[i], MESSAGE_INFO_DESCR, "Parabens! Voce matou o " .. getCreatureName(cid) .. "!") doPlayerSendMailByName(getPlayerName(deathList[i]), chest, town_id) end end return true end
  10. - Você não precisar fazer uma lista dos items usados na forja (local craft.items = {}) pq no caso ele será o item usado: function forget.onUse(player, item, fromPosition, target, itemEx, toPosition) - Você precisa usar um item que abre a opção de "targetar" outro item (aquela setinha quando clica com o botão direito), isso é de cada item e ele fica definido dentro do cliente e só pode ser alterado pelo object builder, caso seu cliente seja customizado. - Antes de remover o item 100x usado na forja, você precisa verificar se o item é válido para forjar. Aqui no primeiro sc
  11. Primeiramente você deve verificar que a função usada será uma OnUse, ou seja, ela ativará "ao usar" um item (neste caso). Procure a estrutura da função que iremos usar no tutorial abaixo do projeto TFS: https://github.com/otland/forgottenserver/wiki/Revscriptsys Basicamente seu script terá essa composição: funcao AoUsar() - verificação se você tem 100x do item usado - verificação se o target é um item válido - condição para remover o item usado 100x - fazer um random da porcentagem de acerto - se o random por favorável, verificar o nível Tier do item target e
  12. Na verdade, a regra aceita 4 jogadores por IP, então a mensagem iria ao 4 jogador ... local maxAccPorIp = 4 local creatureevent = CreatureEvent("anti_mc") function creatureevent.onLogin(player) local mc = 0 for _, check in ipairs(Game.getPlayers()) do if player:getIp() == check:getIp() then mc = mc + 1 if mc > AccForIp then return false end end end if mc == AccForIp then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, "Você atingiu o limite máximo de " .. AccForIp .. " jogadores por IP.") end return true end creatureevent:register()
  13. No caso, a função onLogin, se ela retornar falso (return false) o jogador nem entra no jogo. No exemplo que você colocou, o personagem entra no jogo e, assim, é criado um AddEvent para desconectar o jogador após alguns segundos. O problema é que toda essa preocupação que os OT Admins têm de bloquear o acesso de mais de 4 jogador com o mesmo IP é por conta de regras da OTSERVLIST (que pode te dar BAN de 30 dias da lista, caso isso aconteça) Não sei ao certo a forma que a OTSERVLIST faz essa verificação, então não posso dizer que você pode liberar a entrada de mais de 4 jogador po
  14. local maxAccPorIp = 4 local creatureevent = CreatureEvent("anti_mc") function creatureevent.onLogin(player) local mc = 0 for _, check in ipairs(Game.getPlayers()) do if player:getIp() == check:getIp() then mc = mc + 1 if mc > maxAccPorIp then return false end end end return true end creatureevent:register()
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo