Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 05/19/20 em todas áreas
-
Nolis Show Off
7 pontosDargor, Treiners e Sul7 pontos
-
LanEngine
Bom, recentemente estava vagando pelo meu facebook quando vi alguem querendo vender essa dll que sinceramente faz quase a mesma coisa que o ninja ripper que é extrair spr em png. Não vejo pra que vender ela então irei postar aqui para os interessados. Como usar: Troque o driver do jogo para OPENGL e jogue tudo da pasta LanEngine para dentro da pasta do jogo e aperte F1. Você pode modificar o programa abrindo a LanEngine.dll como bloco de notas ou notepad++. LanEngine Scan Creditos: Não sei quem fez...5 pontos
-
[BASE] NARUTO ATOM ONLINE - LINUX
[BASE] NARUTO ATOM ONLINE - LINUX
bankaidai2 e 2 outros reagiu a M ustang por uma resposta no tópico
3 pontosBom, esses últimos dias ai vou fazer um agrado pra comunidade de tibia derivado. Hoje vou postar a base do Naruto Atom Online. ( baixe por conta e risco ) [+] Bom contem tudo do atom. [+] [+] Mesmas vocs. [+] [+] Mesmos sistemas. [+] [+] Mesmo mapa. [+] [+] Mesmo tudo. [+] OBS: CONTEÚDO PRÓPRIO PARA ESTE FÓRUM COMO FOI COMPRADO QUERO O CONTEÚDO SÓ AQUI NÃO ESTÁ LIBERADO A POSTAGEM EM OUTROS FÓRUNS Download Client ( use algum molebox unpacker) Source Créditos: Naruto Atom Online. ( o servidor foi comprado caso precise de provas eu mando )3 pontos -
Prroblema ao criar char / Error occured! Error ID: Cannot save ItemsList. Player ID not set. More info:
Prroblema ao criar char / Error occured! Error ID: Cannot save ItemsList. Player ID not set. More info:
Ryaan e um outro reagiu a Drakon21 por uma resposta no tópico
2 pontosBoa tarde galera, alguem poderia me ajudar estou tentando criar um char no meu site após instalar a maquina ubuntu 16.04 mas sempre da o mesmo erro. Error occured! Error ID: Cannot save ItemsList. Player ID not set. More info: File: /var/www/html/classes/itemslist.php Line: 67 File: /var/www/html/classes/player.php Line: 87 File: /var/www/html/pages/accountmanagement.php Line: 2380 File: /var/www/html/system/load.page.php Line: 7 File: /var/www/html/index.php Line: 37 já segui o procedimento desse video https://www.youtube.com/watch?v=bRg68tttucQ&feature=youtu.be rodei o comando SET GLOBAL sql_mode=''; na db mas também não funcionou, resolveu meu problema de criar ACC que também estava dando erro mas o de criar char continua a mesma coisa.. já tentei de tudo e nada funciona, quando tinha um gesior antigo e dava o mesmo erro apenas rodava esse comando na DB e voltava ao normal mas agora não funciona.. no xampp funciona normal mas agora que instalei no ubuntu e ta o php 7 começou dar esse erro, alguem poderia ajudar. EDIT : Bom fiquei fuçando nesse negocio e por acaso comparando minha DB antiga com a minha nova apenas tive que colocar 1 alteração alem de tudo que fiz como dito acima, fui na tabela "players" depois "operações" e substitui o AUTO_INCREMENT que estava "12" por "9118" e consegui criar o char normal agora.2 pontos -
Nolis Show Off
Nolis Show Off
Bruxo Ots e um outro reagiu a Cat por uma resposta no tópico
2 pontosObrigado pelos comentários gente, isso me motiva muito! Aos poucos evoluindo esse mapa gigantee kk @xWhiteWolf Esse pack de sprites ajuda bastante, mas realmente foi desafiador aplicar um conceito mais clean depois dos excessos de Amazonia e sujeira de Seruse, mas no fim fluiu bem. @Bruxo Ots Fico feliz que use ela, na época eu não deveria ter postado, me arrependi depois afinal o projeto continuou. Mas sem problema algum, já vi ela em alguns ots, fico mó feliz de ver os players jogando. Eu upei em amazonia em um ot e tinha pk, tentei fugir pelas minhas rotas secretas mas eles já manjavam kkkkk fui pklizado no meu próprio mapa ? #Dargor Depot2 pontos -
SITE & TEMPLATE NTO World (Completo)
Olá, Membros do tibiaking. Como o @M ustang trouxe o servidor NTO ATOM Estou trazendo o site do Naruto World. usado pelo os donos do NTO ATOM. é um site completo e longe de erros/bugs. O que foi retirado: Retirado todos os sql injection. Arrumado bugs e erros. Version do xampp: Versão xampp: V1.8.2-2 - Versão php: 5 Download: Xampp: Scan's Print's Como resolver os erros: Warning: include(C:\xampp\htdocs\system\application\libraries\sysplugins\smarty_internal_data.php): failed to open stream: No such file or directory in C:\xampp\htdocs\system\application\libraries\Smarty.class.php on line 768 Warning: include(): Failed opening 'C:\xampp\htdocs\system\application\libraries\sysplugins\smarty_internal_data.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\system\application\libraries\Smarty.class.php on line 768 Fatal error: Class 'Smarty_Internal_Data' not found in C:\xampp\htdocs\system\application\libraries\Smarty.class.php on line 109 Vá até C:\xampp\htdocs\system\application\libraries Depois baixe esses arquivo e jogue tudo dentro da pasta sysplugins. e pronto, estará funcionando novamente! https://www.mediafire.com/file/jfhydg7p81hjbj7/sysplugins.zip/file Créditos: - Italo 100%1 ponto
-
[8.6] Task System 4.0! (Task system + Daily Task System)
Removido: *Boss Room *Rank Task *Prêmios para os 10 primeiros a terminar todas as tasks Adicionado: *Daily Task System (Sistema exclusivo de Task diario, podendo pegar 1x a cada 24 hrs, irei explicar mais depois.) *Task agora é por progresso, você não pode sair e voltar, terá que terminar a task 1 para avançar para a task 2, assim sucessivamente. *Task Points *Level para realizar a task *Nova talkaction que mostra uma janela de informações sobre o level da task, premios que irá receber, progresso, etc... *Items para entrega(Se o jogador deverá levar algum item junto com a quantidade de monstro morta) para finalizar a task *Sistema de look Task (Varia de acordo com a sua quantidade de Task Points, podendo ficar por exemplo como "Huntsman", "Ranger", etc...(alterável) *Mods e npc mais "clean", várias linhas removidas e o sistema está mais rápido *Vou Adicionar "scripts extras" Como: --> Tile que só passa quem tiver permissão depois de finalizar determinada quest --> Npc de Boss Room para entrar e enfrentar o monstro quem fez determinada quest [+] Resumo do Task system + Daily Task System [+] Task System: É o sistema de task "original", onde consiste em matar determinada quantidade de monstros(E entregar certo itens <- é configurável), para receber recompensas como Exp, Money e Items. Algumas mudanças do simple task 3.0 para o 4.0 foram: [+] O sistema agora é por progresso, isso quer dizer que você terá que ir terminando a quest para avançar para a seguinte. [+] O sistema Também recebeu uma alteração, fazendo com que as Tasks precisem que o jogador tenha um level determinado [+] A tabela para edição está mais fácil, fazendo com que você adicione ou remova monstros com mais tranquilidade, inclusive alterações das Rewards da Task. Daily Task System: É um sistema que desenvolvi para que os jogadores sempre estejam se comunicando com o npc de Task, no caso da Task Diaria, vária de acordo com o level do jogador, por exemplo: Jogadores entre level 6 ao 49 poderá cair em uma dessas 3 Task Diarias: Orcs, Tarantulas ou Wyverns Jogadores entre level 50 ao 79 poderá cair em uma dessas 3 Task Diarias: Dragons, Wailing Widows ou Ancient Scarabs E por ai vai, claro que você poderá aumentar as Task Diarias dependendo do level, eu fiz 3 para cada level que é pra postar, mas tudo isso você pode aumentar! Dependendo do seu servidor. E sim, você pode fazer a TASK "ORIGINAL" e a TASK "DIARIA" ao mesmo tempo! Ambas são distintas e possuem Rewards diferenciadas! No caso da Task diaria, levando em conta que você começou a fazer ela no dia 08/01 ás 20:00 Hrs, você tem até o dia 09/01 ás 20:00Hrs para termina-la e receber a recompensa, caso termine antes, a Task diaria só irá ficar disponível para repetição a partir desta mesma data 09/01 20:00 Hrs; [+] Caso você não termine a tempo, não tem problema, basta esperar este horário e começar uma nova Task. [+] Caso você começou a Daily Task e terminou antes desta data. mas por algum motivo esqueceu de entregar e a mesma passou do prazo, não tem importância, caso você tenha matado todos os monstros até 09/01 20:00 Hrs, você poderá entregar está Task em qualquer horário para receber suas Rewards e começar uma task a partir do momento em que você entregou! (INJUSTIÇA AQUI NÃO CARALHO). [+] Comandos Adicionais [+] /task -- Mostra as informações da sua Task Atual, como Nome da Task, Level, Rewards, Monstros que você poderá matar, Se tem que entregar algum Item junto, etc... /task daily -- É basicamente mostra a mesma informação da Task Principal, porém mostra também qual o prazo limite para entrega da task. /task counter -- É um comando que ATIVA ou DESATIVA o contador de monstros mortos na task no seu Channel. [+] Imagens [+] Cline neste link para ver algumas imagens da Task : http://imgur.com/a/eLIY3 ------------------------------------------------ // -------------------------------------------------------------- [+] Instalação do Sistema [+] Requisitos: Nível Médio de conhecimento em scripting LUA Pasta Mods Simple Task.xml https://pastebin.com/raw/P5hqMC3j NPC: Ludger.xml https://pastebin.com/raw/R56yLWHw simple_task.lua https://pastebin.com/raw/1mRzJ6aJ ---------------------------------------------- // ---------------------------------- [+] configuração [+ ] Task System Principal task_sys = { [1] = {name = "Trolls", start = 176201, monsters_list = {"Troll","Troll champion"}, level = 8, count = 40, points = 0, items = {}, reward = {}, exp = 2000, money = 2000} } [1] --> O número entre os colchetes [] significa a ordem da Task, como a Task é por progresso sempre começará no 1 e irá pro [2], assim sucessivamente. name --> É o nome da task que o jogador irá fazer. start --> é a storage que indicará se o jogador começou a Task monster_list ={} --> É o nome dos monstros em que o jogador deverá caçar para completar a Task level --> É o level necessário para dar inicio á Task count --> É o número de monstros que o jogador tem que matar para completar a Task points --> Aqui determinada quantos Task points o jogador irá receber ao completar a Task items = {} --> Aqui determinada se além de matar os monstros, o jogador terá que entregar item também! Caso tenha só colocar o {ITEM_ID, QUANTIDADE} EX: items = {{2173,1},{2160,10},{2493,2}} rewad --> Aqui determinada se o jogador irá receber itens ao terminar a Task, mesma formula do items /\ reward = {{2520,1},{2173,1}} exp --> Se o jogador irá receber Exp ao terminar a task. 0 ou quantidade de exp Money --> Se o jogador irá receber dinheiro ao terminar a task. 0 ou quantidade de dinheiro Daily Task System daily_task = { [1] = {name = "Orcs" ,monsters_list = {"Orc Berserker","Orc Rider","Orc Leader","Orc Warlord"}, count = 100, points = 0, reward = {}, exp = 5000, money = 10000} } Segue o padrão da Task original, exceto que não precisa entregar items para o npc! Como funciona A randomização de level de acordo com a Daily task? Procure por está tabela em MODS local t = { [{6,49}] = {1,3}, [{50,79}] = {4,6}, [{80,129}] = {7,9}, [{130,math.huge}] = {10,12} } entre as chaves e colchetes é o level do jogador para as Daily Task, Você pode adicionar quantas você quiser! Digamos que: [{6,49}] = {1,3} --> Quer dizer que entre o level 6 ao 49 o jogador poderá cair na Daily Task número 1(Orcs), 2(Tarantulas) ou 3(Wyvern)! [{50,79}] = {4,6} --> Quer dizer que entre o level 50 ao 79 o jogador poderá cair na Daily Task número 4(Dragons), 5(Wailing Widows) ou 6(Ancient Scarabs)! ... [{130,math.huge}] = {10,12} --> Quer dizer que o jogador level 130 ou MAIS poderá cair na Daily Task número 10(Undead Dragons), 11(HydraS) ou 12(Ghastly Dragons)! Look Rank System Procure por está tabela em MODS local ranks = { [{1, 20}] = "Huntsman", [{21, 50}] = "Ranger", [{51, 100}] = "Big Game Hunter", [{101, 200}] = "Trophy Hunter", [{201, math.huge}] = "Elite Hunter" } Entre 1-20 Task points o Rank será Huntsman Entre 21-50 Task posints o Rank será Ranger Entre 51-100 Task Points o rank será Big Game Hunter etc... Altere como quiser!1 ponto
-
Modificando Extensions III - Doodads (montando objetos)
• Extensions Customizadas I - Grounds • Extensions Customizadas II - Walls > Extensions Customizadas III - Doodads (objetos montados) Os arquivos que serão editados serão estes abaixo, faça um backup antes de começar: • Mostrarei 4 tipos de Doodads que podem ser criados na paleta: 1 - Um item único simples. 2 - Itens que se conectam. 3 - Vários itens sortidos. 4 - Peças no andar superior e inferior, vertical e horizontal. Agora vou mostrar como funcionam os códigos desses doodads. Eles podem ser usados como modelo para criar outros. 1 - Item único. Em RME - data - versão - doddads.xml Usarei o item Lava Fountain como exemplo: <brush name="lava fountain" type="doodad" server_lookid="5074" draggable="true" on_blocking="false" thickness="100/100"> <alternate> -- south -- <item id="5074" chance="10"/> </alternate> <alternate> -- east -- <item id="5075" chance="10"/> </alternate> </brush> Brush Name: o nome que será identificado posteriormente em tilesets.xml, para ser cadastrado na paleta Type: Não mude. Server_lookid: Id do item que aparecerá na paleta. Draggable: Se o item é arrastável ou não. On_blocking: Se o item poderá ser colocado em cima de outros objetos ou void, ou apenas em um piso andável. Thickness: Não mude. • Para este item simples, veja que é possível adicionar outras versões do mesmo item, como por exemplo ele virado para outras direções, para isso você usa a tag: <alternate> conteúdo </alternate>. • No map editor, para alternar a direção do item utilize a tecla Z. Não precisa definir a direção do item no código, conforme você utilizar a tecla Z o item será alternado de acordo com a ordem que os objetos foram adicionados no código. 2 - Itens que se conectam: Em RME - data - versão - doddads.xml Usarei o item Stone Wall como exemplo: <brush name="stone railing2" type="wall" server_lookid="3481"> <wall type="pole"> <item id="3483" chance="1"/> </wall> <wall type="horizontal"> <item id="3481" chance="1"/> </wall> <wall type="vertical"> <item id="3482" chance="1"/> </wall> <wall type="corner"> <item id="3480" chance="1"/> </wall> </brush> • Type wall permite usar as tags "pole, horizontal, vertical e corner", para definir como os itens serão conectados, portanto não mude. Não esqueça de sempre fechar a tag corretamente <wall type...> ... </wall>. Wall type Pole id: Wall type Horizontal id: Wall type Vertical id: Wall type corner id: 3 - Itens sortidos: Em RME - data - versão - doddads.xml Usarei o item Stone Rocks como exemplo: <brush name="tiny stone rocks" type="doodad" server_lookid="3614" draggable="true" on_blocking="true" on_duplicate="true" thickness="50/100"> <item id="3610" chance="4"/> <item id="3611" chance="7"/> <item id="3613" chance="7"/> <item id="3614" chance="10"/> </brush> • Parecido com o código do Lava Fountain, a diferença é que nesse caso não tem a tag alternate, pois os itens não possuem uma direção específica. Mas possuem variedades, e isso pode ser feito simplesmente duplicando o código <item id..../> • Chance irá definir qual item aparecerá mais vezes e menos vezes. 4 - Peças no andar superior e inferior Em RME - data - versão - doddads.xml Usarei o item Waterfall como exemplo: <brush name="waterfall" type="doodad" server_lookid="3569" draggable="true" on_blocking="true" on_duplicate="true" thickness="100/100"> <alternate> <composite chance="10"> <tile x="0" y="0" z="0"> <item id="3569" chance="10"/> </tile> <tile x="0" y="1" z="0"> <item id="3573" chance="10"/> </tile> <tile x="0" y="0" z="-1"> <item id="3571" chance="10"/> </tile> </composite> </alternate> <alternate> <composite chance="10"> <tile x="0" y="0" z="0"> <item id="3570" chance="10"/> </tile> <tile x="1" y="0" z="0"> <item id="3574" chance="10"/> </tile> <tile x="0" y="0" z="-1"> <item id="3572" chance="10"/> </tile> </composite> </alternate> </brush> • Veja que para adicionar um item que contém uma parte dele no andar superior, usamos o esquema x, y, z dentro da tag <composite></composite>. Lembrando que: (o centro = 0 é o SQM onde for aplicado o conjunto de itens) - X representa a linha horizontal, positivo = vai para a direita, negativo = vai para a esquerda. - Y a vertical, positivo = vai para o sul, negativo = para o norte. - e Z floors (andares), sendo que Z negativo = para subir e Z positivo = para descer, Z = 0 representa o andar-centro (onde o item for aplicado). - Composite chance: mantenha o mesmo valor para ambas as opções • Nesse código foi usado a tag <Alternate></alternate> por que a cachoeira possui duas direções, e para alterná-las use a tecla Z. • Observando a primeira tag <alternate> veja a posição dos três itens: • Cadastre os doodads em tilesets.xml, use a ferramenta CTRL + F para procurar itens próximos ou paletas que você quer adicionar os itens e acrescente as tags: Exemplo: <brush name="lava fountain"/> • Use os códigos de modelo para criar novos itens. • O estilo de doodad (exemplo 4) pode ser usado para criar pontes, estátuas e outros objetos que possam ser montadas as partes. • Dúvidas? Comente.1 ponto
-
Vingeance's
1 pontoMaravilhoso! Você manteve o mapa yurots do GOD Bon, melhor, você melhorou e muito o mapa. Eu sou fãzaço deste mapa e seu trabalho ficou muito bom. Parabéns!1 ponto
-
Vingeance's
Vingeance's
luanluciano93 reagiu a Vingeance por uma resposta no tópico
1 ponto1 ponto- Adicionando Widget Discord no Site!
Fala pessoal do TibiaKing, meu nome é Waliston mais conhecido como Totten, trabalho com desenvolvimento de sites e vejo que muitas pessoas me perguntam como adicionar um Widget do Discord no site, e como não vi nenhum tutorial explicando sobre isso, eu resolvi ensinar passo a passo como fazer o mesmo. Adquirindo o código do Widget: Adicionando o Widget no Site: Resultado final:1 ponto- Script de Refinar item.
Script de Refinar item.
Jonathan01 reagiu a Storm por uma resposta no tópico
1 ponto@Jonathan01 Tenta assim, usando a primeira script que você mandou:1 ponto- LanEngine
Ótimo conteúdo amigo. Obrigado.1 ponto- Staff TibiaKing - Recrutamento
1 ponto@Erimyth gostaria de me inscrever para moderador já fui da equipe antes do fórum ser vendido comecei como suporte o antigo assistente e fui subindo de cargo até moderador tenho muitos anos de atividade no fórum e na comunidade tenho experiencia já no cargo.1 ponto- Staff TibiaKing - Recrutamento
1 pontoGostaria de me inscrever para a vaga de Moderador. Já estive na equipe do TibiaKing por algo em torno de um ano, atuando no cargo de Supporter e posteriormente Moderador. Venho contribuindo com o fórum a um bom tempo e estou interessado em ingressar na equipe. Já estive presente em momentos que foram difícil para o TK, nunca desisti do fórum e também não pretendo. Quando me ausentei do TK foi por desistido dos meus projetos relacionados a Tibia e também por imaturidade, mas hoje estou de volta e disposto ainda mais a contribuir com a comunidade.1 ponto- Nolis Show Off
1 ponto1 ponto- Sala com Boss
1 pontoEsse script é até bem simples, você adquire uma storage e ganha a permissão de entrar em uma sala especial através de um tile/portal para matar um Boss. Apenas uma pessoa por vez poderá entrar na sala. O jogador tem X minutos para matar o boss. A sala é aberta novamente em X minutos. Demonstrações Bom se você se você gostaria de implementar este script, você vai precisar criar uma área do seu gosto, posicionar um tile/teleport que desejar para o jogador poder entrar no local e outro para ele poder sair. O de tile/teleport de entrada precisará ter a actionid igual a 65535, e o de saida 65534. Após ter feito isso crie e modifique os arquivos abaixo. data/movements/scripts/boss.lua (configure as primeiras linhas a seu gosto) data/movements/movements.xml (se for usar 1 tile/teleport diferente para entrada e saída coloque duas linhas com os 2 ids) **Não se esqueça de configurar a areascan e areacenter, coloque a altura e largura minima e máxima da área onde o Boss estará, caso você não faça isso o Boss não será removido quando o local for fechado, e nem o player será expulso. **Recomendo que coloque no logout por toda a sala do Boss, evitando assim que engraçadinhos tentem atrapalhar os outros jogadores.1 ponto- Nolis Show Off
1 ponto1 ponto- [Aula 11] Funções
[Aula 11] Funções
robson pablo dos san reagiu a 3visan por uma resposta no tópico
1 pontoBem amigos da rede globo, estou aqui para dar continuidade as aulas. E a aula de hoje é sobre Funções, suas utilizações e como criar. O que são? Bom, você jovem padawan já deve ter se deparado com algo assim em algum script: function doPlayerAddAddons(cid, addon) for i = 0, table.maxn(maleOutfits) do doPlayerAddOutfit(cid, maleOutfits[i], addon) end for i = 0, table.maxn(femaleOutfits) do doPlayerAddOutfit(cid, femaleOutfits[i], addon) end end Peguei essa função no arquivo lib/functions.lua Isso é uma função (dãa). As funções são blocos de instruções (comandos) que o servidor lê e executa. Você tem a liberdade de criar elas na pasta lib e usar em todos os seus scripts ou apenas criar e usar em um unico script. Elas tambem podem ser criadas no próprio distro (sources) e compiladas, se tornando assim uma função própria do teu servidor. local items = {} for i=1,10 do if isPlayer(cid) and getPlayerSlotItem(cid, i).uid ~= (nil or 0) then table.insert(items, getPlayerSlotItem(cid, i).itemid) end end Isso retornaria os ids dos items do corpo do player. Mas agora suponhamos que você precisa usar isso umas 3x. Você teria que ficar repetindo isso pelas 3x. Então seria bem mais pratico criar um "atalho" para isso. E é ai que entra a parte das funções, tu cria uma função que irá executar esse bloco de ações toda vez que você chama-la. Exemplo: unction getPlayerItemsOnBody(cid) local items = {} for i=1,10 do if isPlayer(cid) and getPlayerSlotItem(cid, i).uid ~= (nil or 0) then table.insert(items, getPlayerSlotItem(cid, i)) end end return items end Agora, sempre que você precisar pegar todos os items do player, você apenas usa a função getPlayerItemsOnBody (Função criada pelo dalvorsn). function getPlayerItemsOnBody(cid) function - Nessa parte, estou declarando a função (tal como declarar uma variável) getPlayerItemsOnBody - Aqui estou declarando o nome da função (geralmente a primeira letra da primeira palavra é minuscula e o resto das primeiras letras das outras palavras são maiúsculas, mas isso é só frescura, nada obrigatório) (cid) - Aqui, eu estou declarando os parâmetros para a função. No caso só vou usar a cid. Mas você pode colocar os parâmetros que for precisar. 2º Parte: Escopo. local items = {} for i=1,10 do if isPlayer(cid) and getPlayerSlotItem(cid, i).uid ~= (nil or 0) then table.insert(items, getPlayerSlotItem(cid, i)) end end Esse é o escopo da função, onde você cria o corpo da função. Pode botar outras funções, variáveis, tabelas e estruturas de controle/repetição. 3º Parte: Return. return items Nessa linha, você especifica o que você quer que a função retorne. No meu caso, eu botei para retornar a tabela items. Tu pode botar valores booleanos, variáveis, tabelas e até outras funções. 4º Parte: Fechamento. end Bem, logicamente é nessa parte que você especifica o fim da função. Onde cria-las? Bom, existem duas maneiras de criar uma função: Função local. Criando uma função local no script, você poderá usa-la inúmeras vezes dentro do script. Porem, ela só poderá ser usada só nesse script. Função global (libs). Criando a função dentro de um arquivo .lua dentro da pasta libs do teu server, tu criará uma função global. Elas podem ser usadas em todos os seus scripts, sem restrições. Exercícios de fixação. Tu deverá criar uma função que mudará a town do personagem para a town escolhida e teleportará o player para tal town. Funções necessárias: getTownTemplePosition(townId) doPlayerSetTown(cid, townid) doTeleportThing(cid,pos) Funções Opcionais: doSendMagicEffect(pos, type) Resposta Creditos: 99% iuniX 1% Vittu Quais são suas utilidades? Vamos lá, suponhamos que você tenha que pegar todos os items do corpo de um player várias vezes. Tu teria que usar toda vez algo mais ou menos assim: Como fazer? Agora vamos começar criar nossas próprias funções. Vou explicar linha por linha. 1º Parte: Declaração da função, nome da função e parâmetros.1 ponto- Criando Funções
Criando Funções
robson pablo dos san reagiu a MaXwEllDeN por uma resposta no tópico
1 pontoO return é literalmente RETORNAR. Vamos ver uma função simples: function mostrar_oi() print("oi") end Essa função não retorna nada, ela simplesmente faz imprimir na tela "oi". Agora vamos pensar no seguinte caso: Eu quero uma função que me dê o valor da soma de dois números, como ficaria? function somar(numero1, numero2) return numero1 + numero2 end Bem, essa função vai somar os dois parâmetros(numero1, numero2) e retorná-los, mas você pensa: Como assim retorná-los? Seguinte: local ummaisdois = somar(1, 2) print(ummaisdois) O que aconteceria nesse caso aí seria: A função somar, iria somar o número 1 com o número 2, e guardaria o valor na variável ummaisdois. Sobre return true e false: Olha, o return vai retornar um valor como mostrado anteriormente. Então se eu colocar return true ele vai retornar verdadeiro, e se eu colocar return false ele vai retornar falso. O return true nas funções "callback" do Open Tibia, como na function onSay(cid, words, param) serve "para indicar se ocorreu tudo bem na execução da função". Se eu coloco um return true em uma function onSay, quando o personagem falar as palavras configuradas no talkaction.xml, o servidor vai executar o script, mas não vai fazer o player "falar". Quando você coloca um return false ele executa o script, só que o player "fala" as words que estavam no talkaction.xml.1 pontoLíderes está configurado para São Paulo/GMT-03:00 - Adicionando Widget Discord no Site!
Informação Importante
Confirmação de Termo