
Tudo que xWhiteWolf postou
-
(Resolvido)Items nao passam no teleport (tp)
seu problema tá aqui: if isPlayer(cid) then ele tá configurado pra teleportar apenas players... modificando teremos: local train = {x=32238, y=32233, z=7} function onStepIn(cid, item, position, fromPosition) doTeleportThing(cid,train) doSendMagicEffect(getThingPos(cid),CONST_ME_TELEPORT) if item.actionid == 2123 then --AbDendriel setPlayerStorageValue(cid,100108, 1) elseif item.actionid == 2124 then --Ankrahmun setPlayerStorageValue(cid,100109, 1) elseif item.actionid == 2125 then --Carlin setPlayerStorageValue(cid,100110, 1) elseif item.actionid == 2126 then --Darashia setPlayerStorageValue(cid,100111, 1) elseif item.actionid == 2127 then --Edron setPlayerStorageValue(cid,100112, 1) elseif item.actionid == 2128 then --Kazordoon setPlayerStorageValue(cid,100113, 1) elseif item.actionid == 2129 then --Liberty Bay setPlayerStorageValue(cid,100114, 1) elseif item.actionid == 2130 then --Port Hope setPlayerStorageValue(cid,100115, 1) elseif item.actionid == 2131 then --Svargrond setPlayerStorageValue(cid,100116, 1) elseif item.actionid == 2132 then --Thais setPlayerStorageValue(cid,100117, 1) elseif item.actionid == 2133 then --Venore setPlayerStorageValue(cid,100118, 1) elseif item.actionid == 2134 then --Yalahar setPlayerStorageValue(cid,100119, 1) end end
-
[PEDIDO] Points system
tá aumentando os pontos? O talkaction no caso seria o !ppoints? deu erro no console?
-
Glacier Set dando conditions em área
vc colocou tudo certo, inclusive no login. lua o register event? Lembra que é 20% de chance de ativar ao levar 300+ de dano então vc tem que levar + de 300 várias vezes.. ou vc aumenta a chance ou vc diminui a vida necessária.. tudo isso no começo do script!
-
[PEDIDO] Points system
fala !points e diminui o tempo pra um minuto no global events... se der tudo certo sem bug nenhum me avisa que eu edito esse sistema pra ficar do jeito que vc quer
-
[PEDIDO] Points system
adiciona o sistema no seu server e me fala qq acontece, se tudo funcionar bem eu faço as talkactions pra ti
-
Como colocar maximo de contas logadas por IP?
então, mas tem uns servers que ja tem isso na config.lua uhauhau em todo caso o script que vc postou tá correto então o problema ja tá resolvido
-
[PEDIDO] Points system
remove a parte do tempo online e faz duas talkactions que usem as funções doPlayerAddPoints(cid, quant) doPlayerRemovePoints(cid, quant) pra remover a parte de por tempo online é só não instalar o global events '-'
-
Como colocar maximo de contas logadas por IP?
se não me engano em alguns server dá pra configurar isso no global.lua, em todo caso se no seu não tiver nada de maxPlayers by ip dá uma mudada nisso daqui: onePlayerOnlinePerAccount = true allowClones = false só vai permitir 1 player por conta e não vai permitir que 2 caras entrem no mesmo char
-
[PEDIDO] Points system
se vc mudar o nome das talkactions fica exatamente igual oque vc pediu: http://www.tibiaking.com/forum/topic/8183-system-pontos-p-points-system/
-
(Resolvido)Pedido scripter revert
vai em creaturescripts\script\login.lua e antes do ultimo return true adicione isso: local g1 = {lookType = 164, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local g2 = {lookType = 38, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local v1 = {lookType = 132, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local v2 = {lookType = 134, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local Vocations = { -- GOKU 6, 10, --VEGETA 149, 153 } if getPlayerVocation(cid) == Vocations[1] then doSetCreatureOutfit(cid, g1, -1) elseif getPlayerVocation(cid) == Vocations[2] then doSetCreatureOutfit(cid, g2, -1) elseif getPlayerVocation(cid) == Vocations[3] then doSetCreatureOutfit(cid, v1, -1) elseif getPlayerVocation(cid) == Vocations[4] then doSetCreatureOutfit(cid, v2, -1) end
-
Erro Na Spell
o cara não responde, não dá pra ajudar gente assim auhauhauh seja mais específico colega, fala os erros na distro, fala oque aconteceu.. explica oque você alterou e oque aconteceu em seguida. Seria muito mais fácil a gente testar no seu server e te dar as respostas mas como isso não é possível você tem que cooperar
-
Duvida no Evento Team Battle (MOD)
não envia porque vc removeu a função que enviava pra waiting room ué auhauhauh se os caras falaram que dava certo era pra dar certo
-
Duvida no Evento Team Battle (MOD)
o erro que tá dando é nisso daqui (no final do script) teleportToWaitRoom(cid) ele tá executando uma função que você removeu, logo, você deverá remover essa parte também.
-
(Resolvido)Pedido scripter revert
se deu tudo certo por favor clique em "Melhor resposta" pra que o tópico fique como resolvido fico feliz de ter ajudado
-
(Resolvido)Pedido scripter revert
adicionou <talkaction words="!revert;/revert" event="script" value="reverter.lua"/> ?? editei o script ali em cima, testa agora.
-
(Resolvido)Pedido scripter revert
não testei mas deve funcionar sem problemas local Vocations = { -- GOKU 224, 6, 225, 10, --VEGETA 226, 149, 227, 153 } local g1 = {lookType = 164, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local g2 = {lookType = 38, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local v1 = {lookType = 132, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} local v2 = {lookType = 134, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 3} function onSay(cid, words, param, channel) if getPlayerVocation(cid) == Vocations[1] then doPlayerSetVocation(cid, Vocations[2]) doSetCreatureOutfit(cid, g1, -1) elseif getPlayerVocation(cid) == Vocations[3] then doPlayerSetVocation(cid, Vocations[4]) doSetCreatureOutfit(cid, g2, -1) elseif getPlayerVocation(cid) == Vocations[5] then doPlayerSetVocation(cid, Vocations[6]) doSetCreatureOutfit(cid, v1, -1) elseif getPlayerVocation(cid) == Vocations[7] then doPlayerSetVocation(cid, Vocations[8]) doSetCreatureOutfit(cid, v2, -1) else doPlayerSendCancel(cid, "You can't revert a fusion since you're not in a fusion state.") return true end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have reverted your fusion.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_RED) return TRUE end
- Sistema de Reset 100%
-
Sistema de Reset 100%
Fala galera do TK, hoje vim pra trazer pra vocês um npc criado por mim e pelo Nogard numa madrugada aí para solucionar a dúvida de um cara no suporte. Eu dei uma melhorada no script original, tirei umas coisas repetidas e adicionei novas funções; Você agora pode configurar se quer que o preço aumente a cada reset, se quer que o level pra resetar aumente e se vc quer que a vida resete junto (e quanto % da vida atual será a vida após resetar). Testado em TFS 0.3.6, Versão 8.45 Sem mais delongas, vamos ao script. Antes de tudo crie um arquivo chamado reseter.lua na pasta data\npc\scripts\ e coloque isso daqui dentro dele: Você pode editar tudo mexendo aqui: local config = { minlevel = 150, --- level inical para resetar price = 10000, --- preço inicial para resetar newlevel = 20, --- level após reset priceByReset = 0, --- preço acrescentado por reset percent = 100, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) levelbyreset = 0 --- quanto de level vai precisar a mais no próximo reset } Feito isso, crie agora o npc que irá utilizar esse script.. em data\npc crie um arquivo.xml chamado Reseter.xml e coloque isso dentro dele: Agora é só colocar o seu npc no mapa pelo mapa editor e curtir OBS 1: Se seu server for 8.6 ou maior troque no script.lua as funções db.executeQuery por db.query OBS 2: Esse script dava pra ser diminuido ainda mais mas por hora deixa ele assim, se vc tiver alguma proposta melhor por favor poste nos comentários que eu testo a sua versão e edito o tópico se for o caso. OBS 3: Não remova os créditos, isso é a coisa mais baixa e suja que alguém pode fazer.. eu scripto pra ajudar a comunidade do Tibia a evoluir e libero 99% doque eu faço, se vocês não removerem os créditos e não postarem em outros fórums sem minha permissão isso pode continuar assim. --- EDIT: Coloquei algumas imagens pra vcs verem como fica no server EDIT: Arrumei o problema de o npc não dar bye automáticamente qnd o player se afasta, bugando em algumas versões e impedindo de conversar com outros npcs. Apenas substituam o arquivo em scripts pela versão atualizada, grato. EDIT2: Novos erros arrumados, agora o NPC dá bye automaticamente e não buga qnd te reseta. EDIT3: Resolvido bug de dar hi, reset, yes várias vezes e derrubar o servidor (troque tanto o xml qnt o script do npc) O script também foi identado.
-
[pedido] look
esquece oque eu falei, confundi ~~~~
-
[DÚVIDA] SQLiteStudio ERROR!
vc tem que abrir o SQL studio, abrir sua database e executar esse comando: ALTER TABLE `accounts` ADD `vip_time` INT NOT NULL; caso vc não faça isso vai dar errado. Pra executar isso vc precisa ir no query editor (é um icone com sinal de raiozinho)
- ItemWeight X, muda SpeedAttack ou Vocation
-
Glacier Set dando conditions em área
muito legal esse outro modo que você utilizou, realmente, com alguns laços e umas tables o script fica infinitas vezes melhor de se mexer.. obrigado pela ajuda max.. só vou corrigir umas coisinhas que acho que vc esqueceu: --[[Script made 100% by Night Wolf and Nogard do not remove the fucking credits or I may kill you and practice necrofily with your filthy body]] --condição que irá adicionar local gelo_condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(gelo_condition, CONDITION_PARAM_TICKS, 10000) setConditionFormula(gelo_condition, -0.9, 0, -0.9, 0) local frigo = createConditionObject(CONDITION_FREEZING) setConditionParam(frigo, CONDITION_PARAM_DELAYED, 1) addDamageCondition(frigo, 5, 2000, -300) addDamageCondition(frigo, 5, 2000, -200) addDamageCondition(frigo, 5, 2000, -100) local config = { percent = 5, -- se vc quiser 20%, coloque 5 pois 1/5 = 0,2 (20%) valorvida = 300, -- quanto deve ser o valor minimo de vida a perder para executar o script itemid = 7897, -- id do item que deverá ser equipado para ativar o gelo place = 4, -- posição que o item deve estar para funcionar, cheque na tabela abaixo set = { [CONST_SLOT_HEAD] = 7902, -- Helmet [CONST_SLOT_NECKLACE] = 7888, -- Amuleto [CONST_SLOT_LEGS] = 7896, -- Legs [CONST_SLOT_FEET] = 7892, -- Boots }, -- Tabela de slots possíveis -- CONST_SLOT_HEAD (1) = helmet -- CONST_SLOT_NECKLACE (2) = necklace slot (amulet of loss etc.) -- CONST_SLOT_BACKPACK (3) = backpack, bag -- CONST_SLOT_ARMOR (4) = armor -- CONST_SLOT_LEFT (5) = left hand (its really hand placed >> (right page on screen)) -- CONST_SLOT_RIGHT (6) = right hand (its really hand placed << (left page on screen)) -- CONST_SLOT_LEGS (7) = legs -- CONST_SLOT_FEET (8) = boots -- CONST_SLOT_RING (9) = ring slot -- CONST_SLOT_AMMO (10) = ammo slot (arrows etc.) } function canEffect(pos, pz, proj) -- Night Wolf based on Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 1, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end local function isUsingSet(cid, set) for slot, item_id in pairs(set) do if getPlayerSlotItem(cid, slot).itemid ~= item_id then return false end end return true end local predef_effect_on = { {x = 0, y = -2}, {x = 0, y = 2}, {x = -2, y = 0}, {x = 2, y = 0}, {x = -2, y = -1}, {x = 2, y = -1}, {x = 2, y = 1}, {x = -2, y = 1}, {x = -1, y = -2}, {x = 1, y = -2}, {x = 1, y = 2}, {x = -1, y = 2}, } local predef_condition_on = { --- predef_effect_on {x = 0, y = -2}, {x = 0, y = 2}, {x = -2, y = 0}, {x = 2, y = 0}, {x = -2, y = -1}, {x = 2, y = -1}, {x = 2, y = 1}, {x = -2, y = 1}, {x = -1, y = -2}, {x = 1, y = -2}, {x = 1, y = 2}, {x = -1, y = 2}, {x = 0, y = -1}, {x = 0, y = 1}, {x = -1, y = 0}, {x = 1, y = 0}, {x = -1, y = 1}, {x = -1, y = -1}, {x = 1, y = -1}, {x = 1, y = 1}, } function onStatsChange(cid, attacker, type, combat, value) if getPlayerSlotItem(cid, config.place).itemid == config.itemid then if type == STATSCHANGE_HEALTHLOSS and value >= config.valorvida then if math.random (1, config.percent) == 1 then local pos = getPlayerPosition(cid) for _, add_pos in ipairs(predef_condition_on) do local cPos = {x = pos.x + add_pos.x, y = pos.y + add_pos.y, z = pos.z} local mob = getTopCreature(cPos).uid doAddCondition(mob, gelo_condition) if isUsingSet(cid, config.set) then if isMonster(mob) and canEffect(cPos) then doAddCondition(mob, frigo) end doSendMagicEffect(cPos, 43) end end for _, add_pos in ipairs(predef_effect_on) do local ePos = {x = pos.x + add_pos.x, y = pos.y + add_pos.y, z = pos.z} if canEffect(ePos) then doSendMagicEffect(ePos, 41) end end end end end return true end
-
Glacier Set dando conditions em área
o script foi testado e feito pra 8.54, eu não sei oque mudou de 8.4 pra 8.54 mas foi provavelmente alguma função utilizada nesse script pra não ter funcionado... deu algum erro no console?
-
Melhorando o dano de ataque e magia por reset
pra ataque físico eu não sei, vc poderia editar o sistema de reset pra dar determinadas skills/ml/shield dependendo da vocação, caso vc não esteja interessado nisso você teria que retirar a linha da formula de todas as suas spells/runas (SIM, TODAS) e manuel colocar a fórmula dessa maneira aqui: function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack, level / 5 return -(skillTotal * 1.5 + levelTotal), -(skillTotal * 2.5 + levelTotal) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") feito isso era só editar function onGetFormulaValues(cid, level, skill, attack, factor) local k = getPlayerStorageValue(cid, STORAGE DOS RESETS) local skillTotal, levelTotal = skill + attack, level / 5 return -(skillTotal * 1.5 + levelTotal)-(skillTotal * 1.5 + levelTotal)*(k*0.1), -(skillTotal * 2.5 + levelTotal)-(skillTotal * 2.5 + levelTotal)*(k*0.1) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") perceba que aqui o dano aumentará por 10% do numero de resets , então se o player tiver 100 resets, o dano será 10 vezes maior
-
[ERRO] Item Não Da Skills
faltou colocar isso no movements.xml: <movevent type="Equip" itemid="11408" slot="armor" event="function" value="onEquipItem"> <movevent type="DeEquip" itemid="11408" slot="armor" event="function" value="onDeEquipItem"/> todo item que vc editar vc tem que procurar pra ver se tem essa tag no movements.xml, e, caso não tenha, você deve colocá-la