
Tudo que xWhiteWolf postou
-
(Resolvido)Como eu faço o Sistema Training igual ao NTO BR
velho olha a imagem e olha oque tu me falou.. Não tem nada a ver, óbvio que deu erro, eu fiz o script pra um mapa que não é o teu. Tá vendo porque não dá certo? Agora eu to puto da vida e você vai ficar sem o sistema, não era muito mais fácil vc ter passado as drogas das posições de inicio? Você me falou que era uma cabana de trainer a cada 11 sqms pra > e 12 pra /\, o script foi feito pra trainers em uma linha e não pra duas linhas. Caramba cara. O erro no script foi que eu esqueci uma virgula, agora se vc quiser usar esse sistema vai ter que refazer o mapa pra uma linha só de trainers e colocar rangey = 0.
-
Taunt + Channelling
seria uma espécie de provocação que obrigaria o player/monstro a ir pra cima de você te atacar, seria uma evolução do exeta res que funcione em players tb kkk
-
Taunt + Channelling
Fala galera, vou mostrar agora como usar o novo sistema de cast imbutido na New Lib, é bem simples: Pegarei como exemplo a spell Taunt, aqui está o código dela: 1- Pra adicionar o sistema de channelling nessa spell eu preciso inicialmente passar todas as funções dela pra um addEvent, ficando assim: 2- Agora pro segundo evento acontecer eu preciso de um time, que se encontra ali antes do return true e que em nenhum momento eu disse oque era. Agora que entra a função onCastChannel(uid, target, delay, effect, key) mas note que essa função requer um delay próprio, um efeito e uma id de storage então vou precisar alterar o config, ficando + ou - assim: 3- Agora note que temos uma key onde ficará salvo se o channelling foi realizado com sucesso, mas como saber? Simples, o valor dessa storage ficará 11 caso ele tenha sido realizado completamente com sucesso, então o passo final é colocar um checador no addEvent para o valor do Storage antes de soltar a spell, afinal, a spell só deverá sair se o channelling foi feito com sucesso. 4- A spell está perfeita e funcional agora, só q se vc for soltar vc vai perceber que o exhaust dela é bem menor que o tempo de channelling então o cara pode soltar ela diversas vezes só carregando e soltando. Pra controlar melhor isso já que se trata de uma spell praticamente mortal num x1 contra um knight nós usaremos um sistema de cooldown por storage, ficando assim: Espero que vocês tenham aprendido como usar o cast System, agora um pequeno gif do funcionamento dele:
- Chain Lightning
-
Mostrar o tempo da Magic Wall
Eae galera, hoje vou fazer uma pequena demonstração de como usar a função doShowTimeByPos, uma das mais novas funções adicionadas na New Lib, que agora está em versão 1.2. A função: Se seu server for 0.3.6/0.4 você só vai precisar adicionar essa linha marcada: do contrário, se ele for das revs mais novas como 1.0 você irá adicionar essa linha: Esses valores são a duração (20 segundos que é o tempo de duração da magic wall) e 20/35 é o TALKTYPE do tipo monster (cor laranja), seguindo a tabela do data\lib\constant.lua: TALKTYPE_FIRST = 1 TALKTYPE_WHISPER = 2 TALKTYPE_YELL = 3 TALKTYPE_PRIVATE_PN = 4 TALKTYPE_PRIVATE_NP = 5 TALKTYPE_PRIVATE = 6 TALKTYPE_CHANNEL_Y = 7 TALKTYPE_CHANNEL_W = 8 TALKTYPE_RVR_CHANNEL = 9 TALKTYPE_RVR_ANSWER = 10 TALKTYPE_RVR_CONTINUE = 11 TALKTYPE_BROADCAST = 12 TALKTYPE_CHANNEL_RN = 13 TALKTYPE_PRIVATE_RED = 14 TALKTYPE_CHANNEL_O = 15 TALKTYPE_CHANNEL_RA = 17 TALKTYPE_MONSTER = 19 TALKTYPE_MONSTER_YELL = 20 Aqui tem uma imagem de como fica no server. Note que eu fiz pra magic wall mas vale pra qualquer item que tenha duration, pra quests, pra contar tempo de invencibilidade de alguma spell ou oque você quiser, use a criatividade e explore o máximo dessa função. Abraços.
-
Aula de Script Lua - OT SERVER
Ótima iniciativa mas pela twitch acho que as aulas se perderiam com o tempo, tenta gravar vídeos e trazer pro TK que eu consigo te ajudar com as edições e tal, assim não será algo cansativo e será melhor planejado. Claro que por twitch você tem a interatividade mas acho que muitos players deixariam de ver pelo tempo e pelo fato de não puder pular "pra parte que eu não entendo"
-
Script transformar duvida
local config = { --[vocation id] = { level, looktype, efeito} [9] = { 30, 30, 32}, [10] = { 40, 261, 32}, [11] = { 50, 261, 33}, [12] = { 75, 261, 33}, [13] = { 100, 261, 33}, [14] = { 150, 261, 33}, [15] = { 180, 261, 33}, [16] = { 200, 261, 33}, [17] = { 40, 261, 33}, [18] = { 40, 261, 33}, [19] = { 40, 261, 33}, [20] = { 40, 261, 33}, [21] = { 40, 261, 33}, [22] = { 40, 261, 33}, [23] = { 40, 261, 33} } function onSay(cid, words, param, channel) doPlayerSay(cid, "transformar") local voc = config[getPlayerVocation(cid)] if voc then if getPlayerLevel(cid) >= voc[1] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você Transformou!") local outfit = {lookType = voc[2]} doCreatureChangeOutfit(cid, outfit) doSendMagicEffect(getCreaturePosition(cid), voc[3]) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você precisa estar no level " .. voc[1] .. " para transformar.") end else doPlayerSendCancel(cid, "Você não pode se Transformar!") end return true end [vocação que vai poder usar essa transformação] = {level necessário, Looktype que vai transformar, efeito que sai}
-
Sistema de Auto-Facing: Vire Automaticamente para o Target ao Atacar (TFS 0.3.6)
wow such reps auhieuhiau, não imaginei q ia fazer sucesso assim.. realmente é algo bem simples mas q vai fazer seu server ter um diferencial forte
-
Sistema de Auto-Facing: Vire Automaticamente para o Target ao Atacar (TFS 0.3.6)
Bom galera, tem uma coisa bem simples que nem o tibia global fez e que eu to trazendo aqui pra vocês. Trata-se de um pequeno sistema que fará você sempre virar pra direção do seu target ao atacar. Testado em TFS 0.3.6 Cliente 8.54. Imagem auto explicativa: Chega de atacar de costas! Agora pra instalar é bem tranquilo. Abra um arquivo .lua em data\creaturescripts\scripts chamado target e coloque o seguinte conteudo dentro dele: Feito isso adicione essa linha no creaturescripts.xml: <event type="attack" name="targetCreature" script="target.lua"/> E para finalizar adicione a seguinte tag em creaturescripts\scripts\login.lua: registerCreatureEvent(cid, "targetCreature") Espero que vcs tenham curtido, é algo bem simples mas ninguém havia pensado nisso antes (nem o próprio Tibia), é uma coisa bem básica e que torna o jogo bem mais importante e sério. EDIT:: Usem essa versão que está mais completa, na anterior se o target estivesse na diagonal ele não virava.
- Puxar/Empurrar (conjunto de spells)
-
(Resolvido)Dúvida na função
realmente ja existe mas saca só uma coisa: Tá lendo o lua-made ali em cima? Essas são as funções que não existem na source e foram criadas em alguma lib do server, isso implica que não é todo server que vai ter ela, além do mais desconhecemos o propósito do player ou a versão do servidor que ele está utilizando (funções do tipo lua made surgiram por volta de 8.1+) então acho que é mais apropriado mostrar pra ele onde ele errou doque apresentar algo novo que talvez não vá ser utilizável. Mas em todo caso foi muito bem lembrado falar dessas funções.
-
(Resolvido)Dúvida na função
function getPlayerExhaust(player, number) local before = getPlayerStorageValue(player,number) exhaust = (before - os.time()) > 0 and (before - os.time()) or 0 return exhaust end pronto, ele retorna o exhaust que o player tem naquele determinado storage. De quebra ainda fiz uma função pra setar o exhaust no storage function setPlayerExhaust(player, number, time) local before = getPlayerStorageValue(player,number) a = before > os.time() and before or os.time() return setPlayerStorageValue(player, number, a + time) end Pra escrever em uma action é só fazer: doPlayerSendTextMessage(cid, 22, "Espere ".. getPlayerExhaust(cid, >STORAGE VEM AQUI<).." segundo(s).")
-
(Resolvido)Como eu faço o Sistema Training igual ao NTO BR
local config = { number = 130, --- numero de salas firstPos = {x = 160, y = 54, z = 7}, --- pos da primeira sala (coloque a pos de onde o player irá ficar ao entrar) rangex = 11, --- distancia em X entre cada uma das pos de cada sala rangey = 12 --- distancia em Y entre cada uma das pos de cada sala } function onStepIn(cid, item, position, fromPosition) local room = nil for i = 0, (config.number - 1) do pos = {x = config.firstPos.x + (i * config.rangex), y = config.firstPos.y + (i * config.rangey), z = config.firstPos.z} if isWalkable(pos, true, true, true) then room = pos break end end if room ~= nil then doTeleportThing(cid, room) else doPlayerSendCancel(cid, "All rooms are full") doTeleportThing(cid, fromPosition) doSendMagicEffect(fromPosition, 2) end return true end coloca em movements por actionid/uniqueid e coloca esse action/unique no teleporte. Abraço
- Chain Lightning
-
Magia de imunidade
condition:setParameter(CONDITION_PARAM_TICKS, 10000)
-
Swap (Henge no Jutsu)
Hoje vim trazer uma spell que eu considero muito legal que eu tenho no meu servidor ja faz alguns meses e esqueci completamente de postar haha Trata-se de nada mais nada menos que uma troca entre dois personagens, eles trocam de posição e de outfit confundindo lindamente os adversários. Não tenho gif da spell e nem imagem pq to com uma baita preguiça e daqui a 8 minutos eu tenho que ir pra faculdade então testem aí porque é bem legal essa spell. Ps: só funciona em players. Instalando: Crie um arquivo chamado swap em data\spells\scripts\especiais que seja com extensão .lua e coloque isso dentro dele: e no spells.xml: <instant name="Swap" words="swap" lvl="23" mana="25" range="1" needtarget="1" params="1" exhaustion="3000" blockwalls="1" needlearn="0" event="script" value="especiais/swap.lua"> </instant> Para usá-la basta dizer swap "nome do player e tem que estar à 1 sqm de distancia dele. Você irá trocar de posição com ele e ambos trocarão de outfit, confundindo os outros players.
-
(Resolvido)Alguem me explica como calculo o dano de skills como essa ?
a muito tempo skill pegava a soma de todas suas skills mas hj em dia acho que só retorna a maior skill que vc tem.
-
(Resolvido)Spell que regenera porcentagem de HP por segundo
Seguinte meu caro, os combats/conditions tem que ser colocados antes do script rodar, certo? (antes do callback). Porém, você só pode usar coisas relacionadas ao cid após o callback rodar!. O problema está justamente aqui: pois até você executar a magia o server não server oque é esse cid. E ele só executa a magia no final do script; O tibia tem uma maneira de resolver esse tipo de coisa porém a maneira deles é uma maneira meio bronze (ruim) e que não funciona em todos os servers aparentemente, que é fazendo um combat callback de alguma informação do player. Eu não vou entrar em detalhes porque é uma solução burra mas você pode fazer essa mesma spell através de scripts dentro do callback, tendo um resultado idêntico ao que vc quer e deixado o script mais bonito e configurável. Veja: http://www.tibiaking.com/forum/topic/44593-mass-healing/
- Chain Lightning
- Chain Lightning
- Puxar/Empurrar (conjunto de spells)
-
Chain Lightning
vc precisa da função isWalkable.. coloca isso antes de function doBlast que vai funcionar perfeito: function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 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 Ou se preferir use a minha lib que já contem essa função. Abraços
-
(Resolvido)[AJUDA]COMO CRIO SCRIPTS?
Eu havia negativado porque você tirou sarro do membro ao ficar rindo da piada do Beeny mas agora que você veio reclamar aqui (ao invés de me mandar uma PM) você realmente cometeu flood. Se tiver qualquer reclamação mande PM pra não prolongar mais isso.
-
Markin foi Jogado para a Friend Zone
- (Resolvido)[AJUDA]COMO CRIO SCRIPTS?
Chegou moderação pra negativar os flooders... @Topic http://www.tibiaking.com/forum/topic/42420-pedido-quest-que-d%C3%A1-outfit/ Aí esta o seu script de clicar em baú e ganhar outfit. Quando tiver alguma dúvida, procure se já existe algo parecido antes de criar o tópico. E se deseja aprender a linguagem Lua, você pode ver uns tutoriais aqui no TK como o MaX bem disse; Espero que consiga fazer tudo oque está pensando para o seu server , e caso tenha mais algum problema aqui não tenha vergonha de procurar alguém da equipe. Se alguém te incomodar novamente apenas clique em "Relatar para a equipe!" embaixo do comentário dele(a). - (Resolvido)[AJUDA]COMO CRIO SCRIPTS?
Informação Importante
Confirmação de Termo