Ir para conteúdo

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. 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
  2. tá aumentando os pontos? O talkaction no caso seria o !ppoints? deu erro no console?
  3. 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!
  4. 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
  5. adiciona o sistema no seu server e me fala qq acontece, se tudo funcionar bem eu faço as talkactions pra ti
  6. 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
  7. 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 '-'
  8. 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
  9. 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/
  10. 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
  11. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    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
  12. 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
  13. 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.
  14. se deu tudo certo por favor clique em "Melhor resposta" pra que o tópico fique como resolvido fico feliz de ter ajudado
  15. adicionou <talkaction words="!revert;/revert" event="script" value="reverter.lua"/> ?? editei o script ali em cima, testa agora.
  16. 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
  17. quanto mais gente ajudar, melhor auhauhuha fico feliz que vc tenham gostado
  18. 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.
  19. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    esquece oque eu falei, confundi ~~~~
  20. 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)
  21. retira esse return false... se não der certo coloca return true no lugar. Daí testa usar o item com outras vocações, se não der tá pronto.
  22. 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
  23. 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?
  24. 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
  25. 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

Informação Importante

Confirmação de Termo