Tudo que luanluciano93 postou
- Instalando o NGINX no Ubuntu 22.04
- Tutorial completo de infraestrutura para montar um servidor TFS 1.x no Ubuntu 22.04
-
Boss drope dp
teria que modifica-lo
- Global 8.6 com varias atualizações do 12
-
[ERROR] Sistema de loteria
não estou, abraços
- Global 8.6 com varias atualizações do 12
-
Forja System Global
.
-
Boss drope dp
Aquele meu reward system é baseado nisso.
-
[ERROR] Sistema de loteria
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
-
Procuro alguem pra ajudar a criar um server tenho dedicado ja so falta um base pra trabalhar em cima alguem?
Cuidado, é assim que "vazam" os projetos de anos ...
-
Forja System Global
if targetTier > 0 and rand > chance[targetTier] then
-
Boss drope dp
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.
-
Forja System Global
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():sendMagicEffect(CONST_ME_POFF) return false end local rand = math.random(100) local targetTier = target:getTier() and target:getTier() or 0 if rand > chance[targetTier] then player:sendTextMessage(MESSAGE_STATUS_SMALL, "Voce forja falhou.") player:getPosition():sendMagicEffect(CONST_ME_POFF) return false end if targetTier > 0 then if target:setTier(targetTier + 1) then player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Parabens, o item foi forjado.") player:getPosition():sendMagicEffect(50) else player:sendTextMessage(MESSAGE_STATUS_SMALL, "Este item nao pode ser forjado.") player:getPosition():sendMagicEffect(CONST_ME_POFF) return false end else if target:setTier(1) then player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Parabens, o item foi forjado.") player:getPosition():sendMagicEffect(50) else player:sendTextMessage(MESSAGE_STATUS_SMALL, "Este item nao pode ser forjado.") player:getPosition():sendMagicEffect(CONST_ME_POFF) return false end end return true end forge:id(24963) forge:register()
-
Forja System Global
É 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.
-
Forja System Global
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 e um item Forjavel.") player:getPosition():sendMagicEffect(CONST_ME_POFF) return true end if not target:remove(count) then player:sendTextMessage(MESSAGE_STATUS_SMALL, "Voce nao tem a quantidade de items necessaria para forjar") player:getPosition():sendMagicEffect(CONST_ME_POFF) return true end local rand = math.random(100) local chanceTier = target:getTier() and target:getTier() or 0 if rand > chance[chanceTier] then player:sendTextMessage(MESSAGE_STATUS_SMALL, "Voce forja falhou") player:getPosition():sendMagicEffect(CONST_ME_POFF) return true end if target:setTier(targetTier + 1) then player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Parabens, o item foi forjado.") player:getPosition():sendMagicEffect(50) end return true end forge:id(24963) forge:register()
-
Boss drope dp
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
-
Forja System Global
ótimo ...
-
Forja System Global
- 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 script que você colocou não tem a verificação de é um item válido para forjar, e particularmente, não sei como funciona o sistema ... também não sei se as suas sources faz essa verificação ... (faça um teste, tente criar um item "meat" tier 10, por exemplo)
-
Forja System Global
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 somar 1 nível fim Eu poderia fazer para você, mas nenhum de nós dois ganharíamos nada com isso, portanto, procure nos scripts OnUse (actions) exemplos dessas condições, como verificar se o jogador tem X item em certa quantidade, verificar o target do item, função para verificar se tal ITEM ID é realmente um ITEM válido (no caso, creio que seja HELMET, ou ARMOR, ou LEGS, ou BOOTS, ou SHIELD?!, ou o que mais quiser ... ), condição para remover X item em certa quantidade, random de porcentagem de acerto, funções de retornar o valor atual do Tier do item e função para trocar o nível atual ... acho que é isso.
-
[TFS 1.5 - 8.60] New TFS Downgrade
não
-
Conversao Script Ant Mc para Revscript
troca isso ai por local AccForIp=
-
Conversao Script Ant Mc para Revscript
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()
-
Conversao Script Ant Mc para Revscript
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 por IP mesmo que por alguns segundos ... Espero que tenha entendido.
-
Conversao Script Ant Mc para Revscript
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()
-
[TFS 1.X] Dodge & Critical System
Deve estar em revscript ... data/scripts/ ....