Tudo que Naze postou
- Gesior - Baiak-PvP 2020
-
Script exiva
O que passei é apenas a função, para usa-la no spells teria q ser de outra forma, ai você poderia usar o que mor3nao falou. Da forma que você tem atual o que você quer que seja feito se não usar tfs 1.3, seria apenas na forma que movie falou, pela sources, então talvez não é um trabalho que qualquer um vai fazer de graça, acho que vou adicionar no meu servidor isso, ai posto aqui mas tenho muito trabalho antes disso então pode tentar por conta, as informações que precisa ja tem.
-
Script exiva
Ele está em spells.cpp na source se tiver ela, existe a versão lua feita pelo LukeOake.
- bug account manager
-
(debate) Capacidade Otserver
Usando a TFS 0.5 Exclusive Edition, e Otx2, ocorreu um problema de consumo de CPU, ele não implicara com todos os servidor dependendo de suas configuração, para ele implica seu servidor teria q ter um limetPacket alto, maior que 150. Descobri pois quando atingia grande quantidade de player em meu servidor o consumo de CPU bate 100% e isso gerava lag e outros problema óbvios. Fiz teste com um char, quando ativo 'sd target', no elfbot pela shortkey acontece um grande envio de packets no servidor, e isso em uma CPU 2.2ghz, 3 núcleo o consumo aumentava de 8 a 10%, com mais char o aumento é menor 5%, mas agr imagine um server com 100 player já sofreria. Diminuir os packets resolveria, mas 80% dos player seria kickado em um ot baiak ou fastatk, então testei tfs 1.3 8.6 e esse problema não ocorre, minha alternativa foi passar o servidor pra ela.
-
(debate) Capacidade Otserver
Acredito que o conta mais é a otimização no servidor, e a hospedagem no Canadá é em conta de segurança contra ataques. Suporta player a vps hospedada aqui acho q não tem nenhuma limitação, mas os servidores que a usam normalmente não suporta por motivos internos. Tenho um bom exemplo de uma source considerada boa e acredito muito usada que tem um grande problema que implica a capacidade de player, fácil de testar se quiser explico.
- bug ao morrer
-
(Resolvido)erro teleporttiles.lua
coloque essa função na sua lib function getPosByDir(position, direction, size) local n = size or 1 if(direction == NORTH) then position.y = position.y - n elseif(direction == SOUTH) then position.y = position.y + n elseif(direction == WEST) then position.x = position.x - n elseif(direction == EAST) then position.x = position.x + n elseif(direction == NORTHWEST) then position.y = position.y - n position.x = position.x - n elseif(direction == NORTHEAST) then position.y = position.y - n position.x = position.x + n elseif(direction == SOUTHWEST) then position.y = position.y + n position.x = position.x - n elseif(direction == SOUTHEAST) then position.y = position.y + n position.x = position.x + n end return position end
-
Erro no client pra se conectar
Este tópico foi movido para a área correta. Esta é uma mensagem automática! Pedimos que leia as regras do fórum!
- Staff TibiaKing - Recrutamento
-
Critical Stone não funfa em Mages
passa seu weapons xml na parte das wands, ou me passa as info da wand que vc quer q funcione o critical e dodge
-
(Resolvido)Melhorando o ataque por reset
xD, define a melhor resposta pra dar como resolvido.
-
Critical Stone não funfa em Mages
aconselho vc fazer por Weapons, usando a mesma storage e fórmula do outro, quase como gabriel falou, mas aí no dele o dano tá a todo momento
-
Magias
O exhaust deve tá grande no spells, mas isso vc não vai conseguir resolver por completo sem mexer na source, pq as duas causa um exhaust compartilhado, q seria o não agressivo, mesmo q diminui para o mínimo, enquanto tiver soltando uma não vai poder solta a outra. Seria como SD e Potion, apesar de um ser magia e outro actions, eles compartilha o exhaust do itemEx, única forma é mudando na source e deixando tudo por storage, fiz assim em meu server. quiser te ajudo
-
(Resolvido)Melhorando o ataque por reset
editei lá
-
(Resolvido)Melhorando o ataque por reset
So coloca a storage do reset no lugar que ta escrito STORAGE, assim ele vai heala +1% cada reset, se quiser melhorar tem q refazer a formula local formula_min = -((lv* 4 + maglv*2) * 1.3) * fator local formula_max = -((lv* 4 + maglv*2) * 1.9) * fator o final '* fator' é a porcentagem a cada reset, entao se refizer ela, nao esquece de deixa o final dessa forma. function getPlayerReset(cid) local qr = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..getPlayerGUID(cid)..";") rss = qr:getDataInt("reset", getPlayerGUID(cid)) if rss < 0 then rss = 0 end return rss end local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) function getCombatFormulas(cid, lv, maglv) reset = getPlayerReset(cid) fator = (reset/100) +1 local formula_min = -((lv* 4 + maglv*2) * 1.3) * fator local formula_max = -((lv* 4 + maglv*2) * 1.9) * fator if(formula_max < formula_min) then local tmp = formula_max formula_max = formula_min formula_min = tmp end return formula_min, formula_max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
-
(Resolvido)Melhorando o ataque por reset
quer q cada reset aumenta quanto? porcentagem? ou valor fixo?
-
(Resolvido)[Ajuda] Itens só Healam quando desequipa
Todos itens seria quais? soft boots, desse tipo? ou algum item editado por vc? Quais ID?
-
Item de cura por tempo.
Ok, se alguem quiser desenvolvi um pra otx 2.x ou tfs 0.4 action/scripts: local cfg = { storage = 101214, time = 120*60 -- em minutos } function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, cfg.storage) > os.time() then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Ainda falta " .. math.ceil(((os.time() - getPlayerStorageValue(cid, cfg.storage))*(-1))/(60)) .. " minutos para encerrar o efeito e poder usar outra Amesthyst") return true end setPlayerStorageValue(cid, cfg.storage, os.time() + cfg.time) doPlayerSendTextMessage(cid, 22, " Agora você esta healando 2% de mana e life por " .. math.ceil(((os.time() - getPlayerStorageValue(cid, cfg.storage))*(-1))/(60)) .. " minutos não podendo usar outra Amethyst.") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return true end globalevents/scripts: local cfg ={ storage = 101214, pcent = 2 } function onThink(interval, lastExecution) for _, pid in pairs(getOnlinePlayers()) do pid = getPlayerByName(pid) if getPlayerStorageValue(pid, cfg.storage) > os.time() then life = getCreatureMaxHealth(pid) mana = getCreatureMaxMana(pid) heal = (mana/100)*cfg.pcent health = (life/100)*cfg.pcent if getCreatureHealth(pid) < life or getCreatureMana(pid) < mana then doCreatureAddHealth(pid, health) doCreatureAddMana(pid, heal) end end end return true end
-
Item de cura por tempo.
Qual sua distro?
-
(Resolvido)Tile por level
você está testando com char q lvl? manda o que vc tá colocando, não consigo testa agr mas não to vendo erro.
-
(Resolvido)Tile por level
Fiz na pressa nem percebi, ta arrumado la
-
(Resolvido)Tile por level
criar um arquivo level.lua em movements/scripts de seu ot e adicione isso: function onStepIn(cid, item, position, fromPosition) local min = 150 local max = 200 local lvl = getPlayerLevel(cid) if lvl < min and lvl > max then doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED) doPlayerSendCancel(cid,"Somente level maior que " .. min .. " e menor que ".. max .." podem passar aqui.") end return TRUE end e em movements.xml adiciona essa tag: <movevent type="StepIn" actionid="23001" event="script" value="level.lua"/> agora so adicionar a actionid 23001 nos tile q vc quer a restrição.
-
Sistema de Medalhões! Solicite aqui!
Tempo de Registro
-
Remover Item Melhorado
Bom, estava criando um script e me deparei com um problema a função doRemoveItem(uid) não funciona em addEvent, pelo fato de uid sempre ta variando a cada segundo. Então fiz essa versão que funciona com addEvent e sem necessidade de stackpos. Aos que não sabem como usar, adicione esse código no 050-function.lua da pasta lib de seu ot. removeItem(pos, item) -- pos = posição do item, item = id do item. exemplo: local pos, itemid = {x = 160, y = 54, z = 7}, 8753 removeItem(pos, itemid)