Ir para conteúdo

Nathannael

Campones
  • Total de itens

    45
  • Registro em

  • Última visita

Histórico de Reputação

  1. Upvote
    Nathannael deu reputação a LuckOake em Lua Script Maker   
    Olá galera, para testar minhas habilidades de programador em Lua resolvi fazer um programa que cria scripts a seu gosto. Atualmente ele tem suporte para Actions, Talkactions e StepIn (Movement).
     
    Nada muito complexo, é apenas pra ajudar os iniciantes mesmo. O programa e sua source seguem em anexo na mensagem.
     
    Imagem:
     
     
    OBS: Programa feito em Lua.
     
    Download aqui em baixo \/
     



    Lua Script Maker.rar
  2. Upvote
    Nathannael deu reputação a Akatsukyi em PET System Meio Antigo   
    <action itemid="0000" event="script" value="summon.lua"/>
     
    Para adicionar ataques ao monstro você pode fazer do mesmo jeito que se adiciona um ataque a um monstro comun no otserv.
  3. Upvote
    Nathannael deu reputação a EdMignari em Campo De Visão   
    Olá. Baixando alguns mapas aqui no XTibia, percebi uma quantidade incrível de Tiles fora do campo de visão do cliente. O excesso de Tiles fora desse campo não enfluencia em nada no cliente, mas o servidor cria para cada um desses SQMs um objeto Tile (geralmente objetos StaticTile). Não há necessidade de por essas Tiles. Isso fica bonito no editor de mapa, mas inútil quando o servidor é carregado. Aumentando o tamanho final do arquivo .otbm, aumentando o consumo de memória no servidor e aumentando um pouco o tempo para carregar o mapa.
     
    Lembrando: A área carregada pelo cliente é de 18 x 14 Tiles(SQMs) e no máx 8 Camadas(Floors).
     

    Descrição do mapa carregado no cliente.
     
    Se você usa o RME, pode ver o campo de visão selecionando o menu View > Show Ingame Box ou o atalho Shift+I.
     
     
     
     
    Exemplo de excesso
     
     
     
     
    Abraços.
  4. Upvote
    Nathannael deu reputação a LuckOake em Vampire System   
    Oi povo. Adivinha
     
    Sim, eu trouxe (novamente) mais um sistema que posso garantir que você vai gostar. Mas qualé né, povo. Só eu que posto coisa decente aqui? A última vez que vi alguém que não seja eu postando coisa útil na área de Scripting foi o Caotic com o Report System Beta. Tirando isso, tem semanas (ou até meses) que não vejo algo bom, divertido e original.
     
    Vamos lá, né, ficar lamentando aqui não vale a pena.
     
    O que é:
     
     
    Script:
     
     
     
    Instalando (Importantíssimo):
     
     
     
    Configurando:
     
     
    Imagens:
     
     
    Observações:
    - O MOD pode conflitar caso você use algum REP System ou Frag System que use onLook.
     
    Créditos:

    LuckOake -- Pelo sistema
  5. Upvote
    Nathannael deu reputação a MarcioSkate22 em Pet System By Mskate22   
    Eu vim programando esse script e finalmente acabei! Antes de começar,leia os dados:
    1.Crie um monstro editado, sugestão: proprio pra PET
    2. Abra actions e copie um arquivo e bote:
    Depois coloque
    Depois Mude O Nome do item e invente novos modos de utiliza-los x)
    Ajudei? Rep+
  6. Upvote
    Nathannael deu reputação a Nickelback em Editando Aparência Das Criaturas   
    Atualizado dia 10/03/2012
     
    Bom, uma dúvida muito frequente com quem cria um server com monstros editado é: "Como eu mudo a aparência deles?". É bem simples naverdade, você só precisa saber os conceitos básicos. Se você já criou o seu monstro, só leia o tutorial abaixo, agora se você quer saber como se cria um monstro novo, procure tutoriais pelo XTibia. Vamos lá:
     
    ➨ Tio, o que é newtype?
     
    Bom caro gafanhoto, as várias imagens, que em sequência formam o movimento de qualquer coisa em um jogo, são chamadas de sprites. E a junção das sprites, formam um newtype no Tibia. São por exemplo, a Sprite de um rat andando para a esquerda, de um rat andando para a direita, para baixo, pra cima e dele parado, essas sprites juntas, formam o newtype do rat. Cada newtype, é classificado no Tibia por números pra cada uma, pra facilitar a configuração.
     
    ➨ Tio, como se edita um newtype?
     
    Newtypes não podem ser editados. As outfits são excessão, pois dentro do jogo, você pode mudar as cores delas, mas somente porque as sprites te permitem isso, para alterar um newtype, você deve alterar a sprite o que já foge para a parte de design. Existem outros poucos newtypes de monstros que se pode mudar as cores. Como Dwarf, Elf, ArchDemon, Barbarians, Frog e assim vai...
     
    ➨ Tio, onde eu vejo qual número corresponde a qual newtype?
     
    Bom existem várias listas por aí, principalmente no XTibia e como não quero ser processado acusado de roubar trabalho de alguém, eu recomendarei o tópico do usuário MatheusMkalo.
     
    ➨ Lista de Newtypes:
     
     
     
     
    Lembrete: Você já deve ter reparado, que a cada atualização do Tibia, surgem novos bixos com sprites novas. É porque o client é atualizado, ou seja, é modificado e nessa modificação, são adicionados as novas sprites. Por isso só se pode colocar sprites correspondentes a versão, uma sprite adicionada no 8.6 por exemplo, não pode ser colocada em um monstro num servidor 8.57. Essa lista se limita com os newtypes até o 8.6, os newtypes adicionados depois disso não estão nessa lista.
     
    ➨ Tio, agora eu sei os newtypes mais como edito a aparência dos monstros?
     
    Bom se você ainda não criou o monstro, crie um arquivo com a extensão lua dentro da pasta monsters, ou copie um que já existe. Nomeie do nome o qual você quer para o monstro em seguida abra-o. Lembre-se também de colar sua tag no Monsters.xml (existem tutoriais sobre isso aqui no XTibia).
     
    Veja que logo no começo do arquivo do monstro tem isso:
     
     
     
     
    Iremos nos concentrar nessa parte:
     
     
    Coloque onde está "130" o número do newtype desejado.
     
    Aqui são onde se edita as cores, no caso de ser um newtype Outfit, cada cor da tabela de outfit também se corresponde a um número. Então coloque o número da cor entre as aspas sendo:
     
    Head - Cor da cabeça
     
    Body - Cor Primária
     
    Legs - Cor Secundária
     
    Feet - Cor dos pés
     
    Aqui, caso tenha escolhido um newtype de uma outfit, é onde você botará a quantidade de addons. 0 equivale a nenhum, 1 equivale ao primeiro, 2 equivale ao segundo e 3 equivale aos dois juntos.
     
    Aqui você põe o ID do corpo desejado para o seu monstro. Não tenho lista disso, mais procure em listas de ID pelo XTibia ou de look no corpo de um monstro similar com um char GOD.
     
    ➨ Tio onde eu vejo os números das cores?
     
    É, as cores também são divididas em números, e para ver qual cor corresponde a qual número, existe a seguinte lista, também disponibilzada ao XTibia pelo MatheusMkalo.
     
    Tabela:
     



     

    ---------------------------


     

    Quem gostou da REP +

     

    Créditos: Nickelback, MatheusMkalo

  7. Upvote
    Nathannael deu reputação a Oneshot em Forge System   
    ADVANCED FORGE SYSTEM



    O SISTEMA DE CRIAÇÃO DE ITENS PARA SEU SERVIDOR


     

     
    Creio que muitos já conhecem o sistema de forja criado por mim, acontece que o código já estava um pouco obsoleto, então resolvi reescrever ele do 0.
     
    Simplesmente consiste em um sistema de criação de itens avançado que ressuscita um pouco do RPG perdido nos servidores de hoje em dia. O jogador poderá criar itens através de forja, agindo como um verdadeiro ferreiro medieval. Adiciona itens em cima de uma bigorna previamente colocada no mapa e com um martelo cria um item totalmente novo.
     
    CARACTERÍSTICAS DA VERSÃO FINAL:
     
    - Configuração intuitiva e fácil de compreender;
    - Mini-tutorial auxiliando criação de novas receitas;
    - Receitas podem conter até 250 itens diferentes com suas respectivas quantidades;
    - Sistema inteligente que identifica uma receita em qualquer ordem;
    - Código totalmente orientado a objetos;
    - Possibilidade de configurar diferentes requerimentos, diferentes skills, magic level e level
     

     
    Há dois modos de instalar o Advanced Forge System, o primeiro é seguir os passos deste tópico e o segundo e baixar pasta data/ anexada no tópico com os arquivos em seus respectivos diretórios, precisando apenas o registro das chaves nos arquivos XML.
     
    Escolha o modo que mais convém a você.
     

     
     
    Crie um arquivo em data/lib chamado forgesystem.lua e cole o conteúdo abaixo:
     

    --[[ ADVANCED FORGE SYSTEM FINAL Criado por Oneshot É proibido a venda ou a cópia sem os devidos créditos desse script. ]]-- RecipeHandler = { itemtype = 0, items = {}, level = 1, maglevel = 0, skills = {[0] = 0, [1] = 0, [2] = 0, [3] = 0, [4] = 0, [5] = 0, [6] = 0} } Forge = { type = nil, position = nil, magicEffect = CONST_ME_MAGIC_GREEN, messages = { class = MESSAGE_STATUS_DEFAULT, success = "You have successfully forged a %s.", needskill = "You don't have enough %s to create a %s.", needlevel = "You need level %s to create a %s.", needmaglevel = "You need magic level %s to create a %s." } } function RecipeHandler:new(itemtype, items, level, maglevel, skills) local obj = { itemtype = (itemtype or 0), items = (items or {}), level = (level or 1), maglevel = (maglevel or 0), skills = (skills or {[0] = 0, [1] = 0, [2] = 0, [3] = 0, [4] = 0, [5] = 0, [6] = 0}) } table.insert(Recipes, obj) return setmetatable(obj, {__index = self}) end function RecipeHandler:setItem(itemtype) self.itemtype = (itemtype or 0) end function RecipeHandler:setRecipe(...) self.items = {...} end function RecipeHandler:setRecipeItem(itemid, amount) table.insert(self.items, {itemid, amount}) end function RecipeHandler:setSkill(skillid, value) self.skills[skillid] = value end function RecipeHandler:setLevel(value) self.level = value end function RecipeHandler:setMagLevel(value) self.maglevel = value end function RecipeHandler:check(position) local match = false for n, item in ipairs(self.items) do local thing = getTileItemById(position, item[1]) if thing.uid > 0 and math.max(1, thing.type) >= item[2] then if n == #self.items then match = true end else break end end return match end function RecipeHandler:get(position) if self:check(position) == true then return setmetatable({type = self, position = position}, {__index = Forge}) end return false end function Forge:create(cid) if self.type.itemid == 0 then print("[FORGE SYSTEM - ERROR] ATTEMPT TO CREATE A RECIPE ITEMID 0") return end local status = true if(cid) then if getPlayerLevel(cid) < self.type.level then doPlayerSendTextMessage(cid, self.messages.class, self.messages.needlevel:format(self.type.level, getItemNameById(self.type.itemtype))) return end if getPlayerMagLevel(cid) < self.type.maglevel then doPlayerSendTextMessage(cid, self.messages.class, self.messages.needmaglevel:format(self.type.maglevel, getItemNameById(self.type.itemtype))) return end for skillid, value in pairs(self.type.skills) do if getPlayerSkillLevel(cid, skillid) < value then status = false doPlayerSendTextMessage(cid, self.messages.class, self.messages.needskill:format(SKILL_NAMES[skillid], getItemNameById(self.type.itemtype))) break end end end if status == true then for _, item in ipairs(self.type.items) do local thing = getTileItemById(self.position, item[1]) doRemoveItem(thing.uid, item[2]) end doSendMagicEffect(self.position, self.magicEffect) doPlayerSendTextMessage(cid, self.messages.class, self.messages.success:format(getItemNameById(self.type.itemtype))) doCreateItem(self.type.itemtype, self.position) end end dofile(getDataDir() .."/lib/recipes.lua")
     
    Crie um arquivo em data/lib chamado recipes.lua e adicione o conteúdo abaixo:
     

    ---------------------------------------- -----** TUTORIAL DE CONFIGURAÇÃO **----- ---------------------------------------- --[[ O 'ADVANCED FORGE SYSTEM' é muito fácil e intuitivo de configurar, você só precisa chamar a função RecipeHandler:new(...), sendo que você já configurar os atributos da receita nela ou usar outras funções para isso. Por exemplo, quero criar uma Magic Sword que precise de 100 Gold Nuggets. RecipeHandler:new(2400, {{2157, 100}}) Ou então Magic_Sword = RecipeHandler:new() Magic_Sword:setItem(2400) Magic_Sword:setRecipe({2157, 100}) Funções do Sistema: RecipeHandler:new(itemtype, items, level, maglevel, skills) --> Cria uma nova instância de forja. RecipeHandler:setItem(itemtype) --> Atribui um certo itemid como resultado da receita. RecipeHandler:setRecipe(recipe) --> Atribui uma receita. RecipeHandler:setRecipeItem(itemid, amount) --> Adiciona um itemid e sua quantidade a receita. RecipeHandler:setSkill(skillid, value) --> Atribui um valor necessário de uma certa skill para poder criar a receita. RecipeHandler:setLevel(value) --> Atribui o level necessário para criar uma receita. RecipeHandler:setMagLevel(value) --> Atribui o magic level necessário para criar uma receita. ]]-- --[[ Este é um exemplo de receita usando algumas funções. É uma Magic Sword (ITEMID: 2400) que precisa de 100 Gold Nuggets (ITEMID: 2157), além disso, o personagem que tentar forjar, precisa ter Level 100 e Sword Fighting 50. ]]-- Recipes = {} magicsword = RecipeHandler:new() magicsword:setItem(2400) magicsword:setRecipeItem(2157, 100) magicsword:setLevel(100) magicsword:setSkill(2, 50)
     
    Agora em data/actions/scripts, crie um arquivo chamado iron_hammer.lua e adicione o conteúdo abaixo:
     

    function onUse(cid, item, fromPosition, itemEx, toPosition) local recipe = nil for _, v in ipairs(Recipes) do recipe = v:get(toPosition) if(recipe ~= false) then break end end if(recipe) then recipe:create(cid) else doPlayerSendCancel(cid, "This is not a valid recipe.") end return true end
     
    E por fim em actions.xml, adicione a seguinte linha:
     

    <action itemid="4846" event="script" value="iron_hammer.lua"/>
     
    OPCIONAL - TALKACTION
     
    A talkaction abaixo mostra ao jogadoras receitas configuradas no servidor que ele pode fazer.
     
    Em data/talkactions/scripts, crie um arquivo chamado recipes.lua e adicione o conteúdo abaixo:
     

    function onSay(cid, words, param, channel) local ret = {} local msg = " ADVANCED FORGE SYSTEM\n" for _, recipe in ipairs(Recipes) do local skills = true for skillid, value in pairs(recipe.skills) do if getPlayerSkillLevel(cid, skillid) < value then skills = false break end end if skills == true then if getPlayerLevel(cid) >= recipe.level and getPlayerMagLevel(cid) >= recipe.maglevel then table.insert(ret, {recipe, true}) else table.insert(ret, {recipe, false}) end else table.insert(ret, {recipe, false}) end end for _, recipe in ipairs(ret) do msg = msg .."\nRecipe for ".. getItemNameById(recipe[1].itemtype) ..":\n\n" if recipe[2] == true then for _, item in ipairs(recipe[1].items) do msg = msg .."* ".. getItemNameById(item[1]) .." [".. math.min(item[2], math.max(0, getPlayerItemCount(cid, item[1]))) .."/".. item[2] .."]\n" end else msg = msg .."[LOCKED]\n" end end doShowTextDialog(cid, 2555, msg) return true end
     
    Em data/talkactions/talkactions.xml, adicione a linha:
     

    <talkaction words="/recipes" event="script" value="recipes.lua"/>
     

     
    Siga as instruções para configuração de novas receitas.
     
    Em breve vídeo de funcionamento
    Advanced Forge System.rar
  8. Upvote
    Nathannael deu reputação a beddy em Tibia Harry Potter - By Beddy   
    HARRY POTTER ONLINE - by BEDDY


     

    Servidor TIBIA HARRY POTTER

    Alguma vez voce pensou que poderia ser um aluno de HOGWARTS? Agora é sua chance!

    Venha para o Harry Potter Online e fassa amigos, pegue varinhas, voe de vassoura e muito mais!

     

     

    Estou disponibilizando o servidor pois meu projeto do Harry Potter Online foi por agua abaixo, por causa de um cara que conseguiu rippar as sprites do quilante...

    Meu projeto já estava 90% andado, mas agora ferrou-se tudo.

    Então estou mandando a parte do meu projeto que está pronta, porem com sprites do quilante (Já ESTA TUDO ADAPTADO)

     

    - O QUE VOCE VAI TER QUE FAZER:

    Ajustar o servidor...

    Já estou te dando quase tudo de mao beijada, agora é só fazer alguns ajustes.

    Como: adicionar NPC, fazer action de compra de TOGA, e coisas simples!

    Bem.. é isso aproveitem!

     

     

    Distro Totalmente Estavel

    Sem bugs

    Sem virus

    Sem motherfuckingthings!

    Apenas alegria!

     

    -O QUE TEM NO SERVIDOR:

    •1 Classes: Aluno

    •O player ao upar um level, ganha "POINTS" para trocar por LIFE OU MANA assim torna o jogo mais sensivel

    •Mapa Proprio

    •JA EXISTE VIP E DONATES - AJUSTE PARA O NESCESSARIO

     

    -O QUE FALTA NO SERVIDOR:

    •AJUSTAR LIFE/HIT/LOOT DE MONSTROS


    - AJUSTAR OS SPRITES DAS HORCRUX (MAS O SISTEMA JA ESTA FUNCIONANDO CORRETAMENTE)


     

    -SISTEMAS:

    • Vassoura

    • Preparar poçoes (voce pega o axe [iD:2386], usa-o naqueles crystais que estaão espalhados pelo servidor, e com o crystal na backpack, use a magia "preparar", isso vai fazer com que seu caldeirão tenha carga,dai voce poderá dar USE no vial em cima do caldeirão para terminar sua poção!)

     

    -SITE HTML INCLUSO!





     

     

    DOWNLOAD:

    http://depositfiles....files/csh0uuxil

    http://depositfiles....files/csh0uuxil

    (INCLUSO: SERVIDOR, CLIENTE, SITE)

     

    SCREENS:

     



    REP+ PRA MIM POW!

     

    SCAN:


     




    Por Kaspersky PRO


     
    https://www.virustotal.com/file/c5b9fb7a023599d3be295eff034717e55d6e428753164d8377bc79777e34f722/analysis/1342184200/

    Por Virus Total


     



    CREDITOS:

     

    Beddy

    Erickrusha - fez a parte do mapa do entorno de HOGWARTS,obrigado man!

  9. Upvote
    Nathannael deu reputação a tibiaa4e em Training Room V1.0   
    creditos: Alreth do otfans
    consiste em uma sala

    assim
    ai só entra 1 pessoa na sala
    e fika sem risco de pks
    code
    e em actions.xml add:
    para funcionar corretamente adicione actiosn id nas door como na foto

    comentem
    flws
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...