Tudo que SuggestName postou
-
J4 - Speed Art | Kyou
Posso pedir uma também ? Se puder fazer uma do meu main, Yasuo Procurado, ou Riven Redimida, ficaria muito agradecido.
- (Resolvido)tabela mysql simples
-
[Showoff] - SuggestName Client Edition
Sei sim, sou programador java e uso muito isso, o que você não entendeu é que meu module só reorganiza a formatação das janelas do cliente, Image você ter que editar modulo por modulo para obter o resultado que eu criei com apenas um modulo. Se meu modulo for desativo o cliente irá funcionar PERFEITAMENTE, e o mesmo com ele ativado, eu tomo o cuidado de testar sempre o que eu faço, e meu modulo tenho 100% de certeza que meu modulo NUNCA vai fazer o otclient parar de funcionar.
-
Problema compilar OtClient
Fala pessoal, eu estou com um problema para compilar o otclient Não consegue abrir o arquivo 'al.h' Acho que declarei tudo certo Include Libs E o erro é esse : Alguém sabe como resolver ?
-
[Showoff] - SuggestName Client Edition
Este tópico é voltado para mostrar meus progressos com a edição do OtClient, Seja na criação ou ativação de features que já existem no mesmo. Novo Character List Reposicionamento do nome das criaturas Observações do sistema: Esse sistema conta com um arquivo de configuração aonde é possível editar a posição do Nome / HP da criatura para aonde desejar, assim deixando visualmente mais bonito os personagens. Recolorimento do nome das criaturas Observações do sistema: Esse sistema conta com um arquivo de configuração aonde é possível editar a acor do Nome / HP da criatura como desejar, assim deixando visualmente mais bonitos os personagens. Aumento da visão do player adicionado Tutorial de instalação desse sistema : http://otland.net/threads/tutorial-adding-more-tiles-to-game-window.228243/ Transparência ativa Para usar só precisa ativar: g_game.enableFeature(GameSpritesAlphaChannel)
-
Bug Tibiaking
Estou com esse problema também, uso crome testei no IE e não adiantou, problema com spoilers e o formatador de tópicos e comentários, to tendo que formatar meus tópicos na marra
-
Aula de Script Lua - OT SERVER
Pessoa formatei meu PC e por isso não vou conseguir dar as aulas de hoje e de ontem, estou preparando algo novo para mostrar as varias possibilidades de scripts em movements, e alguns segredos de um dos scripts mais diferentes do mundo open tibia. Aula 003 ja Disponível http://www.tibiaking.com/forum/topic/47465-003-actions-manuseando-par%C3%A2metros/
-
[003] - Actions - Manuseando Parâmetros
Boa Noite pessoal, dando continuidade a série de tutoriais hoje eu venho trazer mais alguns exemplos de como podemos trabalhar com os parâmetros (position, lastposition, from position e toposition) só que agora em uma action simples. 1° Eu Criei uma função para verificar uma área pré-determinada a procura de creatures, e salva-las em um array. function getCreatureInArea(pos, area) local centro = {} local uids = {} for y = 1, table.getn(area) do for x = 1, table.getn(area[y]) do if area[y][x] > 0 then centro.x = math.floor(table.getn(area[y])/2)+1 centro.y = math.floor(table.getn(area) / 2 ) +1 local Cpos = { x = pos.x + x - centro.x, y = pos.y + y - centro.y, z = pos.z} if isCreature(getTopCreature(Cpos).uid) then table.insert(uids, getTopCreature(Cpos).uid) end end end end return uids end Nessa função eu entro dentro de um array e transformo ele em posições in-game, checo cada uma a procura de creatures que e guardo seu UID dentro de um outro array, e retorno ele no final do script. O Importante dentro dessa função é entender como eu transformo posições de um array em posições in-game, vamos analisar algumas coisas. 1° coisa é analisar a forma no qual o array é construído: local arr1 = { {1, 1, 1}, {1, 1, 1}, {1, 1, 1}, } Esse é um array simples, cada par de chaves "{ }", corresponde a um elemento dentro do array, e cada numero um valor. 2° Coisa a ser feita e analisarmos o código Declaração do nome da função e seus parâmetros function getCreatureInArea(pos, area) Declaração do Array local centro = {} local uids = {} Cria-se um Laço ( for ) com uma variável "y" inicializada no 1, depois obtêm a quantidade de elementos ( Ou grupos de chaves "{ }" ) Da nossa área com a função ( table.getn() ) for y = 1, table.getn(area) do Cria-se um Laço ( for ) com uma variável "x" inicializada no 1, depois obtêm a quantidade de valores dentro do nosso elemento ( 1, 1, 1 ) com a função ( table.getn() ) for x = 1, table.getn(area[y]) do Cria um check ( if ) entrando dentro da área usando os valores obtidos no x e y, e verificando se os valores dentro da nossa área são maiores que 0 ( Para caso queira construir uma área aonde algumas posições não sejam verificadas ) if area[y][x] > 0 then [Exemplo de área aonde posições não seriam verificadas] : local arr1 = { {0, 1, 1, 1, 0}, {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}, {0, 1, 1, 1, 0}, } Define dentro de um novo atributo do array ( centro.x, centro.y ) e adiciona dentro dele a divisão exata ( Arredondado para baixo caso seja um numero quebrado ) da quantidade de elementos da nossa área, somando +1 no final centro.x = math.floor(table.getn(area[y])/2)+1 centro.y = math.floor(table.getn(area) / 2 ) +1 [Observação] : Caso não tenha entendido esse calculo ele é simples, a função ( math.floor ) arredonda um numero para baixo, a função ( table.getn(area[y]) ) retorna a quantidade de valores dentro do nosso elemento {1, 1, 1}, No total 3 valores, ai com o numero 3 ele divide por 2, 3 / 2 = 1.5, e some +1 ao resultado dessa divisão, 1.5 + 1 = 2.5, Lembrando que estamos usando a função math.floor e ela arredonda números quebrados para baixo 2.5 = 2 E o mesmo para o centro.y com uma diferença, ao invés de contarmos os valores dentro do elemento, contamos os próprios elementos ( table.getn(area) ) 1 = {1, 1, 1}, 2 = {1, 1, 1}, 3 = {1, 1, 1}, Que retorna o mesmo resultado "2". Agora Vamos transformas nossa área em posições no mapa local Cpos = { x = pos.x + x - centro.x, y = pos.y + y - centro.y, z = pos.z} Primeiro criamos um array de posições ( {x = ?, y = ?, z = ? } ), depois preenchemos os valores com um simples calculo: pos.x ( Essa é a posição de onde o item vai ser usado in-game ) + x ( Aquele x inicializado no for ) - centro.x ( Nosso calculo da soma e divisão dos valores dos elementos nas tabelas ), Bem, o x ( do for ) inicia em 1 , depois temos uma pos.x ( Posição in-game ) que assumiremos ser "1000", e nosso valor centro.x que sabemos ser 2. ( 1000 + 1 - 2 ) = 999 Então dentro do nosso array de posições podemos preencher o x com esse valor do mapa ( {x = 999, y = ?, z = ? } ) e a mesma coisa para o y ( OBS: o Z não é calculado no script pois é o mesmo que vem com a posição que é informada no parâmetro. ). Se você perceber, a unica variável que vai mudar é o x ( Do laço for ) que vai rodar 3 vezes ( Porque temos 3 valores dentro do nosso elemento ), 1° volta = ( 1000 + 1 - 2 ) = 999 2° volta = ( 1000 + 2 - 2 ) = 1000 3° volta = ( 1000 + 3 - 2 ) = 1001 Isso ja são 3 posições no mapa, agora esse código roda ( 3 vezes no x + 3 vezes no y ( No For ) ), 3x3 = 9, Então com esse nossa array de área conseguimos verificar 9 posições in-game. Essa é a verificação das creatures por posições no mapa geradas pelos nossos cálculos if isCreature(getTopCreature(Cpos).uid) then table.insert(uids, getTopCreature(Cpos).uid) end E esse é o retorno do array com os valores dos UID's encontrados pelos verificador de creatures return uids end Depois temos a parte do Action function onUse(cid, item, fromPosition, itemEx, toPosition) local arr1 = { {1, 1, 1}, {1, 1, 1}, {1, 1, 1}, } doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED) local creaturesArray = getCreatureInArea(toPosition, arr1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Creatures Detecteds: ".. table.getn(creaturesArray)) for k, v in pairs(creaturesArray) do doSendMagicEffect(getCreaturePosition(v), CONST_ME_HOLYDAMAGE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Creatures Name: ".. getPlayerName(v)) end end Nesse script informamos a nossa área que verificaremos local arr1 = { {1, 1, 1}, {1, 1, 1}, {1, 1, 1}, } Depois mandamos um efeito aonde o item foi usado doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED) Usamos a função criada local creaturesArray = getCreatureInArea(toPosition, arr1) Preenchendo os 2 parâmetros ( toPosition = Posição de onde o item foi usado, arr1 = Nossa área ) Enviamos uma mensagem para o player com a quantidade total de creatures encontradas usando a função ( table.getn() ) para retornar a quantidade de elementos dentro do nosso array. doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Creatures Detecteds: ".. table.getn(creaturesArray)) Criamos um laço ( for ) Para rodar uma vez para cada creature encontrada for k, v in pairs(creaturesArray) do Enviamos um efeito de onde a creature foi encontrada, e uma mensagem para o player com o nome dela doSendMagicEffect(getCreaturePosition(v), CONST_ME_HOLYDAMAGE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Creatures Name: ".. getPlayerName(v)) Essa é uma aula explicando como as posições podem ser exploradas, veja que com o toposition conseguimos criar uma área de verificações pre-definida e dar uma ação para essa área.
-
Aula de Script Lua - OT SERVER
Segunda aula on: http://www.tibiaking.com/forum/topic/47358-002-movements-manuseando-par%C3%A2metros/
-
Aula de Script Lua - OT SERVER
Tinha caído esta de volta agora.
-
Aula de Script Lua - OT SERVER
Esta no ar pessoal a segunda aula começa agora http://www.twitch.tv/Suggestname
-
[001] - Movements - StepIn/StepOut: Parâmetros
Aula 001 Movements- Explicação de parâmetros. Dentro das funções StepIn/StepOut temos alguns parâmetros que podem ser muito uteis para alguns tipos de scripts. Esses parâmetros são: position, lastPosition, fromPosition, toPosition 1° Parâmetro - position Esse parâmetro é o responsável por mostrar a posição de onde o script foi ativado, Toda vez que um player ou creature executar um movement StepIn/StepOut o parametro position vai marcar a exata posição de onde o script foi ativado. 2/3 ° Parâmetros - lastPosition, fromPosition Esses dois parâmetros tem a mesma função, que é registrar de onde o player ou creature que executou o script veio, Toda vez que um player ou creature se move, ele sai de um lugar, passar por outro lugar e termina em outra posição, e a função do lastPosition, fromPosition é mostrar de onde esse player ou creature vieram antes de ativar o script. 4° Parâmetro - toPosition Esse parâmetro tem como objetivo mostrar para onde o player ou creature foram depois de executar o script, Como dito antes, Toda vez que um player ou creature se move, ele sai de um lugar, passar por um lugar e termina em uma outra posição, e essa posição aonde ele termina a sua ação é o toPosition. Quais quer duvidas, ou acrecemos que tenham a fazer no tópico serão bem vindos, Afinal eu não sei tudo, me desculpe se errei em alguma coisa, Essa é a explicação da primeira vídeo aula [9/12/2014]
-
Aula de Script Lua - OT SERVER
Pessoal, Hoje as 8 horas vai ter a continuação das explicações sobre movements. http://www.twitch.tv/Suggestname
-
Aula de Script Lua - OT SERVER
Você pego pela metade fera '-', Vou planejar melhor as aulas, não fiz isso hoje, queria explicar apenas como funcionavam o position, topostion, e fromposition e o lastpostion. Amanha vou trazer algo melhor planejado.
-
Aula de Script Lua - OT SERVER
Desculpe, tinha saído com um espaço a mais no final do link, try again. Stream ON pessoal. http://www.twitch.tv/Suggestname
-
Aula de Script Lua - OT SERVER
Boa Noite pessoal aqui é o suggestname, e eu venho apresentar para vocês um novo projeto que eu estou criando, Que seriam aulas de script ao vivo. Como alguns ja sabem, eu sou o antigo BananaFight e tenho bastante experiencia com lua, e programo em Java. Meu projeto é para ajudar aqueles com algumas duvidas em relação a linguagem LUA, e dar dicas de como trabalhar com ela voltada para otserver. Meu canal de transmissão das aulas será o twitch TV, no link http://www.twitch.tv/Suggestname Aguardo todos os interessados. Se o tópico estiver na areá incorreta, me desculpe, estou a muito tempo afastado e posso ter me confundido, porfavor alguém capacitado mover para área correta. Estou criando um grupo no Raidcall para conversar com todos os interessados em aprender e tirar suas duvidas. Nome do grupo: SuggestName Aulas de Script ID: 10119067
- [MOD] Novo BroadCast
-
Nego Drama
Me chama de negro e vem ser Racista na minha casa.
-
mini tutorial de como fazer um mondulo(mods)
Falto bastante coisas a serem explicadas, mais como é um mini tutorial esta bom, Parabéns ao criado do tutorial e a você por trazer para o fórum.
-
[LUA PURA] Procurando linha
Facil local tb = {} table.insert(tb, "Guild1,Player1@Player2@Player3") table.insert(tb, "Guild2,Player4@Player5") for k, v in pairs(tb) do if string.find(v, "Guild1") then print(v) end end
- Imagina o Catra...
-
Poke Skyfall Recruta
Olá jovens, Hoje em nome da equipe Pokemon Skyfall venho anunciar que algumas vagas foram abertas. Bom, Para aqueles que ainda não conhecem o projeto Pokemon Skyfall, vou deixar o link da pagina do facebook, e de outro tópico que da a introdução do projeto. Introdução ao projeto: http://www.tibiaking.com/forum/topic/37070-pokemon-skyfall/#entry210441 Pagina no facebook: https://www.facebook.com/PokemonSkyfall?fref=nf Agora devidamente apresentados, vamos as vagas abertas. Foi decidido em uma reunião interna da equipe que precisamos de mais pessoas qualificadas para ajudar no projeto, Atualmente no projeto temos duas áreas em carência, Elas são, Mapper e Designer. Já existem 2 mappers que trabalham no projeto, mais como mapa é uma coisa que demanda muito tempo e trabalho, achamos necessário a ajuda de mais uma pessoa, para que ninguém fique sobrecarregado. Para a vaga de designer, precisamos de alguém que saiba criar interfaces para o cliente ( Apenas fazer os gráficos ), E que possa criar logos, imagens de fundo e tudo que for necessário. a fixa de cadastro é bastante simples, Aqueles que querem se candidatar a vaga, devem enviar uma mensagem privada para minha conta com o nome, idade, contato, e alguns exemplos que possamos usar para avaliar o nível de seu trabalho. A equipe Skyfall agradece a atenção de todos, e deseja boa sorte aos candidatos.
-
OTClient 0.6.5 - 10.41
Keep Calm, Só estava reportando um erro, Assim alguém que manja dos photoshop pode arrumar.
-
The Forgotten Server 1.0
Sem duvidas ficou muito bom, Só algumas coisas que eu acho que poderiam ter herdado das versões anteriores do TFS, Como salvar atributos em itens.
-
(Resolvido)CORREÇÃO
Acho difícil não funcionar agora function onCastSpell(cid, var) local creature = Creature(cid) local pos = creature:getPosition() local summon = doSummonCreature("Minion of Gaz'Haragoth", pos) if ( summon ) then doCreatureSay(cid, "Minions! Follow my call!", TALKTYPE_MONSTER_YELL) monster = Monster(summon) monster:setMaster(creature) pos:sendMagicEffect(CONST_ME_MAGIC_RED) end return true end Caso aconteça algum erro, Porfavor, cole ele aqui no tópico.