Tudo que DukeeH postou
-
(Resolvido)Suporte nesse script
function onSay(cid, words, param) --[Vocation] = ( Nova Vocation, New Outfit ) local config = { -- Goku [473] = {499, 560}, -- Vegeta [474] = {500, 567}, -- Piccolo [44] = {501, 553}, -- C17 [56] = {531, 559}, -- Gohan [70] = {502, 559}, -- Trunks [490] = {503, 565}, -- Cell [94] = {504, 575}, -- Freeza [110] = {505, 551}, -- Majin Boo [475] = {528, 581}, -- Broly [980] = {506, 558}, -- C18 [151] = {507, 554}, -- Uub [163] = {529, 582}, -- Goten [177] = {508, 561}, -- Chibi Trunks [191] = {509, 561}, -- Cooler [205] = {510, 573}, -- Dende [217] = {511, 552}, -- Tsuful [229] = {512, 569}, -- Bardock [243] = {513, 552}, -- Kuririn [255] = {514, 542}, -- Pan [267] = {515, 543}, -- Kaio [279] = {516, 583}, -- Videl [291] = {530, 605}, -- Janemba [491] = {517, 576}, -- Tenshinhan [315] = {518, 580}, -- Jenk [327] = {519, 562}, -- Raditz [981] = {520, 564}, -- C16 [351] = {521, 555}, -- Turles [382] = {522, 566}, -- Bulma [375] = {523, 578}, -- Shenron [376] = {524, 577}, -- Vegetto [399] = {525, 568}, -- Tapion [476] = {498, 596}, -- Kame [424] = {526, 536}, -- King Vegeta [984] = {497, 563}, -- Kagome [448] = {496, 571}, -- Zaiko [477] = {495, 572}, -- Chilled [492] = {494, 574}, -- C8 [489] = {527, 579}, --Goku Black [540] = {541, 656}, --Golden Freeza [550] = {551, 586}, --Bills [560] = {561, 584}, --Zamasu [854] = {563, 614}, --Goku Black Evo [639] = {640, 655} } local voc = config[getPlayerVocation(cid)] local level = 800 if not voc then return true end local outfit,newvoc = {lookType = voc[2]},voc[1] if getPlayerLevel(cid) >= level then if getPlayerStorageValue(cid,99023) == 4 then if getPlayerStorageValue(cid, 1240) < os.time() then doCreatureChangeOutfit(cid, outfit) doPlayerSetVocation(cid, newvoc) setPlayerStorageValue(cid,1240,os.time()+5) doPlayerSendTextMessage(cid, 27, "Voce virou GOD") end else return doPlayerSendTextMessage(cid, 27, "Você nao é um GOD...") end else return doPlayerSendTextMessage(cid, 27, "Você precisa de level "..level.." para evoluir.") end return true end Só alterar onde esta local level = 800
-
Uma Arma, Mais Ataque diferente pra cada vocation.
Manda uma foto do erro ou copia ele todo? Valeu
-
(Resolvido)Exhaust de magia UE interferindo no exhaust de runas
Estranho cara, na função ele pega a hora atual e põem +10 segundos. Ai na parte que checa ele vê se o storage - hora atual é igual a 0. Essa parte não tem como estar errado, não da erro?
-
(Resolvido)Exhaust de magia UE interferindo no exhaust de runas
Opa, não tinha visto que respondeu, lembra de citar a minha resposta, ai sou avisado que você respondeu aqui no post. O spells.lua fica assim: <instant name="Rage of the Skies" words="exevo gran mas vis" lvl="55" mana="650" selftarget="1" prem="1" exhaustion="0" needlearn="0" event="script" value="attack/rage of the skies.lua"> <vocation id="1"/> <vocation id="5"/> </instant> O Rage of the skies.lua fica assim: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_BIGCLOUDS) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 8, 8, 10, 12) local area = createCombatArea(AREA_CROSS6X6) setCombatArea(combat, area) function onCastSpell(cid, var) if getPlayerStorageValue(cid, 3200) <= 0 then setPlayerStorageValue(cid, 3200, os.time()+10000) return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "You are exhausted.") end return TRUE end Agora vou explicar o que mudei pra que você possa fazer nas outras magias que quiser e adaptá-las. A única parte que mudei foi a parte do onCastSpell. Você adiciona "if getPlayerStorageValue(cid, 3200) <= 0 then" para checar se o storage 3200 esta igual ou menor a 0. Embaixo você adiciona "setPlayerStorageValue(cid, 3200, os.time()+10000)" que caso o storage acima esteja igual ou menor a 0 ele adiciona 10s de exhaust. Então o return doCombat (que é o que faz a magia sair, já estava no script) O else serve como "se não" como uma condição contraria ao storage 3200 ser maior que 0 (faz menos de 10 segundos que o player soltou a magia) Então vem um doPlayerSendCancel que vai falar que o player esta em exhausted caso tenha soltado a magia a menos de 10 segundos. o end pra fechar aquele primeiro if (getPlayerStorageValue). E o return true que não sei se é necessário. Então, espero que tenha entendido o que fiz, assim você tem liberdade para fazer como quiser com as outras spell. Caso queira que o exevo gran mas vis só exhauste com o mas flam, faça essa alteração no mas vis e mas flam, usando o storage 3200 nos dois. (Mesmo storage, mesmo exhaust) Se você quiser que por exemplo, dê pra soltar exori vis, exevo gran mas vis e sd ao mesmo tempo, use o storage 3200 no mas vis, o 3201 no exori vis e a sd pode manter o exhaust do spells.xml
-
Uma Arma, Mais Ataque diferente pra cada vocation.
weapons/weapons.xml <melee id="XXXX" level="100" unproperly="1" event="script" value="arma.lua"/> weapons/scripts/arma.lua function onUseWeapon(cid, var) local position = getCreaturePosition(cid) local target = variantToNumber(var) local playerTarget = getCreatureTarget(cid) local level = getPlayerLevel(cid) local magic = getPlayerMagLevel(cid) if(target ~= 0) then if (getPlayerVocation(cid) == 1 and getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(playerTarget) <= 2)) then local dmgMin = (300 + (magic * 1.5)) local dmgMax = (350 + (level * 1.8)) ret = doTargetCombatHealth(cid, playerTarget, COMBAT_PHYSICALDAMAGE, -dmgMin, -dmgMax, CONST_ME_TELEPORT) and doSendDistanceShoot(position, getCreaturePosition(playerTarget), CONST_ANI_ENERGYBALL) end if (getPlayerVocation(cid) == 2 and getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(playerTarget) <= 2)) then local dmgMin = (300 + (magic * 1.5)) local dmgMax = (350 + (level * 1.8)) ret = doTargetCombatHealth(cid, playerTarget, COMBAT_PHYSICALDAMAGE, -dmgMin, -dmgMax, CONST_ME_SMALLPLANTS) and doSendDistanceShoot(position, getCreaturePosition(playerTarget), CONST_ANI_POISON) end if (getPlayerVocation(cid) == 3 and getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(playerTarget) <= 5)) then local dmgMin = (260 + (level * 2.1)) local dmgMax = (360 + (level * 2.3)) ret = doTargetCombatHealth(cid, playerTarget, COMBAT_PHYSICALDAMAGE, -dmgMin, -dmgMax, CONST_ME_HOLYDAMAGE) and doSendDistanceShoot(position, getCreaturePosition(playerTarget), CONST_ANI_SMALLHOLY) end if (getPlayerVocation(cid) == 4 and getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(playerTarget) <= 1)) then local dmgMin = (310 +(level * 2.7)) local dmgMax = (420 +(level * 3.2)) ret = doTargetCombatHealth(cid, playerTarget, COMBAT_PHYSICALDAMAGE, -dmgMin, -dmgMax, CONST_ME_GROUNDSHAKER) and doSendDistanceShoot(position, getCreaturePosition(playerTarget), CONST_ANI_SMALLEARTH) end end return ret end Cara, deixei bastante opções de efeitos, multiplicadores de danos e distancias, no weapons.xml só coloca aquela linha ali em cima e cria o script com o nome declarado lá. Qualquer coisa pede ai vejo se consigo fazer, não testei.
-
Uma Arma, Mais Ataque diferente pra cada vocation.
Qual distro você usa? 0.4 ou 1.x e qual versão? O que você gostaria que a arma fizesse para cada vocação?
-
(Resolvido)Exhaust de magia UE interferindo no exhaust de runas
Exhaust de ataque exhausta com ataque, independente se for runa/magia. Você consegue atacar e curar ao mesmo tempo, mas não atacar 2x. Existe um jeito de fazer por storage, ai as magias que você quer só exhausta com as que você quer. Por exemplo botar a magia A pra exhaustar com a B e a C, mas podendo soltar sd junto com elas.
-
Uma Arma, Mais Ataque diferente pra cada vocation.
Registra o item no items.xml apenas de forma ilustrativa, nome, attack e etc... E faz um script em weapons/scripts/nome da arma.lua, registrando também em weapons.xml. Se você quiser dar mais informações das formas de ataque e no que são baseadas posso te ajudar acho.
-
IMBUING SYSTEM e PREY SYSTEM
Não pode compra e venda aqui, então não é comércio.
-
Exp Potion
Pode usar o script nos mods e fazer o que eu falei, é indiferente. Ou usa o script do @Sepultura ou usa o que você estava usando antes quando criou o topico que só tinha o bug de não poder re-usar.
- [8.6][MODS] AutoLoot By Account! [+Item]
-
Fast Atk Global 10.97 HELP
https://github.com/otland/forgottenserver/pull/2109/files Espero que entenda, é isso que procura.
- [8.6][MODS] AutoLoot By Account! [+Item]
-
Exp Potion
O Jeito mais simples, sem duvidas de arrumar. Abre o creaturescripts, login.lua Lá no meio coloca o seguinte: setPlayerStorageValue(cid, storage, 0) Quantas vezes forem necessárias (uma pra cada pot), sendo que você deve trocar storage pelo storage que fica salvo o tempo da potion. Assim caso o player morra ou relogue, o storage vai ser zerado e ele pode usar a potion novamente e você pode continuar usando os scripts que está usando.
-
O que é um Servidor Baiak?
Baiak é uma edição do classico Yurots, que conta com a adição de teleports e um jogo mais "facilitado". É meio especifico, o cara (Baiak Lula) pegou o Yurots e fez algumas alterações e nomeou Baiak Yurots, e então em cima disso as pessoas foram editando e continuaram chamando de baiak. Att,
-
(Resolvido)Onde eu consigo os arquivos originais do tibia 8.6?
Está usando o Microsoft Visual Studio 2015? A tfs sdk 3.2?
-
(Resolvido)Onde eu consigo os arquivos originais do tibia 8.6?
Ou caso souber um pouco de inglês tem o tutorial oficial em: https://github.com/otland/forgottenserver/wiki/Compiling-on-Windows Ps. O passo 3 não precisa, você vai usar as sources que te mandei ali em cima, que são pro 8.6 Qualquer problema ou erro que tiver posta aqui que tento te ajudar. Abraço
-
(Resolvido)Onde eu consigo os arquivos originais do tibia 8.6?
Isso, essa é a base da maioria dos otservers, é o mais original que você vai conseguir. Para o 8.6 existe o TFS 0.3.6, 0.4 e agora fizeram aquele port (adaptação) do 1.2 para o 8.6 Te aconselho sempre usar o TFS mais novo, por questão de bugs corrigidos, estabilidade, no caso seria aquele 1.2 que te mandei. https://github.com/ninjalulz/forgottenserver/tree/8.6 Não vai ter um executavel ai, porque você tem que compilar ele. Isso é bom pelo fato de você poder ver tudo que tem no executavel pelas sources, vai saber que não tem nada de malicioso e pode adicionar função, efeito ou algo mais depois caso queira. Tem vários tutoriais aqui no forum de como compilar o tfs 1.x, mas qualquer coisa posso ajudar.
-
(Resolvido)Onde eu consigo os arquivos originais do tibia 8.6?
Não baixa um global, nele vai ter muito script, item errado, falha. Pois foi criado e mexido por 10 mil pessoas para tentar replicar um otserv global. O otserv mais limpo/simples que você vai achar é a base de 80% dos otservers que é o TFS. Baixa apenas a distro (base, executável) do TFS, nela vai vim um mapa simples deles, mas os itens, scripts e tal ta tudo igual o global. Ai você edita seu mapa, npcs e tudo a partir dali, e os bugs nele são quase nulos, ou são corrigidos sempre pela equipe, ai você só vai colocando essas mudanças no seu server. Não sei qual protocolo você pretende usar, mas use sempre a ultima versão do TFS no caso (1.X) TFS: 8.6 > https://github.com/ninjalulz/forgottenserver/tree/8.6 10.X > https://github.com/otland/forgottenserver Ou até mesmo OTX, que é um "multi-versão" que vai do 7.x até o 11.x usando uma arquitetura recente (Tem como base TFS 1.3). https://github.com/mattyx14/otxserver Boa sorte!
-
Acc manager nao cria contas com numero 1
Caramba, quanta besteira falada. Mysql, Salt, Server ser melhor com ou sem account manager. Nada relacionado a duvida do cara. Não vai piorar em nada segurança/desempenho tendo account manager. E com relação a sua duvida, é porque no próprio cliente, não é permitido falar sua senha. Como a senha que você entrou (Account Manager) é 1/1, você não vai poder digitar 1, independente de onde seja. Para solucionar isso, você entra em nada/nada (caso não tenha cast) coloque seu account manager lá, ai vai dar como se você entrou nada conta branco/branco e vai poder digitar o numero 1. Caso tenha cast é mais complicado, porque vai ter que colocar o account manager em alguma conta, e isso vai impedir que digite aquela letra/numero/simbolo enquanto estiver criando conta. Espero que tenha ajudado.
-
Assassin star infinita
Qual versão? 0.4 ou 1.x? Quanto mais informações fica mais facil ajudar.
-
Erro TFS ME AJUDEM
Você tem database criada como falei? Ou pode ser o config.lua não reconhecido. São dois casos que a janela fecha sem ficar no erro.
-
ERRO Auto Restarter
Tenta editar o arquivo .sh para isso: #!/bin/bash ulimit -c unlimited while true; do ./theforgottenserver > data/logs/output.log & PID=$! echo $PID > theforgottenserver.pid wait $PID sleep 60 done Usei ele por um tempo e funcionava bem.
-
Como colocar Icones de Notificação nos NPC'S
Não tem esses icones disponíveis no 8.6.
-
Erro TFS ME AJUDEM
Na sua foto não aparece o erro, a ultima mensagem é que está carregando a database, você está usando xampp/uniserver com uma database criada nele e com os dados dessa database no config.lua como mysql, login, senha e nome da db?