
Tudo que Snowsz postou
-
[AJUDA] BUG LOGIN
Tenta assim:
-
[Movements]Outfit Tile
É o seguinte, em getCreatureOutfit(uid), ele retorna uma tabela, essa tabela pode-se verificar com um for, mas, como você já sabe o que quer pegar daquela tabela, basta por o parâmetro, por exemplo, você usou a função sem pegar o parâmetro de id da outfit, para fazer a checagem, não sei se deu para entender mas: Errado: if getCreatureOutfit(cid) == 10 then Certo: if getCreatureOutfit(cid).lookType == 10 then Looktype seria o looktype da criatura, no caso, o id.
-
Tabela de experiência própria
Como eu disse, procure la nas sources, não tenho de cór, mas eu vi, ainda acho que era no onGainExperience
-
Tabela de experiência própria
Sim, procure nas suas sources, se não me engano a função é onGainExperiencie, procura isso nas sources do seu servidor, eu não tenho certeza mas, o calculo da exp deve estar lá, da uma olhada
-
(Resolvido)Spell a um determinado ponto
Eu percebi uns erros só agora... Troca tudo por isso: Tag: <instant name="Fire Attack" words="exori flame" lvl="10" mana="20" prem="1" range="3" needtarget="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="exori flame.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> Script: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 15) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) function onCastSpell(cid, var) local target = getCreatureTarget(cid) local effect = 3 doSendDistanceShoot({x = getThingPos(target).x-6, y = getThingPos(target).y-6,z = getThingPos(target).z}, getThingPos(target), effect) return doCombat( cid, combat, var) end
-
(Resolvido)Erro na PokeDex
aqui esta o scrip da pokedex: Espero poder contar com ajuda de vcs para colocar esse servidor on obrigado. Acho que assim funciona:
- [Spells/Rune] Trap rune + Paralyze rune (3 x 3)
-
(Resolvido)Spell a um determinado ponto
Bom, eu fiz desse jeito, espero que goste... Tag: <instant name="Fire Attack" words="exori flame" lvl="10" mana="20" prem="1" range="3" casterTargetOrDirection="0" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="exori flame.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> Você pode trocar os nomes, as vocações, basicamente tudo, menos casterTargetOrDirection="0", deixe 0 mesmo. Script: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 15) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) function onCastSpell(cid, var) local target = getCreatureTarget(cid) local effect = 3 doSendDistanceShoot({x = getThingPos(target).x-9, y = getThingPos(target).y-12,z = getThingPos(target).z}, getThingPos(target), effect) return addEvent(doCombat, 500, cid, combat, var) end Onde tem local effect 3, é o efeito de distance, como você diz "/x".
- [CMS] Campeonato Mensal de Scripting #01
- [CMS] Campeonato Mensal de Scripting #01
-
(Resolvido)Travadas em meu otserve : e como mecher nas contas do meu otserve
Lhe peço uma coisa, o evento com 500 de intervalo, aumente para 2000, o que tiver 1, pelo menos, aumente para 200, é o suficiente, irá diminuir muito! O gasto da máquina, o server save, não coloque de hora em hora, mas, pelo menos, no máximo 30 minutos, é algo que se deve conservar, se der rollback, os players perderão cerca 1 hora de jogo!
-
(Resolvido)Como tiro o skill por rate stage ajuda
Amigo, não existe esse "Skills por rate stage", simplesmente, vá no seu vocations.xml, lá estará a configuração: <skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/> Seu vocations.xml deve ter isso em cada vocação, se quiser mais rápido up, abaixe o valor, por exemplo: Antes: distance="1.8" Depois: distance="1.0" Isso vai deixar o player upar este skill mais rapidamente, porém, quanto menor, menos dano ele dará, mas, quando o skill estiver alto novamente será um hit razoável, já que quer deixar seus skills difíceis, aumente o valor, lembre-se, quanto maior, menos rápido, quanto menor, mais rápido. Obs: Faça em todas as vocações. Obs²: Respeite as vocações como knight, não aumente muito os skills, aumente consideravelmente, se não, ficará muito difícil upar o skill como sword para o knight, e magic level para druids por exemplo.
-
(Resolvido)Site e otserver list não mostram a quantidade verdadeira de players
O otservlist.org tem um tempo(delay) para dar refresh, ou seja, para atualizar seus servidores etc... Quantidade de players... Então, só ter paciência amigo
-
Distro caindo todo dia ajuda pf
Na verdade isso ajuda bastante, principalmente deletar houses inativas, pois, quando o server inicia ele sincroniza as houses, e os players, mexendo assim na db, uma boa alternativa é dar uma limpa na db mesmo, mas, antes, faça backup, nunca confie 100% em algo. poko, verifique se é também quando da save que o servidor cai.
-
Ajuda com Script (usando 1 item no bau para destranca-lo e pegar o item)
Amigo, lembre que o item deve ser multi use, ou seja, clica com o botão direito nele, e ele vira uma seta para você usar em algo.
-
Sistema de Auto-Facing: Vire Automaticamente para o Target ao Atacar (TFS 0.3.6)
Não interfere, eu testei, ele só muda a direção do olhar, não influencia em nada
-
(Resolvido)[PEDIDO] Add item para o player msm ele tando offline
Ele pediu para adicionar com o player offline, não para entregar só com ele online.
-
Ajuda com Script (usando 1 item no bau para destranca-lo e pegar o item)
Ele fez corretamente, usa a chave(item x) no baú(item y) e ganha um item(z).
-
Sistema de Auto-Facing: Vire Automaticamente para o Target ao Atacar (TFS 0.3.6)
Se não me engano, assim deve estar correto, mude ou adicione mais vocações em 1,2,3,4 para as vocações que podem usar isto. function onAttack(cid, target) local vocations = {1, 2, 3, 4} if isCreature(cid) and isCreature(target) and isInArray(vocations, getPlayerVocation(cid)) then dir = getDirectionTo(getCreaturePosition(cid), getCreaturePosition(target)) doCreatureSetLookDirection(cid, dir) end return true end
-
[OTC] MOD que deixa o OTC exclusivo para seu servidor.
Estou pensando em criar um outro, diferente deste, mas, referido a otclient, obrigado pela sugestão.
-
[OTC] MOD que deixa o OTC exclusivo para seu servidor.
Na verdade estava na área correta, pois, não consigo criar tópico em MODs de clients.
-
[AJUDA/SPELL] Sistem de Spell Em que o player usa apenas se ele tiver um storage tipo Graduaçao Sennin
Amigo, tenta assim: if not getPlayerStorageValue(cid, "sennin") >= 1 then return true end
-
[OTC] MOD que deixa o OTC exclusivo para seu servidor.
Testado em: TFS 0.4 8.60. Otclient 0.6.3. Descrição: O player só poderá entrar no seu otserver com este mod, caso contrário, levará um kick bonito Bom galera, criei este mod para ajudar um membro do fórum que, quer que seu server só seja acessado com um otclient dele, então, vamos ao mod. Vá na pasta do seu otclient e entre na pasta mods, lá, crie outra pasta, chamada exclusiveclient, nesta pasta, crie um arquivo com o nome exclusiveclient.lua e coloque isso dentro: function init() connect(g_game, 'onTextMessage', serverComunication) connect(g_game, { onGameEnd = hide } ) end function terminate() disconnect(g_game, { onGameEnd = hide }) disconnect(g_game, 'onTextMessage', serverComunication) end function serverComunication(mode, text) if not g_game.isOnline() then return end if mode == MessageModes.Failure then if text:find("$@$ExclusiveClient") then g_game.talk("/$@$exclusive$@$") end end end Feche e salve o arquivo. Ainda na mesma pasta, crie um novo arquivo chamado, exclusiveclient.otmod (lembrem-se da extensão sempre, exemplo: login>.lua<) No exclusiveclient.otmod coloque isto dentro: Module name: Exclusive Client description: author: Snowsz website: autoload: true autoload-priority: 1000 scripts: - exclusiveclient.lua @onLoad: init() @onUnload: terminate() Após isso, feche e salve o arquivo, não é só isso, agora iremos mexer no seu servidor, vá na pasta data/creaturescripts/scripts e abra o login.lua, coloque isso antes do ultimo return true. addEvent(doPlayerSendCancel, 100, cid, "$@$ExclusiveClient$@$") addEvent(doPlayerSendCancel, 200, cid, " ") addEvent(function() if getPlayerStorageValue(cid, "exclusive") <= 0 then doRemoveCreature(cid) end end, 500) Após isso, feche e salve o arquivo, agora, crie um novo arquivo nesta mesma pasta, chamado exclusivelogout.lua, nele coloque isto dentro: function onLogout(cid) setPlayerStorageValue(cid, "exclusive", -1) return true end Feche e salve o arquivo, agora, vá em data/creaturescripts/creaturescripts.xml e coloque esta tag: <event type="logout" name="ExlusiveLogout" event="script" value="exclusivelogout.lua"/> Após isso, vá em data/talkactions/scripts e crie um arquivo chamado exclusive.lua, coloque isso dentro: function onSay(cid, words, param) setPlayerStorageValue(cid, "exclusive", 1) return true end Feche e salve o arquivo, vá em data/talkactions/talkactions.xml e coloque esta tag: <talkaction log="no" access="0" words="/$@$exclusive$@$" event="script" value="exclusive.lua"/> Feche e salve o arquivo, pronto, sistema instalado, espero que gostem Créditos: Snowsz
-
Obrigar a usar Cliente Proprio?
Se não me engano tem duas formas de fazer isso, a primeira opcode, instale na source do seu servidor, caso não queria isso, da para usar uma talkaction, quando o player logar, o server manda uma mensagem, o otclient recebe, e o player emite uma talkaction, com essa talkaction ele fica com tal storage até deslogar, e assim fica fazendo, quando ele não estiver com esta storage, ele levará kick em alguns segundos. @Edit Bom, fiz o tutorial, espero que seja aprovado, por em quanto o link será este: http://www.tibiaking.com/forum/topic/49682-otclient-exclusivo-para-seu-servidor/
-
Bless automatico até determinado level.
Não reviva o tópico é contra as regras, sempre que precisar, cria um novo tópico, é até melhor