Tudo que FeeTads postou
-
Preciso Script para item(equipar SET + VOCATION)
Este tópico foi movido para a seção de Suporte Otserv Alternativo
-
exercise weapon com 0 charges
Este tópico foi movido para a seção de Suporte Otserv. existe o attribute "charges" no XML do item? se sim, o script que cria/entrega a arma pro player, está dando o attribute de charges? testa isso dando o atributo, provavelmente só está entregando o item sem setar carga, ai não gera mesmo
-
erro no upgrade
essa mensagem não existe nesse script, qual outros scripts de refine vc possui? se puder posta-los
-
Ajuda
quando vc salvar a sprite, ele gera um tibia.spr novo, vc ta abrindo o item editor com essa tibia.spr novo? pq só assim pra mostrar a sprite adicionada
-
(Resolvido)Manda memsagem pro default em verde não to conseguindo manda em verde.
então kkkkkk, não existe a função de mandar em verde no DEFAULT apenas no server log pra fazer isso seria necessário editar na distro as funções de struct message_t la no const.h e mais alguns arquivos
-
Erro Segmentation fault Crash Server
dei uma mexida, testa com esses arquivosGame.cpp E Game.h.zip
-
(Resolvido)Erro Mysql Acesso negado
provavelmente seu config.lua não está configurado com as informações certas do seu servidor verifica se o mysql ta como localhost mysql="localhost" e o sqlPass ta com a senha certa
-
(Resolvido)Shopsystem Global
acho que o teu erro é o mesmo desse, da uma olhada
-
(Resolvido)[AJUDA] Adicionar 2 storage ao usar item
meio que vc ja solucionou o seu problema kkkkkk vc quer que ele de a storage 91475 e disse que ele ja está ganhando a 90594 então basicamente vc precisa duplicar a linha e colocar a nova storage setPlayerStorageValue(cid, 90594, 1) setPlayerStorageValue(cid, 91475, 1) setPlayerStorageVaue significa = setar no jogador a storage ou seja cid = creature Id do jogador que está executando a ação} 91745 = numero da storage (aqui pode ser qualquer numero vc decide) 1 = valor da storage (aqui pode ser oq vc precisar tipo os.time(), ou guardar qualquer coisa)
-
Bank System [8.60] comando !saldo, !sacar, !depositar ( até no max 100 ) com id de x item
você n tem essa função na sua lib ou no script bota acima ela function getTimeString(self) local format = { {'dia', self / 60 / 60 / 24}, {'hora', self / 60 / 60 % 24}, {'minuto', self / 60 % 60}, {'segundo', self % 60} } local out = {} for k, t in ipairs(format) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' e ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find('segundo') then local a, b = ret:find(' e ') ret = ret:sub(b+1) end return ret end vai ficar assim o código:
-
Bank System [8.60] comando !saldo, !sacar, !depositar ( até no max 100 ) com id de x item
talkactions data > talkactions > scripts > newbank.lua ai regista no XML data > talkactions > talkactions.xml <talkaction words="/newbank; !newbank" event="script" value="newbank.lua"/> ai pra usar vc precisa digitar: !newbank balance > mostra o teu balance !newbank sacar e a quantidade > !newbank sacar 1000000 > saca a quantidade digitada !newbank deposit > deposita as moedas configuradas no script
-
Preciso de clients descompilados de NTO
Este tópico foi movido para a seção de Suporte Otserv.
-
(Resolvido)Script de Reborn (Wodbo)
esse erro no console "atempt do call global ..." significa que está tentando puxar um funçao da LIB que não existe. você não tem na LIB a função "doReborn" cola essa função em qualquer lib sua e reabra o OT function doReborn(cid, level, looktype, vocation) local playerID = getPlayerGUID(cid) setPlayerStorageValue(cid, 30023, 4) setPlayerStorageValue(cid, 30025, looktype) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+50250) setCreatureMaxMana(cid, getCreatureMaxMana(cid)+50250) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) doCreatureAddMana(cid, getCreatureMaxMana(cid)) if isCreature(cid) then doRemoveCreature(cid, true) end db.query("UPDATE `players` SET `level` = " .. level .. " WHERE `id` = " .. playerID .. ";") db.query("UPDATE `players` SET `looktype` = " .. looktype .. " WHERE `id` = " .. playerID .. ";") db.query("UPDATE `players` SET `vocation` = " .. vocation .. " WHERE `id` = " .. playerID .. ";") return TRUE end e use esse código aqui como reborn, otimizei ele pra outro DBO: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg:lower()) end function onThink() npcHandler:onThink() end local talkState = {} local config = { -- [voc atual] = {level apos reborn, looktype após reborn, pra qual vocação vai} [5] = {to_level = 8, looktype = 10, to_voc = 6}, [18] = {to_level = 8, looktype = 821, to_voc = 19}, [36] = {to_level = 8, looktype = 38, to_voc = 37}, [49] = {to_level = 8, looktype = 50, to_voc = 50}, [62] = {to_level = 8, looktype = 909, to_voc = 63}, [75] = {to_level = 8, looktype = 842, to_voc = 76}, [87] = {to_level = 8, looktype = 81, to_voc = 87}, [99] = {to_level = 8, looktype = 88, to_voc = 100}, [115] = {to_level = 8, looktype = 1373, to_voc = 116}, [131] = {to_level = 8, looktype = 113, to_voc = 132}, [144] = {to_level = 8, looktype = 50, to_voc = 145}, [156] = {to_level = 8, looktype = 128, to_voc = 157}, [168] = {to_level = 8, looktype = 144, to_voc = 169}, [181] = {to_level = 8, looktype = 153, to_voc = 182}, [210] = {to_level = 8, looktype = 169, to_voc = 211}, [222] = {to_level = 8, looktype = 180, to_voc = 223}, [234] = {to_level = 8, looktype = 194, to_voc = 235}, [248] = {to_level = 8, looktype = 205, to_voc = 249}, [260] = {to_level = 8, looktype = 212, to_voc = 261}, [272] = {to_level = 8, looktype = 221, to_voc = 273}, [284] = {to_level = 8, looktype = 227, to_voc = 285}, [296] = {to_level = 8, looktype = 235, to_voc = 297}, [308] = {to_level = 8, looktype = 246, to_voc = 309}, [320] = {to_level = 8, looktype = 257, to_voc = 321}, [332] = {to_level = 8, looktype = 265, to_voc = 333}, [344] = {to_level = 8, looktype = 277, to_voc = 345}, [356] = {to_level = 8, looktype = 285, to_voc = 357}, [368] = {to_level = 8, looktype = 296, to_voc = 369}, [380] = {to_level = 8, looktype = 302, to_voc = 381}, [392] = {to_level = 8, looktype = 308, to_voc = 393}, [404] = {to_level = 8, looktype = 321, to_voc = 405}, [417] = {to_level = 8, looktype = 335, to_voc = 418}, [429] = {to_level = 8, looktype = 347, to_voc = 430}, [441] = {to_level = 8, looktype = 357, to_voc = 442}, [453] = {to_level = 8, looktype = 368, to_voc = 454}, [465] = {to_level = 8, looktype = 375, to_voc = 466}, [482] = {to_level = 8, looktype = 578, to_voc = 483}, [503] = {to_level = 8, looktype = 556, to_voc = 504}, --pra inserir mais é só copiar e colar e mudar da mesma forma } local need_level = {200, 600} local rstorage = 149501 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local msg = string.lower(msg) local vocation = getPlayerVocation(cid) local t = config[vocation] local levelP = getPlayerLevel(cid) if isInArray({"reborn", "rebornar", "reset", "resetar"}, msg) then if getPlayerStorageValue(cid, 30023) == 4 then npcHandler:say("Desculpe! Você ja está rebornado!", cid) npcHandler:releaseFocus(cid) return true end if not t then npcHandler:say("Você precisa estar na ultima transformação para rebornar!", cid) return true end if t then if levelP < need_level[1] or levelP > need_level[2] then npcHandler:say("Apenas level 200 até 600 podem rebornar!", cid) return true else npcHandler:say("Você tem certeza que deseja rebornar?", cid) talkState[talkUser] = 1 end end elseif isInArray({"yes", "sim", "quero", "yeah"}, msg) and talkState[talkUser] == 1 then setPlayerStorageValue(cid, rstorage, getPlayerLevel(cid)) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) doReborn(cid, t.to_level, t.looktype, t.to_voc) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
AutoLoot Sources pra Otx2 (modificando o script do naze)
acho que funciona sim, tenta procurar as funções, ve se são parecidas, n custa tentar kkkkkk, mas creio que funciona sim.
-
spell sem exausted nem gasta mana
essa perca de mana não tem como tirar (até onde sei por .lua) pq ele ta descontando mana, como se fosse um hit no manashield. e na questão da mana gasta, até onde sei, só vai tirar a mana que tem. vc pode fazer um check tipo: local mana_gasta = 200 if getCreatureMana(cid) > mana_gasta then script.... else return false end mas como é o basico do tibia, não gasta mais do que tem, e não adiciona mais do que tem tbm kkkk
-
AutoLoot Sources pra Otx2 (modificando o script do naze)
esse não me engano funciona em tfs 0.x e OTX 2.x, em TFS 1.x, creio que eh usado o sistema de quick loot veja aqui. creio que esse autoloot funciona em qualquer TFS tbm, só testar, eh o mesmo do naze.
-
Otimizado: AutoLoot in Sources for Otx(2 ou menor)
arrumei em um script aki no TK mesmo
-
spell sem exausted nem gasta mana
local manaGasta = 200 doPlayerAddSpentMana(cid, manaGasta) doPlayerAddMana(cid,-manaGasta) caso não funcione tente com Creature: local manaGasta = 200 doPlayerAddSpentMana(cid, manaGasta) doCreatureAddMana(cid,-manaGasta)
- Como colocar Outfits.gif, no characters.php!?
-
(Resolvido)item que da dano adicional a arma equipada
ja fiz essa function uma vez, se não me engano foi pra um post seu, cuidado com post duplicado! NECESSÁRIO mudar o numero do "itemDeDano" pro id do seu item function isWeapon(uid) -- By Killua return getItemWeaponType(uid) ~= 0 end local itemDeDano = 1522 -- ID do item que irá no slot function onStatsChange(cid, attacker, type, combat, value) if not isPlayer(cid) then return false end if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and (combat ~= COMBAT_HEALING and value > 0) then local itemEquipado = getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid -- pega o ID do ring no slot local armaEquipadaEsquerda = getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid -- pega uid doq ta na mão esquerda local armaEquipadaDireita = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).uid -- pega uid doq ta na mão direita if isWeapon(armaEquipadaEsquerda) or isWeapon(armaEquipadaDireita) then -- se tiver arma na mão direita ou esquerda if itemEquipado and itemEquipado == itemDeDano then -- se tiver ring equipado E o ring for o escolhido local dano = value*0.5 -- 0.5 = 50% a mais de dano, 1 = 100% a mais.... local target = getCreatureTarget(cid) doTargetCombatHealth(cid, target, combat, -dano, -dano, 255) -- função de dar dano end end end return true end
-
Ajuda com mudança no Script de recompensa no Baú
Este tópico foi movido para a seção de Suporte Otserv. posta o script, e posta a sua necessidade mais especificada.
-
SERVER ON NO VPS, QUANDO VOU ENTRAR NA MINHA MAQUINA ABRE LISTA DE CHARACTER PORÉM NAO CONECTAR NO SERVER
ta dando algum erro no console?
-
SERVER ON NO VPS, QUANDO VOU ENTRAR NA MINHA MAQUINA ABRE LISTA DE CHARACTER PORÉM NAO CONECTAR NO SERVER
ta certo o IP no config.lua?
-
AJUDA FAZER UMA WAND/BOW/SWORD QUE ATAQUE 3X3
tu quer que todas as armas batam 3x3 mudando de elemento a cada hit?
-
AJUDA FAZER UMA WAND/BOW/SWORD QUE ATAQUE 3X3
só mudar la no weapons.xml o script da arma tipo <melee id="ID-DO-ITEM" level="8" unproperly="1" script="NOME-DO-SCRIPT.lua"/>