Líderes
-
-
-
Rezende.16
MembroPontos71Total de itens -
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 06/09/15 em todas áreas
-
Tfs 854, 860 opcode copilado
Tfs 854, 860 opcode copilado
Gustavo Mello e um outro reagiu a
Golfpor uma resposta no tópico2 pontosBom, gostaria de disponibilizar meus distros pois eu mesmo tive que aprender a copilar e depois adpitar os códigos. bem vamos direto ao ponto. -opcodes- °esses dois distros contem todas a funções do tfs de acordo com a versão, e os opcodes instalados neles, oque seria os opcodes, seria para comunicação entre serv e client, o client usado seria o OTcient com todos seus scripts feitos em lua° -opcodes exp- °abaixo temos um exemplo de opcode usado no server !, nao vou entrar em detalhes de como funciona mais tem aqui no forum basta procurar° function onExtendedOpcode(cid, opcode, buffer) if opcode == 26 then doSendPlayerExtendedOpcode(cid, 26, getPlayerVocation(cid)) end return true end >Download< A distro 8.60 é do tfs 0.4 > trunk.r3884.TheForgottenServer 8.60.zip A do 8.54 é do tfs 0.3.6 >Crying Damson.TheForgottenServer 8.54.zip >Scan< 8.60 é do tfs 0.4 > trunk.r3884 https://www.virustotal.com/pt/file/dc3162386a0518c215d138e9efbfe07a42086d1ce3c4b80968834ec029df3c82/analysis/1433363272/ 8.54 é do tfs 0.3.6 >Crying Damsonhttps://www.virustotal.com/pt/file/dc3162386a0518c215d138e9efbfe07a42086d1ce3c4b80968834ec029df3c82/analysis/1433363272/ Créditos: Garep e golf. E o grande edub4rt que disponibilizou os codigos e o OTcient . >TFS Team <2 pontos -
~*~ 29 Mega Pokemons Exclusivos! By;Rezende.16
~*~ 29 Mega Pokemons Exclusivos! By;Rezende.16
XxTHALESxX e um outro reagiu a Rezende.16 por uma resposta no tópico
2 pontosEae galera como estão ? Encontrei mais algumas sprites digamos que interessante pela internet e achei bacana compartilhar com vocês. Apesar de ser bem popular sprites novas de pokemon hoje em dia, eu acabei encontrando algumas que eu nunca tinha visto. As sprites nada mais são do que 29 Megas Pokemon incluindo shinys em formas diferentes e algumas exclusivas! Eu não realizei o teste com elas no Object Builder por isso não sei ao certo o tamanho delas, ao meu ver parece que estão apenas um pouquinho pequenas então fica a critério de vocês amplia-las! Conteúdo do Pacote: Mega Pokemons: Mega Shinys: Imagens: Link:http://www.4shared.com/rar/n02YVOK3ce/Megas_Pokemons_By_Rezende16.html Scan:https://www.virustotal.com/pt/file/aa64afb3cf3d493c2cb601c6eab0e5c31abd0591ec7a0ae050d53574efd34838/analysis/1433343487/ Crédito: Crédito nas imagens, foram vários criadores!2 pontos -
xPoketibia [Open source]
xPoketibia [Open source]
andrioxx e um outro reagiu a Wend II por uma resposta no tópico
2 pontosOlá Galera do Tibiaking! Venho apresentar para vocês um novo projeto, o xPoketibia, o poketibia se trata de um servidor que está sendo desenvolvido para tentar substituir o PDA em termos de uso dos OT-admin (sair dessa mesmice de servidores PDA) , o mesmo será disponibilizado aqui no fórum com suas devidas versões\atualizações. Estamos usando uma base antiga que está um pouco desatualizada e com muitos bugs , não editamos o mapa ainda por isso o mapa que está sendo usado é o do dash , tentaremos ao máximo trazer incríveis mapas e sistemas. Andamento do servidor Level System: 90% Caught System: 50% Go-Back System: 50% Portrait System: 50% Evolution System: 100% NPC Nurse System: 50% Pokedex System: 50% Ghost System: 50% Wild Pokemon Passive: 50% Moves System: 90% Limite de 6 Pokemons: 50% Duel System (Pela Party) 50% Tv / Cam System 50% Próximos sistemas Order System (Com todas as habilidades [Fly, Surf, Ride, Blink, Cut, Light, Transform, Control Mind, Dig, Move]) All Pokemon Spells Boat System (Vermilion - Cinnabar) Gym System NPC's de batalha espalhados pelo mapa Vários outros sistemas que tenho em mente. Changelog do servidor: Prints: Downloads: Servidor > http://www.4shared.com/rar/VAp3P-nwba/xPoketibia_Project.html? Client > http://www.4shared.com/rar/l5iti909ba/Client_xP.html? Source > http://www.4shared.com/rar/Cb_mNAJvba/sources_xP.html? Repositório no GitHub > Quase lá ~~ creio que não precise de scan, pois o próprio 4shared faz escaneia e diz se tem vírus Equipe: Wend Silva < eu Daniel Créditos: avuenja por está ajudando com o Github é isso Galera vou indo fazendo com o tempo , não me cobrem , tenho vida social também , não é todo o dia que vou está disponível pra mexer no servidor , mas é isso nada de novo , mas apenas outro distro totalmente diferente com source , creio que vai ajudar muitas pessoas que curte o PDA, Lembrando que ele não vai ser livre de bugs , peço ajuda também para a galera que ajudem no projeto com sugestões e relatando os bugs que encontrarem. Thank you ~~2 pontos -
Dado da Sorte
Dado da Sorte
lisandra e um outro reagiu a Wend II por uma resposta no tópico
2 pontositemid -> ID do item. chance -> Chance, em porcentagem, de sair o item. count -> Quantidade do item. local items = { --[itemid] = {chance, count}, [7391] = {25, 1}, [7423] = {30, 1}, [2447] = {20, 1}, [8850] = {15, 1}, [7424] = {10, 1}, } function onUse(cid, item) local number = math.random(1, 100) local _item = 0 for itemid, chance in pairs(items) do if _item == 0 then _item = itemid else local new_chance = (chance[1] - number) > 0 and chance[1] - number or number - chance[1] local old_chance = (items[_item][1] - number) > 0 and items[_item][1] - number or number - items[_item][1] if new_chance < old_chance then _item = itemid end end end if _item ~= 0 then local count = items[_item][2] if not isItemStackable(_item) then if count > 1 then for i = 1, count do doPlayerAddItem(cid, _item, 1) end else doPlayerAddItem(cid, _item, 1) end else doPlayerAddItem(cid, _item, count) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You received: "..count.."x "..getItemNameById(_item)..(count > 1 and "s" or "")..".") doRemoveItem(item.uid, 1) end return true end2 pontos -
Sistema de Auto-Facing: Vire Automaticamente para o Target ao Atacar (TFS 0.3.6)
Sistema de Auto-Facing: Vire Automaticamente para o Target ao Atacar (TFS 0.3.6)
Orientalz reagiu a xWhiteWolf por uma resposta no tópico
1 pontoBom 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.1 ponto -
Ot Restarter
Ot Restarter
Carlos David reagiu a Featzen por uma resposta no tópico
1 pontoBom, sei que aqui já tem alguns auto-restarters, mas não achei nenhum que reiniciasse quando aparecesse a janela de "O programa parou de responder", essa aqui: Então eu fiz um. Print: Como usar? No Campo: Application: Preencha com o titulo da janela do seu servidor, no meu caso, era 'Pokemon Online Server (DA)'. EX: Executable: Preencha com o caminho até a executável do servidor, ou simplesmente clique no botão ao lado('...'). Delay: Preencha com 'de quanto em quanto' tempo ele vai checar se o servidor está respondendo/executando', em segundos. Como ele funciona? Verifica se o programa está aberto. -Se Sim: Verifica se o programa está respondendo. -Se não estiver respondendo, aguarda 20 segundos e reinicia servidor. >> Download << >> Scan <<1 ponto -
Pack para RME 9.6!
1 pontoBom galera esse é um Pack para quem ta querendo editar seus mapas 9.60, com ele você poderá fazer isso com um pouco mais de facilidade. Lembrando todos créditos a: Alvanea e quem for postar em outro logar por os devidos créditos ao altor do tópico original! More pictures 1, 2, 3. 1. Primeiro de tudo instalar o RME 2.2 para tibia 9.6(download) e Tibia 9.6. 2. Abra o RME, em: file/preferences/Client Version onde ta Version 9.60 Search Patch mude para o client 9.60, baixe-o aqui: Click 3. Desmarque a opção "Check File Signatures" de ok e feche o rme. 4. Baixe o Pack, link esta no logo abaixo. 5. Em seu Computador axe a pasta AppData/Roaming dentro da pasta Roaming delete a pasta extensions (se ela não estiver la não tem portância não delete nada). 6. Copie a pasta "extensions" que ta no pack e bote na pasta Roaming 7. Axe a pasta do seu rme entre na pasta data e dentro dela delete a pasta 960. 8. Agora copie a pasta 9.60 que esta no Pack (link logo abaixo) e bote dentro da pasta data do seu rme. 9. Abra o RME 10. Aproveite seu rme! Version: v1 Download Speedyshare: Click Download Uploading.com: Click Version: v1.1 Download Speedyshare: Click Scan: Click Espero que façam bom uso. Todos os créditos a: Alvanea Eu só trouce o conteúdo pro Tibia King, fiz scan e traduzi algumas coisas.1 ponto
-
Vocation Outfit V1.0
1 pontoComo o próprio titulo lá diz, cada vocação terá sua(s) próprias outfits, o sistema foi aperfeiçoado para ficar mais fácil de configurar. em data> creaturescript > script vocouts.lua function onLogin(cid) registerCreatureEvent(cid, "OutfitClass") return true end function onOutfit(cid, old, current) local class = { [1] = {[0] = {136, 140}, [1] = {128, 132}}, -- citizen, nobleman [2] = {[0] = {136, 138}, [1] = {128, 130}}, -- citizen, mage [3] = {[0] = {136, 137}, [1] = {128, 129}}, -- citizen, hunter [4] = {[0] = {136, 139}, [1] = {128, 131}}, -- citizen, knight [5] = {[0] = {136, 140, 141, 158}, [1] = {128, 132, 133, 154}}, -- citizen, nobleman, summoner e shaman [6] = {[0] = {136, 138, 148, 149}, [1] = {128, 130, 144, 145}}, -- citizen, mage, druid e wizard [7] = {[0] = {136, 137, 156, 155}, [1] = {128, 129, 152, 151}}, -- citizen, hunter, assassin e pirate [8] = {[0] = {136, 139, 142, 147}, [1] = {128, 131, 134, 143}} -- citizen, knight, warrior e barbarian } if getPlayerAccess(cid) > 2 then return true end local outfits = class[getPlayerVocation(cid)][getPlayerSex(cid)] return isInArray(outfits, current.lookType) and true or doPlayerSendCancel(cid, "você não tem vocação para usar essa outfit.") and false end creaturescript.xml <event type="login" name="LoginClass" event="script" value="vocouts.lua"/> <event type="outfit" name="OutfitClass" event="script" value="vocouts.lua"/> explicando: os números entre os colchetes [] significa as vocations, caso você não sabe os ID das voc abre o spoiler: agora os números [0] e [1] significam o sexo do jogador, para female é [0] e para male é [1], onde cada um tem sua outfit. exemplo sorcerer: [1] = { -- vocation sorcerer [0] = {136, 140}, -- outfits female citizen e nobleman [1] = {128, 132}} -- outfits male citizen e nobleman } basta adicionar entre as chaves {} as id das outfits que cada vocação poderá usar. qualquer dúvida só postar.1 ponto
-
Como criar seus proprios MODs para RME
Bom, acredito que muitos procurem por MODs para o Remere's para facilitar na hora de criar os mapas. Muitas vezes procuramos pois não sabemos como fazer. Vou explicar aqui, como criar suas proprias extensões para o remere's. Não será nada muito avançado e/ou detalhado, mas com esse tutorial, você conseguirá personalizar seu Remere's sem muita dificuldade. Toda extensão do RME é feita com XML. A parte mais importante é localizar onde está sua pasta de extensões do RME. Para localizá-la, existem dois meios: O primeiro, se seu RME é antigo (v 2.2 ou mais antiga) então provavelmente a pasta de extensões está na propria pasta do RME. Procure sua pasta do RME, abra-a e procure por extensions. Caso seu RME seja mais novo, então abra seu menu Iniciar do Windows, depois clique em "Computador". Na área do endereço (topo da tela, onde está escrito "Computador") clique, apague tudo, digite %appdata% e aperte Enter. Uma pasta se abrirá, com o endereço de "Disco Local > Usuarios > (Seu usuario) > App Data > Roaming. Caso abra apenas a App Data e não abra o roaming, basta abrir a pasta roaming e proceguir. Nela você encontrará várias outras pastas. Procure então pela pasta Remere's Map Editor. Abra-a. Você verá dois arquivos: data e extensions. Abra o extensions. Bom, agora a parte chata terminou. Agora começa a parte mais chata ainda hahaha Vocês notarão que existem vários arquivos XML ai dentro. Copie um, e cole ai mesmo. Renomeio com o nome que quiserem. Abram-no e deletem tudo que há dentro dele. Vou explicar agora como fazer a mágica acontecer. Todo arquivo de extensão de RME, como eu já disse antes, precisa ser XML. Por sua vez, arquivos XML precisam de um cabeçalho. Para esse tipo de arquivo, nosso cabeçalho será o seguinte: <materialsextension name="extensions by jeff" author="Jeff" description="extensions compilation" client="8.60"> entendendo: name = nome da sua extensão (não use nomes repetidos, por favor xD) author = autor da extensão (puro blábláblá) description = descrição da extensão (mais blábláblá) client = versões do mapa que a extensão vai "rodar" (Importante: Se você, por exemplo, colocar client version 8.6 e colocar um item de versão maior que 8.6 o rme vai bugar quando você tentar abrir um mapa de versão 8.6) note que, todos os valores devem ser postos entre " " . Ok, cabeçalho feito, agora vem a parte chata hahaha Existem 4 tipos de brush: Terrains (pisos/paredes), Doodads (variedades), Items (items, tipo items, saca?) e Creatures (monstros e npcs). Por agora, ensinarei apenas como adicionar Terrains e Doodads. Os items e Creatures são fáceis, dá pra aprender sozinho só de ver esse tutorial e ver alguma extension de items ou creatures. Vamos lá. Para criar um Doodad: Existem 2 tipos de 'tags' para criar um Doodad. O primeiro, deve ser os detalhes sobre o item e como ele vai ser posto no mapa via RME. Seria como um script .lua . O segundo é literalmente a tag que vai registrar aquele item/brush no remeres, como a tag de um arquivo .lua <brush name="Lamps" type="doodad" server_lookid="4404" draggable="true" on_blocking="true" thickness="10/10"> <item id="4404" chance="30"/> </brush> name = Nome da brush. No exemplo, é Lamps. type = aqui é o tipo da brush/item. Acho que não preciso aprofundar aqui, por enquanto. server_lookid = aqui é como se fosse um looktype. É o look da brush que aparecerá no RME. Use sempre um id que seja sugestivo para a brush. (Seria estranho utilizar o id de uma sword para uma brush que vai colocar grama '-' ) draggable = pra ser sincero, não sei bem pra que serve. geralmente deixo "true" e pronto. hahaha on_blocking = No remere's, esse item bloqueia a passagem? (É sempre útil saber onde o player pode passar ou não, logo não seja negligente nessa parte e.e' ) thickness = "frequência" na qual o item aparecerá. Quando você pega aquelas small rocks, se você amplia o tamanho da brush, você nota que há alguns espaços vazios. Isso é um exemplo de thickness. Quanto menor a divisão, menos items são randomizados na brush. (Não tenho certeza absoluta se é isso mesmo, mas creio que seja algo parecido) item id e chance = Aqui você põe os id's que você quer e a chance dele aparecer na brush. Nessa brush, coloquei apenas o id 4404 (lamp). Caso queiram adicionar mais items, apenas copiem e colem essa tag e ponham entre o <brush name ...> e o </brush>. Caso queiram mudar o item utilizando o botão z ou x no rme, utilizem a seguinte tag: <alternate> <item id="ID" chance="CHANCE"/> </alternate> O chance=" " é a chance do item aparecer. Caso usem o <alternate> </alternate> essa chance será ignorada, até porque o item só mudará caso voce aperte x ou z. Se não usarem o <alternate>, os items que você colocar lá serão postos de acordo com a chance deles e de acordo com o thickness da brush. Lembram do 2º tipo de tag que precisamos colocar, para registrar no RME? então. Este tipo de tag deve ficar no final do arquivo. Aqui você vai registrar TODAS as tags para aquele tipo de brush. Para os doodads, a tag fica assim: <tileset name="Jeff Nature Extensions"> <doodad> <brush name="Lamps"/> </doodad> </tileset> name = Aqui você põe o nome da "pasta" de doodads. Se você colocar um nome 'aleatório', o rme criará aquela pasta e colocará as brush's nela (recomendo, pois assim você separa suas brush's das brush's "custom" e das criadas por outras pessoas). Se você por o nome de uma já existente, então aquelas brush's irão para a pasta já existente. brush name = Aqui você põe o nome da brush. Lembram, que a minha era "Lamps"? Então, aqui deve ser o mesmo nome. Tipo, DEVE MEEESMO. Caso ponham outro nome, seu rme vai bugar e n vai abrir as brush's editadas. e.e' Caso queiram adicionar mais brush's para uma mesma pasta, basta colocarem-nas entre o <doodad> e o </doodad>. Agora, para criar uma brush do tipo terrain, seja ela uma parede ou um piso: <brush name="bamboo wall" type="wall" server_lookid="3424"> <wall type="horizontal"> <item id="3424" chance="500"/> <item id="3426" chance="100"/> <item id="3432" chance="100"/> </wall> <wall type="vertical"> <item id="3423" chance="400"/> <item id="3428" chance="100"/> <item id="3430" chance="100"/> </wall> <wall type="corner"> <item id="3427" chance="1000"/> </wall> <wall type="pole"> <item id="3425" chance="1000"/> </wall> </brush> Bom, aqui vou ser mais breve. type = Aqui você põe o tipo da brush. Se for uma parede, então ponha wall. Se for piso, a tag muda, vou mostrar depois. Note aqui que, para cada <wall type e o </wall>, a tag é diferente. Recomendo sempre manter essa estrutura. Explicando: Horizontal = Horizontal Hahahaha (Ids da parede que são > - ) Vertical = Vertical e.e' (Ids da parede que são > | ) Corner = Não sei traduzir isso ao pé da letra, mas é aquela parede que é > _| (e.e') Pole = Pole Dance Aquela parede em forma de "pino". Aqui eu recomendo que vocês deixem as chances nesse mesmo "nivel". Não precisa ficar arrumando muito... Para registrar uma parede, você deve fazer o seguinte: Ponha isso no final do arquivo: <tileset name="Jeff Walls/Terrains"> <terrain> <brush name="bamboo wall"/> </terrain> </tileset> Mesmo "esquema" dos doodads, mudando apenas o <doodad> </doodad> por <terrain> </terrain> Para criar um piso (não ensinarei a por bordas nele, até pra incentivar o uso das bordas pelo raw e evitar o uso do auto-border.) Vamos lá: a Primeira "tag" é: <brush name="Dark Common Old Pavement" type="ground" server_lookid="10492" z-order="3401"> <item id="10492" chance="25"/> <item id="10493" chance="25"/> <item id="10494" chance="25"/> <item id="10495" chance="25"/> <item id="10496" chance="25"/> <item id="10497" chance="25"/> <item id="10498" chance="25"/> </brush> Notem que o type aqui é ground e existe aquele z-order. Não faço ideia do que o z-order faça, então recomendo que procurem depois (eu também procurarei, hahahahaha) os ids do piso devem estar entre os <brush name...> e o </brush> como em todos os outros modelos e o chance também é editável. Caso queiram que um id de piso apareça mais que o outro, ponha o chance dele maior e do outro menor. A tag para registrar um piso é: <tileset name="Nome da pasta"> <terrain> <brush name="Dark Common Old Pavement"/> </terrain> </tileset> Mesmo esquema de todas as outras, se quiser registrar mais pisos, apenas ponham suas tags entre o <terrain> e </terrain> É isso ai. Espero que tenha ajudado um pouco quem não manjava. Desculpem pela falta de paciência no fim do tutorial e por n ter colocado mais cores e tals. Mas espero que tenham entendido tudo. Qualquer erro, duvida ou sugestão, postem aqui. xD1 ponto
-
Erro ao tentar entrar no OT (10061)
Erro ao tentar entrar no OT (10061)
Iazinha154 reagiu a HenriqueFisch13 por uma resposta no tópico
1 pontoBem ,assisti a mil vídeo aula ,e esse erro ainda continua ,chamei um primo que tem ot online e ele fez tudo o que eu já tinha feito, porem nem ele soube me dizer o erro, a minha internet é compartilhada e a dele também ,baixei vários programas e nada, quando tento loga da esse erro ,não consigo nem acessar a parte de character. ... estou desesperado e não sei o que fazer1 ponto -
(Resolvido)[Pedido] Comando de comprar pokemon
O preço real você altera no script normalmente em "local valor = {2145, 5}", agora o preço que aparece no OTClient você deve alterar a imagem em "OTClient/data/images/shop". Exemplo: A parte de cima é a imagem normal e a parte de baixo é quando estiver com o mouse em cima.1 ponto
-
RME Bugado meu servidor de narutibia
Crie uma pastas 781 Aqui > [ IMG ] e jogue dentro dela seu Item.xml e Item.otb que esta na pasta do seu servidor.1 ponto
-
Mensagens automáticas para todo o servidor ? 10.76
Mensagens automáticas para todo o servidor ? 10.76
Lykkan reagiu a alissonfgp por uma resposta no tópico
1 pontotfs 1.x+ testa ai <globalevent name="Auto Msg" interval="3600000" script="automsg.lua"/> 3600000-- 1h automsg.lua function onThink(interval) broadcastMessage("MENSAGEMAQUI", MESSAGE_EVENT_ADVANCE) return true end1 ponto -
(Resolvido)[Pedido] Comando de comprar pokemon
(Resolvido)[Pedido] Comando de comprar pokemon
denysfaker reagiu a Wend II por uma resposta no tópico
1 pontoSimples, vá na pasta data\talkactions\scripts e crie um arquivo buyzapdos.lua e cole isso dentro local pokemon = "Zapdos" local nome = {'Zapdos'} -- Nome do pokemon local valor = {2145, 5} -- id do diamond, quantidade de diamond function onSay(cid, words, param, channel) if getPlayerItemCount(cid, valor[1]) >= valor[2] then doPlayerRemoveItem(cid, valor[1], valor[2]) addPokeToPlayer(cid, pokemon, 0, 1, 'normal', true) doPlayerSendTextMessage(cid, 25, "Parabens, voce acaba de adquirir um "..pokemon..".") else doPlayerSendTextMessage(cid, 25, "Voce nao tem "..valor[2].." {"..getItemNameById(valor[1]).."}.") end end agora no arquivo talkaction.xml adicione essa tag <talkaction hide="yes" words="!buyzapdos" event="script" value="buyzapdos.lua"/>1 ponto -
(Resolvido)Pedido de anunciar
(Resolvido)Pedido de anunciar
luanluciano93 reagiu a zipter98 por uma resposta no tópico
1 pontofunction onKill(cid, target) if isPlayer(cid) and isPlayer(target) then broadcastMessage(getCreatureName(cid).." killed "..getCreatureName(target)) end return true end function onLogin(cid) registerCreatureEvent(cid, "killPlayer") return true end Tags: <event type="kill" name="killPlayer" script="nome_do_arquivo.lua"/> <event type="login" name="killPlayerLogin" event="script" value="nome_do_arquivo.lua"/>1 ponto -
[v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)
Vamos ver.. tenta trocar isso bindOnlyGlobalAddress = "yes" por isso bindOnlyGlobalAddress = "no"1 ponto
-
(Resolvido)[PEDIDO] Paralyze ao passar no SQM...
cara eu acho que esse vai funciona ai -- config elton123 local velocidade = 0.9 local life = 0.5 local periodo = 15 -- tempo em segundos -- config elton123 local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, periodo*1000) setConditionFormula(condition, -velocidade, 0, -velocidade, 0) function onStepIn(cid, item, pos, fromPos) if isPlayer (cid) then doAddCondition(cid,condition) doCreatureAddHealth(cid,-(getCreatureHealth(cid)*life)) end return true end1 ponto
-
[Ajuda] Adicionar balls
1 pontohttp://www.tibiaking.com/forum/topic/57507-tutoriais-para-pda/?view=findpost&p=337497 Criado pelo nosso amigo TopllDanStar1 ponto
-
[Pedido] NPC de aluguel de montarias.
Foi o mais simples que encontrei, se precisar de ajuda para instalar basta me enviar uma mensagem. abraço.1 ponto
-
(Resolvido)[PEDIDO] Paralyze ao passar no SQM...
seria assim? -- config elton123 local velocidade = 0.9 local life = 0.5 local periodo = 10 -- tempo em segundos -- config elton123 function onStepIn(cid, item, pos, fromPos) if isPlayer (cid) then doChangeSpeed(cid,-(getCreatureSpeed(cid)*velocidade)) doCreatureAddHealth(cid,-(getCreatureHealth(cid)*life)) addEvent(velocidadeNormal,periodo*1000,cid) end return true end function velocidadeNormal(cid) if isPlayer (cid) then doChangeSpeed(cid,getCreatureBaseSpeed(cid)) end return true end1 ponto
-
(Resolvido)[Pedido] [Npc] Pede para matar pokémons e da itens como recompensa
Cara, não sei como funciona scripts do poke, não sei se um tfs serveria, mas conforme for tente assim. vá até em npcs script e crie um tasks.lua e adicione vá em npcs, e crie um xml e adicone isso. Agora vá em creaturescript e adicione isso <event script="killtasks.lua" name="Tasks" type="kill"/> Agora vá em creaturesript/script, crie killtasks.lua e adicione isso e por final adicione isso em creaturescript/script/login.lua registerCreatureEvent(cid, "Tasks" repetindo não sei se o script irá funcionar no seu servidor, mas faz o teste.1 ponto
-
xPoketibia [Open source]
1 pontoGostei do Serv Parabens =) @edit: esse ae nao tem bug na ball ao atualizar o Status? de deixar o status Negativo? - Eu verifiquei o script do PDA sem Level system o status de la e diferente do Pokelevel (Atualiza quando se da Goback assim nao podendo Bugar a ball) - Por isso estou trabalhando nele ja esta ate Online =)1 ponto
-
[Pedido] Sprite de um mega para poketibia
Aqui, faça bom uso... REP+1 ponto
-
Shisen Biku Aishi
Shisen Biku Aishi
luanluciano93 reagiu a Sanieg por uma resposta no tópico
1 pontoGalera resolvi fazer uma "mistureba" em alguns scripts aqui do TK e deu noque deu... oque vai acontecer ? Video de como ficou no meu servidor: Video_1429708800.wmv-FAVOR IGNORAR O SOM (PRESTE ATENÇÃO O SOM ESTÁ MUITO ALTO) scan do vídeo: CLIQUE AQUI ------------------------------------------------ Vamos ao script... abra data/spells/scripts e crie um arquivo com o nome reflect.lua e dentro dele coloque: e salve. agora em data/spells abra spells.xml e em baixo do ULTIMO </instant> agora abra data/creaturescripts/scripts crie um arquivo com o nome reflect.lua e dentro coloque: agora ainda em data/creaturescripts/scripts crie um arquivo com o nome setstoragepassiva.lua e dentro: agora por ultimo ainda em data/creaturescripts/scripts crie o arquivo com o nome reborn.lua e dentro: agora em data/creaturescripts abra creaturescripts.xml e coloque essas tags: agora abra login.lua e coloque: Editavel: Galera melhor não mexer nas storages Em cada script tem uma linha com {-- AQUI A MENSAGEM} ou seja explicando oque é para fazer e oque configurar Necessário configurar a posição do aegis dimension no reborn.lua que fica em data/creaturescripts/scripts para criar uma aegis dimension faça o seguinte: Crie uma area completamente com Non-PVP e No-Logout exemplo: creditos da foto: Xwhitewolf CREDITOS: XWhiteWolf Pelo Aegis e Reflect. Wakon Pelo suporte ao script de heal + set storage. A mim por juntar ambas coisas e formar isso que eu chamo de shisen biku aishi. Favor não custa nem 1 minuto de seu tempo, se valorizou algo neste tópico clique em gostei que já estará me ajudando.1 ponto -
[Showoff] Darkressxx1
[Showoff] Darkressxx1
luanluciano93 reagiu a Darkressxx1 por uma resposta no tópico
1 pontoNecro-post OP.1 ponto -
Página de Pagamentos [Depósito, Paypal e PagSeguro]
Página de Pagamentos [Depósito, Paypal e PagSeguro]
Liane Maria reagiu a luanluciano93 por uma resposta no tópico
1 ponto@Douglas Camargo, você implmentou corretamente o código? nos comentários tem o modo dele para colocar no gesior.1 ponto -
Entendendo Scripts,Rune,Spells,Monsters,etc...
ANTES DE TUDO ME AJUDE! NÃO SEI SE POSTEI NA ÁREA CERTA! Por Favor Mova! Aprenda a fazer seus próprios Monstros, Spells e NPC Basicamente scripts sao o conjunto dos códigos que formam os arquivos de players, monster, spells, etc. Nesse tutorial vou ensinar tudo, pra vc sair daqui fazendo monstros, spells e tudo mais. E se no final houver alguma duvida poste aqui que serei grato em ajudar. Neste Tutorial existem varios comandos básicos, bons para iniciantes, parte por parte é explicada, visando um maior entendimento sobre o assunto. Vamos lá! SPELLS Primeiro vamos falar sobre as spells Existem as spells de instant e as spells de rune, as spells de instant sao aquelas em q o monstro usa nele, e as de runa ele vai usar em vc. Entao a primeira coisa que precisamos fazer é decidir se vamos fazer uma spell de runa ou de instant, vou mostrar aqui apenas um exemplo, se nao o topico ficara muito grande. Vamos começar, seguindo um exemplo de uma magia minha: Primeiro, crie um arquivo chamado crossover.lua, na pasta Data>Spells>Instant Começamos o script com isso: CODE area = { {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, } Essa é a area em que a magia ira pegar, o numero 0 simboliza os espaços que a magia nao pega e os numeros 1, os lugares onde acontecerá a magia, no exemplo acima, é uma magia em forma de cruz Pulamos entao uma linha e acrescentamos isso: CODE attackType = ATTACK_PHYSICAL needDirection = false areaEffect = NM_ME_YELLOW_RINGS animationEffect = NM_ANI_NONE hitEffect = NM_ME_HIT_AREA damageEffect = NM_ME_DRAW_BLOOD animationColor = BLACK_WHITE offensive = true drawblood = true Vamos às explicações: attackType = o tipo de ataque que será, no exemplo será um ataque fisico, mas tbm poderia ser um ataque de fogo, ou de energy needDirection = se o ataque precisa de direção, como as firewaves areaEffect = o tipo de animação que saira na area na magia animationEffect = a animação de quando o player sofrer dano da magia damageEffect = o efeito que saira quando o player receber o dano animationColor = a cor da animação da Magia offensive = se a magia é de ataque ou nao drawblood = se embaixo do player vai sair sangue quando ele receber a magia Explicado, pulamos uma linha e adicionamos: CODE UltimateExplosionObject = MagicDamageObject(attackType, animationEffect, hitEffect, damageEffect, animationColor, offensive, drawblood, 0, 0) Essa é a função que fara com q oq explicamos acima funcione, pulamos outra linha e acrescentamos: CODE function onCast(cid, creaturePos, level, maglv, var) centerpos = {x=creaturePos.x, y=creaturePos.y, z=creaturePos.z} n = tonumber(var) if n ~= nil then -- bugged -- ultimateExplosionObject.minDmg = var+0 -- UltimateExplosionObject.maxDmg = var+0 UltimateExplosionObject.minDmg = 0 UltimateExplosionObject.maxDmg = 0 else UltimateExplosionObject.minDmg = (level * 2 + maglv * 3) * 2.6 - 30 UltimateExplosionObject.maxDmg = (level * 2 + maglv * 3) * 3.0 end Essa é a fórmula do Dano que o player irá tomar ao receber a magia, agora pra finalizar adiconamos: CODE return doAreaMagic(cid, centerpos, needDirection, areaEffect, area, UltimateExplosionObject:ordered()) end Pronto ja terminamos nossa primeira spell, agora para faze-la funcionar precisamos acrescenta-la aou arquivo spells.xml vamos lá, na pasta Data>Spells abra o arquivo spells.xml e na sessao de INSTANT, acrescente esta linha: CODE spell name="CrossOver" words="crossover" maglv="12" mana="160" enabled="1">/> Explicando: spell name = nome da magia (pode ser qualquer um) words = as palavras magicas que terao que ser ditas pra magia funcionar (tem q ser igual ao nome do script da magia) magvl = maglv necessario para usar essa magia mana = mana que será gasta enabled = se a magia esta abilitada ou nao vocation id = para quais vocações essa magia funcionará, no caso acima ela so funciona pra sorc e druid ------------------ MONSTERS Spell criada, vamos passar para o Monstro que usara esta spell Crie um arquivo .xml com um nome qualquer na pasta Data>Monsters CODE1 ponto
-
(Resolvido)Spell que faz chover arrows
(Resolvido)Spell que faz chover arrows
Miragem reagiu a xWhiteWolf por uma resposta no tópico
1 pontolocal waves = 8 --- numero de vezes que vão cair as flechas local water = {490, 491, 492, 493, 4608, 4609, 4610, 4611, 4612, 4613, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625} local combat = createCombatObject() local meteor = createCombatObject() setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(meteor, COMBAT_PARAM_USECHARGES, TRUE) setCombatParam(meteor, COMBAT_PARAM_EFFECT, 9) setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -30, -50, -40, -55) local meteor_water = createCombatObject() setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(meteor_water, COMBAT_PARAM_USECHARGES, TRUE) setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, 1) setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -30, -50, -40, -55) combat_arr = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local combat_area = createCombatArea(combat_arr) setCombatArea(combat, combat_area) local function meteorCast(p) doCombat(p.cid, p.combat, positionToVariant(p.pos)) end local function stunEffect(cid) doSendMagicEffect(getThingPos(cid), CONST_ME_STUN) end function onTargetTile(cid, pos) if (math.random(0, 6) == 6) then local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}) if (isInArray(water, ground.itemid) == TRUE) then local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z} doSendDistanceShoot(newpos, pos, CONST_ANI_HOLY) addEvent(meteorCast, 200, {cid = cid, pos = pos, combat = meteor_water}) else local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z} doSendDistanceShoot(newpos, pos, CONST_ANI_ARROW) addEvent(meteorCast, 200, {cid = cid,pos = pos, combat = meteor}) end end end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) for i = 0, waves do addEvent(function() if isCreature(cid) then doCombat(cid, combat, var) end end, 200 * i) end return true end <instant name="Supreme Paladin" words="exevo mas gran con" lvl="350" mana="1500" prem="1" needtarget="1" exhaustion="2000" needlearn="0" event="script" value="especiais/paladin.lua"> <vocation id="7"/> </instant> Prontinho, editei e agr tá igualzinho vc quer.1 ponto -
[action] Canoa em Movimento
1 pontoSe você usa TFS 0.3/0.4, adicione isto em "data/lib/050-function.lua" (se você ja não tiver). function doSetItemActionId(uid, actionid) return doItemSetAttribute(uid, "aid", actionid) end1 ponto
-
(Resolvido)[ERROR] Npcs não respondem
(Resolvido)[ERROR] Npcs não respondem
Raziel Frehley reagiu a Markin por uma resposta no tópico
1 pontoVai em npc/lib/npcsystem abre o arquivo npchandler.lua apague tudo e coloque isso. Faça uma copia do npchandler.lua antes pois se bugar se ainda tem o outro...1 ponto -
Missão por experiencia
1 pontoNPC Mission Servidor testado: TFS Autor: kawon Primeiro crie um arquivo npc_mission.xml dentro da pasta data/npc/. E coloque isso: Em seguida crie um arquivo mission.lua na pasta /data/npc/scripts/ E adicione isso: Transcrições: PLAYER: hi NPC: Hello |PLAYERNAME|. You can started 'quest'? PLAYER: quest NPC: Ok, you can started "first mission"? PLAYER: first mission NPC: Please bring me 10 "meat" PLAYER: meat When player finish this mission NPC: You finished this mission. When player do first once NPC: Thank you! You can started "second mission".. (you received 1000 points of experience) When player don't have 10 meat NPC: You must have more items1 ponto