Tudo que Naze postou
- 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.
-
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)
-
Exp Banner
Muito bom, logo irei testar.
-
AJUDA - Autoloot OTX
entra na lib e manda o auto_loot.lua de la ou as funções AutoLoot.Items e AutoLoot.getPlayerList(cid)
-
Aulas de Scripting Lua
Alguém consegue arrumar os links, esses tutoriais são os mais completo do tíbiaking.
-
[8.60] TFS 0.4 Rev3996 War & Cast
consegui em 14, mas tirei muitos erros, e depois tentei em 16 da um erro q não consegui resolver, vou testa novamente e posto o erro. Optei por troca de distro.