Ir para conteúdo

Raskgames

Cavaleiro
  • Total de itens

    172
  • Registro em

  • Última visita

Histórico de Reputação

  1. Upvote
    Raskgames deu reputação a Sammy em [OtClient] Tutorial sobre Módulos   
    Olá pessoal, vi esse tutorial em um site gringo sobre a parte básica dos módulos de um otclient, que pode auxiliar muita gente que quiser explorar ainda mais o Otclient, já que essa área eu não vejo tanto conteúdo no Tibia Br, como sempre os créditos estarão ao final do tópico...
     
     
    Então, para começar as coisas que eu vou estar cobrindo:
    - a criação de módulos.
    - repassar alguns dos fundamentos para trabalhar no ambiente otclients lua. como testar eficientemente seus módulos e scripts.
     
     
    Para este tutorial você vai precisar:

    - Um editor de texto de algum tipo (eu gosto de usar o Notepad + +)
    também seria bom ter conhecimentos básicos de lua e habilidades de programação (mas isso é algo que você pode pegar rapidamente praticando).
     
    Agora que já temos tudo o que precisamos, podemos começar !
     
    CRIANDO O NOVO MÓDULO
     
     
    Otclient front-end funciona fora o que chamamos de ' módulos '. Os módulos são uma forma de implementar eficazmente os recursos do cliente separados uns dos outros. Se você está considerando a criação de um novo módulo, é aconselhável que você pense sobre o que o recurso pode ser e se ele iria caber em um módulo já existente (provavelmente um módulo game_xxx), os módulos são encontrados no diretório/modules do otclient.
    Seus são atualmente dois módulo ' ambientes ': jogo e cliente. Os módulos de jogo usam o prefixo game_ e devem estar refletindo recursos que se relacionam especificamente com os recursos do ambiente do jogador ou do jogo por exemplo game_outfit ou game_mounts são ambos os recursos que são usados no ambiente de jogo. Os módulos de cliente usam o prefixo client_ e devem estar refletindo recursos que se relacionam especificamente com o cliente e o cliente somente. Ele não tem nada a ver com o ambiente de jogo de jogadores, por exemplo, client_options e client_skins estão diretamente relacionados com a funcionalidade de clientes. Isso pode ser um pouco difícil de Visualizar para agora, mas você vai pegar isso mais tarde.
    Então, agora que você tem uma compreensão do que é um módulo e um pouco como eles funcionam, vamos em frente e começar a criar um novo.
     
    COMEÇANDO DO ZERO
     
     
    Nós estamos indo para criar um novo módulo a partir do zero, a primeira coisa que você precisa fazer é criar o diretório modules. O nome do diretório deve refletir o recurso global em si, por isso vamos chamar o nosso game_spells para começar a criar um novo módulo que irá listar todos os players spells com suas informações apropriadas. Nós não estaremos criando este módulo inteiro, mas podemos começar a ver como tudo funciona.
     
    Crie um novo diretório chamado game_spells dentro do diretório/Modules clientes.

    Dentro de game_spells precisamos começar adicionando 3 novos arquivos base: Spells. lua, feitiços. otmod e Spells. otui para a lógica de módulos, registro e design de interface.
     
    Criar 3 novos arquivos base spells.lua, spells.otmod e spells.otui dentro/modules/game_spells
    Você já deve saber o que o arquivo. lua representa, mas quais são essas novas extensões. otmod e. otui?
     
    .otmod
     
    .otmod é o arquivo que é usado para inicializar o módulo dentro do otclient, é como um registro em que ele irá registrar o módulo para uso dentro do cliente. Este arquivo geralmente tem uma estrutura como esta (eu adicionei comentários, se você copiar este código não se esqueça de remover o--comments):
    Module nome: game_spells -- nome do módulo (geralmente o mesmo nome que o diretório modules. descrição: Exibir a player spell com sua informação apropriada--descrição do módulo que explica o que é. autor: Sammy -- nomes dos criadores e colaboradores do módulo. website: www.otclient.info -- Se você tem um site externo que você pode ligá-lo aqui. sandboxed: true--sandbox é uma maneira de conter a variável modules e funções para que você não tenha conflitos entre outros módulos. scripts: [ spells.lua ] -- Os scripts são a lógica por trás do módulo onde todas as funções estão contidas. @onLoad: init() -- Este é o lugar onde você define a função de inicialização do módulo (nós vamos cobrir isso mais tarde). @onUnload: terminate() -- Este é o lugar onde você define a função de término do módulo (vamos cobrir isso mais tarde) Copie o código .otmod acima em seu arquivo spells.otmod e remova os comentários.
     
    .otui
     
    .otui é o arquivo que é usado para criar a interface de usuário modules. Esta é uma linguagem de estilo feito encomenda projetado especificamente para otclient chamado OTML, ele se sente muito como a formatação CSS para aqueles de vocês que têm experiência em webdesign. A estrutura típica de um arquivo .otui se parece com isso (este é o arquivo base iniciar, não concluído):
     
    MainWindow !text: tr('Spells') size: 160 450 @onEnter: modules.game_spells.destroy() @onEscape: modules.game_spells.destroy() Label id: spellsLabel !text: tr('Player Spells') width: 130 anchors.top: prev.top anchors.left: prev.left margin-top: 5 margin-left: 5 MainWindow: 
    Esta é a janela que estaremos usando para a interface da Spell List, é uma classe de janela padrão derivado de/client_skins/default/styles/windows.otui styling file estende janela que estende UIWindow. UIWindow é uma classe base dessa inicialização, ele controla a funcionalidade widgets e comportamentos.
     
    !text: Este é o texto que é exibido na seção de cabeçalho MainWindow
    size:  isso é usado para definir a largura/altura da mainwindow.
    @onEnter: configura o retorno de chamada de widgets de MainWindow OnEnter (função que será chamada quando você pressiona a tecla Enter).
    @onEscape: configura os widgets de retorno de chamada de MainWindow (função que será chamado quando você pressiona a tecla de escape).
     
    Label:
    Este é um widget de etiquetas que é usado para exibir texto na maioria dos casos. É um derivado da classe UILabel.
     
    id: Este é o ID que esta mais comum será alias-se com para referenciar usando funções como widget: getChildById ( "spellsLabel ")
    !text: Este é o texto que será exibido pelo widget UILabel.
    width: Este é o tamanho da largura do Label
    anchors. top/bottom/left/right: São onde a parte superior/inferior/esquerda/direita do Label devem ser posicionada.
    margin-top/bottom/left/right: São deslocamentos para as anchors, eles permitirão que você afinar o posicionamento dos componentes da interface do usuário.
     
    Esta é apenas a superfície de .otui formatação e styling, há muito mais que pode ser feito, mas a ideia principal é que você obter uma compreensão sobre como a hierarquia dos componentes da interface do usuário para exibir corretamente, etc as convenções de styling OTML forçá-lo a manter o projeto de um interface separado para o código lógico, por exemplo, o .lua
     
    Copie o código otui acima e coloque em spells.otui
     
    Agora que entendemos qual arquivo é usado para registrar o módulo e que arquivo (s) são usados para construir os módulos da interface do usuário, podemos aprofundar o código de lógica de módulos e tentar entender como tudo funciona em conjunto. O arquivo spells.lua é o arquivo que contém o código de lógica de módulos. É aqui que os spells serão preenchidos e o manuseio da seleção ortográfica e do display ortográfico serão controlados.
     
    Abra o arquivo spells.lua e copie o seguinte código base para começar.
     
    Nós estaremos escolhendo aparte este código para ajudar a entendê-lo melhor. Eu fui em frente e comecei o código base para você, aqui está:
     
    Spells = {} spellWindow = nil selectedSpell = nil spells = {} function init() connect(g_game, { onOpenSpellWindow = Spells.create, onGameEnd = Spells.destroy }) end function terminate() disconnect(g_game, { onOpenSpellWindow = Spells.create, onGameEnd = Spells.destroy }) Spells.destroy() Spells = nil end function Spells.create(spellList) spells = spellList Spells.destroy() spellWindow = g_ui.displayUI('spells.otui') end function Spells.destroy() if spellWindow then spellWindow:destroy() spellWindow = nil selectedSpell = nil spells = {} end end function Spells.selectSpell() if table.empty(spells) then return end -- TODO end  
    As principais coisas que eu quero focar aqui são:
     
    as variáveis (spellWindow, selectedSpell e spells).
    e as funções (armazenamento de funções e discutir o que init e Terminate são necessários).
     
    O VARIÁVEL
     
     
    Variáveis dentro de um módulo em modo seguro não precisam ser localizadas com a palavra-chave local como elas estão dentro de seu próprio ambiente de módulo. Se o módulo estiver em modo seguro: false, então você precisará certificar-se de que você localize a variável e redefini-los dentro da função Terminate (que vamos discutir mais tarde).
     
    Dentro deste módulo de feitiço precisamos ter uma maneira de armazenar o objeto janela módulos, fazemos isso definindo a variável spellWindow que temos inicializado como nulo, mas que vamos configurar em breve. Nós também precisamos de uma maneira de conter o que o jogador selecionou o que significa que devemos armazenar uma referência para o spell de alguma forma usando a variável selectedSpell. Por último, mas não menos importante e provavelmente não duram tanto! Precisamos armazenar a lista de spells e fazer isso com a variável Spells.
     
    AS FUNÇÕES
     
     
    Funções muito como variáveis estão contidas em módulos de área restrita para que a localização pode variar dependendo de suas preferências. Se você não estiver usando um module sandboxed: true, em seguida, você precisará certificar-se de que você está localizando e armazenar funções corretamente. Eu pessoalmente gosto de usar uma tabela para armazenar minhas funções dentro para manter as coisas organizadas mais este é o lugar onde você vê spells = {}. Spells é uma tabela que eu estarei usando para armazenar todas as funções públicas de um módulo. Funções de módulo privado serão localizadas mesmo que não seja inteiramente necessário dentro de um módulo em modo seguro, eu prefiro declarar quando a função é privada através da palavra-chave local.
    Então, quais são as funções init () e Terminate () usado para?
    Como você já deve ter notado dentro dos feitiços .otmod código que você vai ver:
     
     
    @onLoad: init() @onUnLoad: terminate()  
    init()
     
    A função init é uma função que é chamada quando otclient tenta carregar o módulo registrado usando chamada de sinal OnLoad. Dentro desta função você deve estar inicializando todos os componentes que são exigidos pelo seu módulo. Como você pode ver dentro de spells.lua estamos chamando uma função dentro de init ():
     
    connect(g_game, { onOpenSpellWindow = Spells.create, onGameEnd = Spells.destroy })  
    terminate()
     
    A função Terminate é uma função que é chamada quando otclient tenta descarregar o módulo registrado usando a chamada de sinal OnUnload. Dentro desta função você deve estar destruindo e redefinir variáveis que precisam ser desmarcadas na terminação do módulo. Lembre-se de que nem todas as variáveis precisarão ser redefinidas, mas as referências de widget e a tabela de spells são todas necessárias para serem redefinidas. Como você pode ver dentro de feitiços. lua estamos chamando e definindo uma série de coisas dentro de terminate():
     
     
    disconnect(g_game, { onOpenSpellWindow = Spells.create, onGameEnd = Spells.destroy }) Spells.destroy() Spells = nil Afirmei anteriormente que chamamos a função Connect dentro init (). Agora que estamos encerrando o módulo precisamos desconectar os retornos de chamada do conjunto de chamadas de sinal. Isto é feito através da função de desconexão (...).
    Com estas principais coisas cobertas você pode muito bem fazer o que você gosta dentro do módulo. Você pode com cuidado construir e craft o para inserir o que você precisa. Siga através do tutorial para estender o seu conhecimento de criação de módulos e também trabalhar dentro do ambiente do módulo otclients.
     
    COMO TESTAR EFICAZMENTE OS SEUS MÓDULOS
     
    Testar seus módulos será uma parte importante de fazê-los trabalhar da maneira que você precisa. Módulos de teste pode, por vezes, ser um pouco de um desafio para que haja algumas coisas que você precisa saber, a fim de torná-lo mais fácil para você.
     
    RECARREGANDO OS SEUS MÓDULOS
     
     
    Você pode recarregar seus módulos no cliente usando o Gerenciador módulo módulo Gerenciador módulo selecione seu módulo e clique em recarregar. Esteja ciente de que o seu init () e terminate (), funções serão chamados em recarregar por isso, se você não está inicializando e destruindo coisas particulares corretamente, então você pode obter erros no recarregamento.
    Nota importante: existem algumas alterações raras que podem não ser recarregadas corretamente com o gestor de módulos, coisas como .otui @ alterações (por exemplo, @onClick: edits). Pode haver algumas outras mudanças que não recarregam corretamente, mas para a maior parte ele funciona bem. Se você se encontrar com erros estranhos tentou fazer um reinício completo do cliente para garantir a sua não uma emissão de recarga.
     
    COMANDOS DE TESTE ÚTEIS
    Há uma seleção de comandos úteis que podem ser úteis para testes encontrados no arquivo de script/modules/client_terminal/Commands.lua. Aqui está uma lista dos comandos atuais que você pode inserir no terminal do cliente:
    dumpWidgets(widget, level) drawDebugBoxes(enable) hideMap() showMap() debugContainersItems() debugPosition(enable) autoReloadModule(name)  
    Você pode adicionar novos comandos ao seu diretório/mod, a fim de evitar fazer alterações no arquivo de comando modules.
    Você deve sempre assegurar-se de que seus módulos estejam testados completamente antes de criar solicitações da tração ao repositório principal do git. Estas dicas podem ser muito úteis nas fases de teste!
    ALGUMAS ORIENTAÇÕES ÚTEIS
     
    Ao desenvolver seu módulo seja certo dar-lhe lotes do pensamento sobre como está indo trabalhar e mesmo se você pode fundir a característica a um módulo já existente. Também funções globais e variáveis constantes podem ser encontradas nos diretórios modules/corelib e modules/gamelib. Por favor, dê uma cuidadosa consideração para o que você colocar nesses arquivos e se possível tentar evitá-lo. Siga a regra  "manter tudo para sua própria causa, e apenas essa causa ".
     
    FIM DO TÓPICO =]
     
    CRÉDITOS:
    edubart
    BeniS
    Eu(pela tradução e adaptação para o português)
     
     
     
     
  2. Upvote
    Raskgames deu reputação a Poke X Ice em [Fechado] [OPEN-SOURCE] Pokémon X Universion   
    informações sobre o servidor:
    observação:
    Bugs:
    • Prints •
     
    Créditos:
     
    Download:
     
  3. Upvote
    Raskgames deu reputação a DarkWore em [PDA/TFS 0.3.6] Multi Addon System   
    Boa Noite gente, Hoje eu venho postar um Sistema de Multi Addon System feito para o data do PDA 1.9 pode funcionar em TFS 0.3.6 com pequenas adaptações, como eu havia dito em outra postagem esse Sistema foi feito por meu Amigo Slicer e tem algumas coisas minhas e de alguns amigos, Bom em outra base aqui no fórum, na base vazada havia esse sistema que o amigo que eu passei passou para esse outro colega, enfim eu conversei com meu Amigo Slicer e decidimos por postar, vamos la.
     
    data\actions\scripts crie um arquivo com nome de addon.lua e cole isso dentro:
    local addons = { -- Shiny Alakazam [13089] = {addon_num = 1, pokemon= "Shiny Alakazam", looktype = 2013, nome = "Adventurer addon", fly = 0, ride = 0, surf = 0}, [13091] = {addon_num = 2, pokemon= "Shiny Alakazam", looktype = 2014, nome = "Grey hat addon", fly = 0, ride = 0, surf = 0}, [13092] = {addon_num = 3, pokemon= "Shiny Alakazam", looktype = 2016, nome = "Ret hat addon", fly = 0, ride = 0, surf = 0}, [13090] = {addon_num = 4, pokemon= "Shiny Alakazam", looktype = 2015, nome = "Purple hat addon", fly = 0, ride = 0, surf = 0}, -- Alakazam [13093] = {addon_num = 1, pokemon= "Alakazam", looktype = 2009, nome = "Adventurer addon", fly = 0, ride = 0, surf = 0}, [13095] = {addon_num = 2, pokemon= "Alakazam", looktype = 2010, nome = "Grey hat addon", fly = 0, ride = 0, surf = 0}, [13096] = {addon_num = 3, pokemon= "Alakazam", looktype = 2012, nome = "Ret hat addon", fly = 0, ride = 0, surf = 0}, [13094] = {addon_num = 4, pokemon= "Alakazam", looktype = 2011, nome = "Purple hat addon", fly = 0, ride = 0, surf = 0}, -- Shiny Tropius [13101] = {addon_num = 1, pokemon= "Shiny Tropius", looktype = 2019, nome = "Sorcerer addon", fly = 2065, ride = 0, surf = 0}, [13106] = {addon_num = 2, pokemon= "Shiny Tropius", looktype = 2069, nome = "Desert flower addon", fly = 2070, ride = 0, surf = 0}, -- Shiny Metagross [13098] = {addon_num = 1, pokemon= "Shiny Metagross", looktype = 2021, nome = "King's crown addon", fly = 0, ride = 2064, surf = 0}, [13099] = {addon_num = 2, pokemon= "Shiny Metagross", looktype = 2020, nome = "Queen's crown addon", fly = 0, ride = 2067, surf = 0}, -- Shiny Clefable [13097] = {addon_num = 1, pokemon= "Shiny Clefable", looktype = 2068, nome = "Angel addon", fly = 0, ride = 0, surf = 0}, -- Clefable [13102] = {addon_num = 1, pokemon= "Clefable", looktype = 2025, nome = "Angel addon", fly = 0, ride = 0, surf = 0}, -- Shiny Jynx [13100] = {addon_num = 1, pokemon= "Shiny Jynx", looktype = 2023, nome = "Witch addon", fly = 0, ride = 0, surf = 0}, -- Metagross [13103] = {addon_num = 1, pokemon= "Metagross", looktype = 2018, nome = "King's crown addon", fly = 0, ride = 2063, surf = 0}, [13104] = {addon_num = 2, pokemon= "Metagross", looktype = 2017, nome = "Queen's crown addon", fly = 0, ride = 2066, surf = 0}, -- Halloween [13105] = {addon_num = 1, pokemon= "Elder Charizard", looktype = 2074, nome = "Halloween addon", fly = 2072, ride = 0, surf = 0}, [13107] = {addon_num = 2, pokemon= "Charizard", looktype = 2073, nome = "Halloween addon", fly = 2071, ride = 0, surf = 0}, -- Shiny Blastoise [13108] = {addon_num = 1, pokemon= "Shiny Blastoise", looktype = 2078, nome = "Purple ninja pack addon", fly = 0, ride = 0, surf = 2083}, [13109] = {addon_num = 2, pokemon= "Shiny Blastoise", looktype = 2076, nome = "Orange ninja pack addon", fly = 0, ride = 0, surf = 2088}, [13110] = {addon_num = 3, pokemon= "Shiny Blastoise", looktype = 2075, nome = "Red ninja pack addon", fly = 0, ride = 0, surf = 2090}, [13111] = {addon_num = 4, pokemon= "Shiny Blastoise", looktype = 2077, nome = "Blue ninja pack addon", fly = 0, ride = 0, surf = 2086}, -- Blastoise [13112] = {addon_num = 1, pokemon= "Blastoise", looktype = 2082, nome = "Purple ninja pack addon", fly = 0, ride = 0, surf = 2083}, [13113] = {addon_num = 2, pokemon= "Blastoise", looktype = 2080, nome = "Orange ninja pack addon", fly = 0, ride = 0, surf = 2087}, [13114] = {addon_num = 3, pokemon= "Blastoise", looktype = 2079, nome = "Red ninja pack addon", fly = 0, ride = 0, surf = 2089}, [13115] = {addon_num = 4, pokemon= "Blastoise", looktype = 2081, nome = "Blue ninja pack addon", fly = 0, ride = 0, surf = 2085}, -- Shiny Gardevoir [13320] = {addon_num = 1, pokemon= "Shiny Gardevoir", looktype = 2159, nome = "Witch Apparentice addon", fly = 0, ride = 0, surf = 0}, [13324] = {addon_num = 2, pokemon= "Shiny Gardevoir", looktype = 2164, nome = "Housekeeper addon", fly = 0, ride = 0, surf = 0}, [13337] = {addon_num = 3, pokemon= "Shiny Gardevoir", looktype = 2136, nome = "Bride Saint Join addon", fly = 0, ride = 0, surf = 0}, -- Gardevoir [13291] = {addon_num = 1, pokemon= "Gardevoir", looktype = 2156, nome = "Witch Apparentice addon", fly = 0, ride = 0, surf = 0}, [13295] = {addon_num = 2, pokemon= "Gardevoir", looktype = 2161, nome = "Housekeeper addon", fly = 0, ride = 0, surf = 0}, [13302] = {addon_num = 3, pokemon= "Gardevoir", looktype = 2198, nome = "Bride Saint Join addon", fly = 0, ride = 0, surf = 0}, -- Shiny Spiritomb [13322] = {addon_num = 1, pokemon= "Shiny Spiritomb", looktype = 2204, nome = "Green Ballon addon", fly = 0, ride = 0, surf = 0}, [13345] = {addon_num = 2, pokemon= "Shiny Spiritomb", looktype = 2208, nome = "Orange Ballon addon", fly = 0, ride = 0, surf = 0}, [13347] = {addon_num = 3, pokemon= "Shiny Spiritomb", looktype = 2163, nome = "Clown Box addon", fly = 0, ride = 0, surf = 0}, -- Spiritomb [13293] = {addon_num = 1, pokemon= "Spiritomb", looktype = 2202, nome = "Green Ballon addon", fly = 0, ride = 0, surf = 0}, [13314] = {addon_num = 2, pokemon= "Spiritomb", looktype = 2206, nome = "Orange Ballon addon", fly = 0, ride = 0, surf = 0}, [13316] = {addon_num = 3, pokemon= "Spiritomb", looktype = 2200, nome = "Clown Box addon", fly = 0, ride = 0, surf = 0}, -- Shiny Togekiss [13321] = {addon_num = 1, pokemon= "Shiny Togekiss", looktype = 2205, nome = "Champion 2016 addon", fly = 2193, ride = 0, surf = 0}, [13339] = {addon_num = 2, pokemon= "Shiny Togekiss", looktype = 2158, nome = "Superman addon", fly = 2155, ride = 0, surf = 0}, [13342] = {addon_num = 3, pokemon= "Shiny Togekiss", looktype = 2201, nome = "Piloto addon", fly = 2203, ride = 0, surf = 0}, -- Togekiss [13292] = {addon_num = 1, pokemon= "Togekiss", looktype = 2121, nome = "Champion 2016 addon", fly = 2189, ride = 0, surf = 0}, [13303] = {addon_num = 2, pokemon= "Togekiss", looktype = 2158, nome = "Superman addon", fly = 2160, ride = 0, surf = 0}, [13308] = {addon_num = 3, pokemon= "Togekiss", looktype = 2162, nome = "Piloto addon", fly = 2183, ride = 0, surf = 0}, [13309] = {addon_num = 4, pokemon= "Togekiss", looktype = 2179, nome = "Batman addon", fly = 2182, ride = 0, surf = 0}, } local msgs = { return_poke = { [0] = "Por favor volte seu pokémon.", [1] = "Por favor, vuelve su pokémon.", [2] = "Please back your pokémon." }, cant_use = { [0] = "Desculpa, você não pode usar esse addon nesse pokémon.", [1] = "Lo sentimos, no se puede utilizar este addon en esse pokémon.", [2] = "Sorry, you can't use this addon on this pokémon." } } function onUse(cid, item, fromPosition, itemEx, toPosition) if #getCreatureSummons(cid) > 0 then doPlayerSendCancel(cid, msgs.return_poke[getPlayerLanguage(cid)]) return false end local addonNum = addons[item.itemid].addon_num local addon = addons[item.itemid].looktype local fly = addons[item.itemid].fly local ride = addons[item.itemid].ride local surf = addons[item.itemid].surf local addonlook = addons[item.itemid].nome local pb = getPlayerSlotItem(cid, 8).uid local pk = addons[item.itemid].pokemon if getItemAttribute(pb, "poke") ~= pk then doPlayerSendCancel(cid, msgs.cant_use[getPlayerLanguage(cid)]) return false end if getItemAttribute(pb, "pokeballusada") == 0 then doRemoveItem(item.uid, 1) doSendMagicEffect(fromPosition, 173) updateAddonAttr(pb, "addon" , addon , addonNum) updateAddonAttr(pb, "addonfly" , fly , addonNum) updateAddonAttr(pb, "addonride", ride , addonNum) updateAddonAttr(pb, "addonsurf", surf , addonNum) updateAddonAttr(pb, "addonlook", addonlook, addonNum) if not getItemAttribute(pb, "current_addon") then doSetItemAttribute(pb, "current_addon", addonNum) end return true end return false end Ainda em data\actions\scripts em goback.lua procure por:
    if useOTClient then doPlayerSendCancel(cid, '12//,show') --alterado v1.7 end Embaixo cole:
    -- ADDON SYSTEM local pk = getCreatureSummons(cid)[1] local pb = getPlayerSlotItem(cid, 8).uid local look = getAddonValue(pb, "addon") if look > 0 then doSetCreatureOutfit(pk, {lookType = look}, -1) end else doPlayerSendCancel(cid, "This pokemon is fainted.") end Ainda em data\actions\scripts em order.lua procure por:
    doRemoveCondition(cid, CONDITION_OUTFIT) Embaixo cole:
    -- ADDON SYSTEM local look = getAddonValue(item.uid, "addon") if look > 0 then doSetCreatureOutfit(pk, {lookType = look}, -1) end Ainda em data\actions\scripts em surf.lua procure por:
    setPlayerStorageValue(cid, 63215, 1) Embaixo cole:
    -- ADDON SYSTEM local look = getAddonValue(pb, "addonsurf") if look > 0 then doSetCreatureOutfit(cid, {lookType = look}, -1) else doSetCreatureOutfit(cid, pokes[getCreatureName(getCreatureSummons(cid)[1])], -1) end Agora em data\creaturescripts\scripts em login.lua procure por:
    doRemoveCondition(cid, CONDITION_OUTFIT) Embaixo cole:
    -- ADDON SYSTEM local look = getAddonValue(item.uid, "addonfly") if look > 0 then doSetCreatureOutfit(cid, {lookType = look}, -1) else doSetCreatureOutfit(cid, {lookType = flys[poke][1] + 351}, -1) end Ainda em data\creaturescripts\scripts em look.lua procure por:
    if getItemAttribute(thing.uid, "nick") then table.insert(str, " [Nickname]: "..getItemAttribute(thing.uid, "nick")..". ") end Depois do end coloque embaixo:
    if getItemAttribute(thing.uid, "addonlook") then table.insert(str, "Addons: "..getAddonTotalLook(getItemAttribute(thing.uid, "addonlook")).."\n") end Agora em data\lib em order.lua procure por:
    setPlayerStorageValue(cid, 54844, speed) Embaixo cole:
    -- ADDON SYSTEM local pb = getPlayerSlotItem(cid, 8).uid local look = getAddonValue(pb, "addonfly") if look > 0 then doSetCreatureOutfit(cid, {lookType = look}, -1) else doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1) end Ainda em data\lib  crie um arquivo com nome de addon.lua e cole isso dentro:
    ADDON_LIMIT = 5 --Limite de addons que um poke pode ter local ADDON_BASE_STRING = string.rep("0;", ADDON_LIMIT) --String base no formato: "0;0;0;0;0;" local function checkAddonTableConsistency(tab) if #tab < ADDON_LIMIT then --proteção para quando muda o ADDON_LIMIT for i = #tab+1, ADDON_LIMIT do tab[i] = 0 end end end function updateAddonAttr(uid, attr, value, pos) local tmp = getItemAttribute(uid, attr) or ADDON_BASE_STRING tmp = type(tmp) == "string" and tmp or ADDON_BASE_STRING local t = string.explode(tmp, ";") checkAddonTableConsistency(t) if pos > 0 and pos <= ADDON_LIMIT then t[pos] = value return doSetItemAttribute(uid, attr, table.concat(t, ";")) else return false end end function getAddonValue(uid, attr) local tmp = getItemAttribute(uid, attr) or ADDON_BASE_STRING tmp = type(tmp) == "string" and tmp or ADDON_BASE_STRING tmp = string.explode(tmp, ";") local pos = getItemAttribute(uid, "current_addon") or 0 checkAddonTableConsistency(tmp) if pos > 0 and pos <= ADDON_LIMIT then return tonumber(tmp[pos]) else return 0 end end function getAddonCount(uid) local tmp = getItemAttribute(uid, "addon") if type(tmp) ~= "string" then return 0 end local t = string.explode(tmp, ";") checkAddonTableConsistency(t) local count = 0 for _,v in ipairs(t) do if tonumber(v) ~= 0 then count = count + 1 end end return count end function getAddonTotalLook(value) local str = {} addonValue = 0 for addonList = 1, 5 do local addons = tostring(value:explode(";")[addonList]) if addons ~= '0' then addonValue = addonValue + 1 end end addonValue = addonValue == 0 and "Não possui addon." or addonValue return addonValue end Agora em data\talkactions/scripts crie um arquivo com nome de addon_talk.lua e cole isso dentro:
    function onSay(cid, words, param) local pb = getPlayerSlotItem(cid, 8).uid local pos = tonumber(param) if #getCreatureSummons(cid) >= 1 then doPlayerSendCancel(cid, "Volte seu pokemon para a pokebola antes de trocar o addon.") return true end if not pos then doPlayerSendCancel(cid, "O numero do Addon deve ser um valor entre 0 e " ..ADDON_LIMIT.. ".") return true end if pos >= 0 and pos <= ADDON_LIMIT then doSetItemAttribute(pb, "current_addon", pos) end return true end Arquivos Completos que eu utilizava, já que o sistema foi feito para a minha base, pode necessitar pequenas adaptações:
    data\actions\scripts:
    addon.lua
    goback.lua
    order.lua
    surf.lua
     
    data\creaturescripts\scripts:
    login.lua
    look.lua
     
    data\lib:
    addon.lua
    order.lua
     
    data\talkactions\scripts:
    addon_talk.lua
     
    Bom é isso, Só usarem agora, Não se esqueçam de registrar os scripts no xml e os comandos do talkactions, etc.
     
    Créditos:
    @Slicer (Desenvolvimento em Geral)
    @DarkWore (Completar Algumas coisas que ficaram pendentes/erros que surgiram)
    @Jair Kevick (Completar problema que estava havendo com o Look)
     
    Lembrando Nenhum dos citados oferece suporte ao sistema para erros que surgirem ou qualquer coisa do tipo, até porque ainda existe muita coisa incompleto e que pode ser melhorado nos scripts.
  4. Upvote
    Raskgames deu reputação a GOD Vitor em SPR otPokémon (04-09-2018) [Version 14.53]   
    Eae galera! Hoje venho trazer a versão mais recente até agora, das sprites do otPokémon. Lembrando que tem mais coisas que não estão na screenshot abaixo.  
    Screenshot
     
    Download Mediafire: Baixar   Scan Virustotal: Verificar   Créditos otPokémon - Pelas sprites GOD Vitor - Por descompilar e trazer para a comunidade
  5. Upvote
    Raskgames deu reputação a Fearlet155 em Mastriny Online Lvl System   
    Mastriny Online
     
    - [+] Open Source 8.54
    - [+] Base (Com Level System)
    - [+] Novas Quest's
    - [+] PokeInfo
    - [+] PokeBar
    - [+] MoveBar
    - [+] Novos Mapas
    - [+] Client DX9 e Client OpenGL (Disponível)
     
    Download
    http://www.mediafire.com/file/6yc7nc4ldcfkfeu/Mastriny_Level_Test.rar/file
  6. Upvote
    Raskgames recebeu reputação de Nogard em This Is Spriting Discord   
    Muito bom
  7. Upvote
    Raskgames deu reputação a Nogard em This Is Spriting Discord   
    Já conhece o Discord da This is Spriting? Nós temos o intuito de ajudar os interessados em aprender a fazer sprites. Como as do Tibia, PokeXGames, Grand Line Adventures e similares. Para isso, o grupo conta com o acompanhamento de profissionais no chat, dando dicas de como e o que melhorar. E a melhor parte: É tudo gratuito!





    Duelo Mensal

    Nós organizamos um duelo de sprites mensalmente, com um tema escolhido pela comunidade. O objetivo do duelo é estarmos sempre praticando e incentivar novos artistas.









    Sprites Free For Use

    Nós procuramos incentivar desenvolvedores independentes cedendo algumas sprites gratuitas e exclusivas. 








    Interaja, aprenda, ensine, encontre um artista para seu projeto ou apresente seu trabalho. Te esperamos lá!
     
     
  8. Upvote
    Raskgames deu reputação a Crypter em World of Nanatsu   
    Recrutamento para equipe
          Aberto vagas para Programadores, Spriters, Designers e mappers. 
     
    Caso tenha interesse deixe seu contato aqui no tópico, ou mande-me uma mensagem aqui no xtibia.
     
     
    Informações do projeto:
     

     
     

     
  9. Upvote
    Raskgames deu reputação a Walox em [OTClient Mod] Loot stats   
    O que é o módulo loot_stats? Este módulo é criado para apresentar itens descartados / monstro morto: contar, acaso, etc. Além disso, o módulo pode mostrar o próprio saque descartado em uma forma gráfica. Todas as operações estão no lado do cliente, então eles precisam de arquivos adicionais (veja Como adicionar?), Eles verificam as notificações de pilhagem e as salvam. Como adicionar? Adicione a pasta [loot_stats] à pasta "mods" ou "modules" (pasta "mods" recomendada) na sua pasta principal do OTClient.
    Para a pasta items_versions, adicione a pasta com o nome da versão (8.60 -> 860).
    Dentro da pasta criada, adicione os arquivos items.otb * e items.xml *.
    * Estes arquivos você pode encontrar em editores de mapas / servidores etc.
    Como parece


     
     

     
     
    Características
    Informações sobre monstros mortos.
    Saqueie de todos os monstros.
    Saqueie de um tipo de monstro.
    Informações de saque gráfico no canto superior esquerdo.
     
    limitações
     
    Módulo precisa trabalhar notificações de pilhagem.
    Este módulo funciona apenas com notificações de saque "clássicas".
    Você precisa ter items.otb e items.xml para trabalhar neste módulo.
    Problemas com o carregamento mais longo do OTClient.

    Download
    Loot_stats

    Bugs / Problemas enviados para o projeto no github.
    Feauters / Ideias etc. adicione aqui.
    Este módulo funciona apenas com notificações de pilhagem "clássicas" (como rl tibia)!
    Você precisa adicionar arquivos items.otb e items.xml!
     
    Creditos
    MagicWal ( Criador do Mod ) 
    Walox ( Tradução )
  10. Upvote
    Raskgames deu reputação a PoRaI em OTClient Module Maker   
    Bom, tem um tempo que eu tinha começado a desenvolver esse programa mas havia parado. Estou voltando com ele e vou trazer exclusivamente para o XTibia. Um programa para criar janelas para o OTClient. Ele ainda está um tanto quanto incompleto, mas, estou fazendo este post para mostrar o progresso dele. Quando as principais funções estiverem prontas, irei publica-lo e irei lançar constantes atualizações. É algo que eu vou usar, então, irei trabalhar bem nele.
     
    GIFS:

    Um plano que eu tinha em mente:

    Conforme vou atualizando, vou postando aqui. Qualquer duvida ou sugestão, deixe ai nos comentários. :3
  11. Upvote
    Raskgames deu reputação a robsonsiilva em [Encerrado] Move1   
    eu dei uma olhada aqui, unica coisa que eu vi diferente foi que a spells Swift Blast tem 2 tag igual, tem alguma coisa a ver?
  12. Upvote
    Raskgames deu reputação a Michyalex em [DXP] PokeAlpha OpenSource   
    Eai galera ja que parei de fazer meu projeito basado no DXP V3, vou disponibilizar por si algum quer olhar ou fazer algo com isso. Cabe destacar que as modificaçoes sao para ficar quase o igual ao PXG, vou destacar que sou spanhol e sim alguma palabra fica errada fala para mim ^^!

    ¿O que contem?
    - Arrumado as maiorias dos portraits e balls "Unmovable"
    - Maioria das spells sao agora ao estilo do PXG
       * Thunder bolt posiçao arrumada
       * Stone edge, Rock Slide posiçao arrumada
       * Invisible spell arrumada
       *Tongue grap modificada agora quita vida e nao deixa mover ao pokemon
       * Great Love, Night Daze, Entre outros adicionado o efeito central.
     

    - Items.xml 1000-1200 items con nome
    - Bike system arrumado com storage independente

    - OTClient o layout da camera refeito para parecer ao PXG

    - Spells com cors (bug com Mega)

    - Añadidos 30 efeitos.
    - Arrumado o look para parecer ao PXG
    - Price System, Mark trabalha com $ e nao Gold
    - House look arrumado nas sources para ficar como PXG

    - Arrumado os cors do minimap de algums items
    - Fly, Ride, Surf, tem as velocidades reais do PXG
    - Mensagems em portuguesse foi trocado por Ingleis a malhoria
    - Market com exemplo de venda de Mega direito
    - Muitos sprites arrumados, outfits, items, efeitos.
    - Exp por stages igual ao PXG
    - Modulo do Autoloot modificado



    ¿Maior BUG?
    - Statschange.lua (Creaturescripts)
    - Surf ainda nao arrumado
     
    Downloads:

    Scans: 
     
    ¿Como faço para editar esse mapa?
     
     
    Créditos:
    DXP TEAM
    Comunidade do XTIBIA
    Smix
    Deadpool (City-Name Module)
    Michy (eu)




  13. Upvote
    Raskgames deu reputação a Marshmello em Npc que troca um pokemon por outro pokemon   
    Fala MelloGang Blz ? Hoje vim trazer um NPC de evento , onde o player precisa trazer um pokemon(configuravel) por outro pokemon entao vamos la
     
    Em NPC crie um NPC.xml e cole isso
     
    Dps Vá em npc/script e crie um arquivo.lua e cole isso
     
    e só configurar e pronto
     
    Então e isso galera  gostou deixe seu REP+
  14. Upvote
    Raskgames deu reputação a Crypter em [SPELL] Sistema Jinchuuriki   
    Sistema Jinchuuriki De Servidores de Naruto.
     
    Selar um dos monstros e ser seu jinchuuriki , usando a magia só quando o Monstro estiver com 20% ou menos de vida.
    A Magia tem a range de 1 sqm, ou seja, você tem que usar a magia colado no monstro e Apenas um jogador conseguira selar o Monstro e ser seu jinchuuriki.
    Após selar um dos monstros você será o jinchuuriki dela por 10 dias, caso selar um outro Monstro você perdera a anterior e ficara com a nova e o tempo será renovado!
     
    Em data/spells/script
     
    crie um arquivo chamado Jinchuuriki.lua
     
     
    local storagecool = 89758local storagemob = 89759local tempo = 10 * 24 * 60 * 60 -- 10 diaslocal mobs = { ["kurama"] = 1, ["hachibi"] = 2, ["demon"] = 3, -- sempre letra minuscula e o numero q ele representa}function onCastSpell(cid, var) local target = variantToNumber(var) if target and isMonster(target) then if getCreatureHealth(target) <= math.floor(0.2 * getCreatureMaxHealth(target)) then if getCreatureName(target) and mobs[getCreatureName(target):lower()] then doPlayerSetStorageValue(cid, storagecool, os.time() + tempo) doPlayerSetStorageValue(cid, storagemob, mobs[getCreatureName(target):lower()]) doSendMagicEffect(getPlayerPosition(cid), 13) -- efeito no player doSendMagicEffect(getPlayerPosition(target), 13) -- efeito no monstro doRemoveCreature(target) doPlayerSendCancel(cid, "Você selou a criatura!") else doPlayerSendCancel(cid, "Essa criatura nao pode ser selada.") end else doPlayerSendCancel(cid, "O monstro precisa ter menos de 20% de vida para ser selado.") end else doPlayerSendCancel(cid, "Spell somente pode ser usada em monstros.") endreturn trueend  
    Em spells.xml
     
     <instant name="Selar Bijuu" words="Selar Bijuu" lvl="200" mana="20000" prem="1" range="1" needtarget="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="Jinchuuriki.lua">        <vocation id="1-10"/>    </instant>  
    Vantagens de ser um Jinchuuriki:
    Buff Especial que voce domina ela.
     
     
    data/spells/
     
    Hachibi.lua
    local tempo = 60 -- tempo em segundoslocal effect = {134} -- effect no playerlocal exausted = 1 -- em minutoslocal points = 60 -- quantos ira aumentar os skillslocal outfit = {lookType = 350}-- outfit que ira darlocal combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)local condition = createConditionObject(CONDITION_ATTRIBUTES)setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, points)setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, points)setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, points)setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, points)setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, points)setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, points)setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, points)setCombatCondition(combat, condition)local condition = createConditionObject(CONDITION_OUTFIT)setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)addOutfitCondition(condition, outfit)setCombatCondition(combat, condition)function Magica(cid)    if isCreature(cid) then        for i=1, #effect do            local position = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}            doSendMagicEffect(position, effect)        end    endendfunction onCastSpell(cid, var)    if getPlayerStorageValue(cid, 91546) ~= 2 then        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Voce nao eh um jinchuriki da Hachibi!") return false    elseif getPlayerStorageValue(cid, 17456)-os.time() > 1 then        local seetime = getPlayerStorageValue(cid, 17456)-os.time()        local minutes, seconds = math.floor(seetime/60), math.floor(seetime%60)        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde "..minutes.." minuto(s) e "..seconds.." segundo(s) para usar novamente!") return false    end    setPlayerStorageValue(cid, 17456, exausted*60+os.time())    doCombat(cid, combat, var)    local tempo2 = 0    while (tempo2 <= (tempo*1000)) do        addEvent(Magica, tempo2, cid)        tempo2 = tempo2 + 300    end    return trueend  
     
     
     
  15. Upvote
    Raskgames deu reputação a Tungs em [TUTORIAL] COMPILAR O TFS PELO CODEBLOCKS   
    Opa eae galera, blz? deixarei logo a baixo algumas informações, de como compilar o tfs 0.3.6 pelo codeblocks. Veja o vídeo para entender melhor!
     
    1º path para substituir o leaf
     
     
    2º Download do projeto do CODEBLOCKS:
     
    TheForgottenServer.zip
     
    3º Download do codeblocks já configurado
     
     
    4º Caso sua source for dxp é necessário alterar o arquivo definitiuns.h
     
     
     
  16. Upvote
    Raskgames deu reputação a Tungs em [OPEN SOURCE] Pokemon Skyfall   
    Olá Caro Membro, estou disponibilizando a base Skyfall com um novo executável e uma nova source... Espero que haja colaboração da comunidade com essa base ^_^  
     
     
    - Sistema de Travel por barco e trem
    - Sistema de TM
    - Pokémons até a 4° geração
    - Remoção de varios bugs do PDA do Slicer 1.9
    - Novas Spells 
    - Quests espalhadas pelo mapa
    - Mapa grande antigo PAdventures (modificado por mim)
    - Golden Arena
    - Entre vários e vários outros sistemas...
     
     
    PRINTS:
     
     
     
    DOWNLOAD:
     
    SERVER
     
    CLIENT
     
    SOURCE
     
     
    CRÉDITOS:
     
     

    OBS: se houver colaboração da comunidade eu posto a source
  17. Upvote
    Raskgames deu reputação a ClaudioMar231o em Claudio Graphic Gallery   
    Olá, pessoal aqui eu sempre estarei mostrando minha arte e oque eu amo fazer, que é spritear, estarei sempre evoluindo, pelo menos é oque eu quero kkk
    Sempre estarei aberto a projetos..
     
    ~Aceito Críticas construtivas
     
    08-04-2017
    Carbink, Diancie, Mega Diancie.

     
     
    21-12-2017
    Mulher Maraviha.

     
     
    24-12-2017
    Rowlet.

     
     
    26-12-2017
    FLORGES

     
    26-12-2017
    Vivillon

    *Cosmog

     
    *Marshadow / Marshadow transformado (vai ter remake é porque fiz com sono, já são 12:58)

     
    *Goomy
     

     
    *Goomy Rena de natal
     

    *Berry

    *Sandgast

    *Palossand

    *Alvida

    *Alvida 2

     
  18. Upvote
    Raskgames deu reputação a Punchlines Nemmo em Entergame Window Pokémon Mythology + PSD   
    Estava vasculhando minhas pastas quando achei a minha primeira Enter Game,
    que também foi para o meu primeiro servidor que a proposito esta postado aqui no forum ( Pokémon Mythology )
    Então resolvi postar para vocês  espero que gostem.
    Não é nada woooow mas já da pra sair daquela mesmice de caixinha com login e senha.
    BAIXAR ( ENTER GAME )

  19. Upvote
    Raskgames deu reputação a Fearlet155 em [SAO] Ordinal Scale Online   
    ? Ordinal Scale Online ?
    Bom dia galera hoje vim trazer pra vocês algumas informações sobre o novo projeto que estamos desenvolvendo com um beta que não está muito longe de ser lançado.
    1-Abaixo explicaremos algumas coisas referentes.
    2- Sistema de Skill Points implantado
    A cada level cada player irá receber 5 pontos para distribuir entre 
    Mana, Vitalidade, Axe, Sword, Level Mágico.
     
    3-Para o lançamento do servidor será implantado o patch somente da
    Primeira temporada (Sword Art Online / Alfheim Online)
     
    4- Adicionada as classes e sub classes
     
    *Classes 
    TANKERS: Os tankers são especialistas em repelir o dano recebido e se concentram mais em atrapalhar os inimigos do que em causar algum dano significativo.
     
    FIGHTERS:Os Fighters ou lutadores são campeões de ataque corpo a corpo duráveis, destinados a causar dano e que gostam de sentir o calor da batalha.
     
    FAIRYS:Os fairys são conjuradores ofensivos que buscam debilitar e destruir os adversários com seus potentes feitiços.
     
    ESPADACHINS:
    Os espadachins confiam apenas em seu refinado estilo e graciosidade para proteger-se de ataques fatais enquanto combinam raciocínio e velocidade para derrotarem seus inimigos de forma gloriosa.
     
    *Sub-classes
    Tanker vanglory:Os Vanglorys lideram as investidas de suas equipes, portanto, são especialistas no star de uma team fight, ou seja, são indicados para começarem a luta para seu time. Sua explosiva iniciação de confrontos de equipe tem o objetivo de pegar os inimigos desprevenidos, permitindo que os aliados se aproveitem desse efeito devastador. Como há de se perceber, estes são os tanques mais ofensivos.
     
    Tanker protector:Os Protectors permanecem inabaláveis, buscando manter a formação com o bloqueio persistente de qualquer intruso que tente ultrapassá-los. Os Protetores mantêm seus aliados fora de perigo e permitem que eles lidem com os inimigos na batalha de forma segura. Como os Vanguardas são os ofensivos, os protetores são os mais defensivos
     
    Fighter colosso:Os Colossos são titãs de luta corpo a corpo que avançam sem medo algum para cima do seu adversário e devastam aqueles que são ingênuos o suficiente para atravessar seu caminho. Eles são a única subclasse que conseguem causar um bom dano, ao mesmo tempo que conseguem receber bastante dano. No entanto, eles têm dificuldade para se aproximar dos alvos devido ao seu curto alcance e mobilidade extremamente limitada.
     
    Fighter lonely (antigo Fighter investid):Os Fighters lonely são a parte mais ágil da classe de Lutadores. Eles são especialistas em identificar alvos de alta prioridade ( normalmente carregadores) para atingi-los, o que acaba forçando esses alvos (e seus companheiros de equipe) a lidarem com sua presença de uma forma ou de outra. Mergulhadores não têm tanta durabilidade quanto os Tanques ou Colossos da vida, mas aguentam uma boa dose de dano e, se não tomar cuidado, eles podem causar dano suficiente para se tornar uma verdadeira ameaça de morte.
     
    Espadachim Duelist:Ao contrário dos patterns o objetivo dos Duelistas é triturar qualquer inimigo que se aproxime. Como os Duelistas não dispõem de dano explosivo sofisticado, nem de maneiras confiáveis para se aproximar de alvos de alta prioridade.
     
    Espadachim Pattern:Os patterns são especialistas em se infiltrar nas linhas inimigas com sua mobilidade extremamente eficaz, para com isso, destruir rapidamente os alvos de alta prioridade (normalmente são jogadores solo). 
     
    Salamander:Embora eles são capazes de aprender e usar outros tipos de magia, Salamanders  são os mestres da magia de fogo, tornando-os capazes de conjurar magias de fogo de atributos exclusivos de sua raça.
     
    Para mais informações acessem.
     
    Grupo do whatsapp: https://chat.whatsapp.com/KELyY9GRbfC9iwh6nGLksC
     
    Grupo do Facebook: https://www.facebook.com/groups/292091771294775/
     
    Página: https://www.facebook.com/Ordinal-Scale-Online-152504322151511/
     
     
     
  20. Upvote
    Raskgames deu reputação a Stigal em [Resolvido] Base igual a pxg atual   
    PokeZWorld não conseguiu "façanha" alguma, o administrador apenas fez o que todo administrador deve fazer, desenvolver, criar, programar.
     
    Todos os servidores de Pokemon disponíveis no fórum estão no setor de "Downloads > Alternative".
    Link para acesso: http://www.xtibia.com/forum/forum/768-alternative-tibia-servers/
     
    A única coisa que cai do céu é chuva, recomendo seguir o exemplo do dono do PokeZWorld, começar a fazer... e parar de esperar coisas caindo do céu.
     
    Boa sorte com o seu projeto, tópico fechado.
  21. Upvote
    Raskgames deu reputação a Ritsunakato em [Encerrado]sprite   
    bom dia estou a procura de uma equip dedicada que goste de ter um projeto e acima de tudo que tenha vontade e esteja on sempre
    agora se n for pra ta off direto nem manda pm! (obs:So trabalho com poketibia)
     
    sprite:78%
    mapper 90%
    script 12%
    designer 60%
    bom é isso galera!
    e pra quem eu ja fiz parte da equip me desculpe nem adianta manda pm!
    pq todos que eu tive em equip nunca ficarao 75% preucupados com o projeto
     
    meu watz:48998142391.
    meu skyp:Fael.rosa1.
     
    quem quiser manda pm  diga algo oque pensa e se pensa  inovar, fale um pouco
    sobre servidor!!!!!
     
     
    abraç
     
    att ritsu
    um dos meus trabalhos!
     
  22. Upvote
    Raskgames deu reputação a Refe em Ceetros - ShowOff   
    Bom, hoje eu vim mostrar alguns de meus sistemas/feitos em servidores e clients tibia.
     
    De inicio irei mostrar o OTCLIENT:
     
    Sistema de Profissão, Diário e Canais
    Canais com alerta de mensagens novas
     
     
    Npcs com quests e Pokémons Shinys:
     
    Barra de EXP e HP diferenciados para LocalPlayer
    e target pxg
     
    Um OTCLIENT totalmente voltado para poketibia:
    Estou utilizando nos meus projetos atuais.
     
    Algumas alterações na interface do OTCLIENT
    Base Poketibia Unificada (TPS)

     
    Irei atualizar esse post sempre que tiver algo útil para por.
     
  23. Upvote
    Raskgames deu reputação a FlamesAdmin em Reformulaçao Do Level Das Magias e Level Dos Pokemons   
    Fala galera, fiz aqui a reformulaçao de alguns pokemons desde a ultima atualizaçao do PxG.
     
    Pokemon Moves: localizado no configuration.lua
    Fiz do Bulbasaur ate Rapidash.

     
     
    Pokes:
    Ate Rapidash Tbm.


     
    Irei terminar de reformular o restante, só nao terminei pq fikei sem tempo.
  24. Upvote
    Raskgames deu reputação a Nethron em Show Off, Nethron   
    Já fiz um tópico com a maioria dessas outfits, estarei repostando mas com algumas outfits novas.

  25. Upvote
    Raskgames deu reputação a Punchlines Nemmo em [Download] Pokémon Mythology   
    Bom tava com um projetinho a um tempo atras mas como eu resolvi parar com ele resolvi trazer aqui pra vcs.
    Sim tem a maioria das coisas que a DXP tem porem tem bastante bugs removidos, o servidor fica online sem algum tipo de queda.
    esta estavel para por online alem de ter um mapa unico tem um cliente lido d+ :3 meu orgulho huahuahua
    mais em fim vamos ao que interessa
     
     
    • Informações Basicas •
    • Duel System.
    • Nick System.
    • Autoloot System.
    • Block Respaw System.
    • Mega Evolução Ssystem.
    • Auto Stacking System.
    • Player passa por dentro de outros Players(Não sei o nome deste sistema kk).
    • Ditto Memory System.
    • Player pode usar potions, revive, soltar poke andando sem parar.
    • Limite de efeitos aumentados nas sources até 380(Podendo aumentar muito mais)
    • Transparência.
    • Cliente criptografado(Acompanha OBD único para o cliente).
    • Sistemas básicos como fly, ride, surf, order etc.
    • Held System(Não tem todos, falta fazer alguns, ja tem o x-luck).
    • Fishing trocando o outfit automaticamente.
    • Icone System.
    • Varias Pokeballs novas.
    • Task System.
    • Guild System.
    • NPC dialogo
    E muito+, não testei o servidor todo. podem ter sistemas no server que eu esqueci de colocar aqui na lista.
    Tem mais coisas mas não me lembro ao certo de tudo que eu coloquei ;-; ?
     
    • Bugs •
     
    Irei postar os que eu sei, podem haver mais.
    • Gym System não esta funcionando.
    • O famoso bug do autoloot '-
    • Pokemons da 3 geração todos arrumados porem pode dar revive mesmo com ele pra fora da ball
    • scizor ao ser chamado de volta pra ball fica com o icon de shiny scizor
    • Alguns erros no cliente que faz dar umas speed pra frente
     
    Que eu saiba e só isso mas provavelmente tenha mais que eu não estou ciente :C
     
    • Prints •

     
    • Dowload •
    •Site : https://mega.nz/#!sEgzTC6K!UFGGEXG-v3H-Wx21gP6tTQbBecoHg-IJ_uQJ50hGYvQ
     
    [26/04] NOVO DOWNLOAD: http://www.mediafire.com/file/h6jteeft6traldk/Servidor+Mythology+(+17+de+agosto+2017+).rar
    Senha : domviniciusbr
     
     
     
    • Créditos •
    •CipSoft
    •Nintendo
    •TFS Team
    •Dark X Poke
    •PXG
    •Tom Lukz (Smix)
    •Allan Harlen (Kttallan/lordsorte)
    •Eduardo Meskita (FuuinFake)
    •Noninhouh
    •Tony Araujo
    •Taiger/Dudu
    •Drakopoulos
    •Justiceiro751
    •Vinicius Clel (Walox)
    •DeadPool
    •Marshmello  
      E a todos que tiveram alguma participação em sistemas, server, site, cliente etc.
     
    Se estiver faltando algo como créditos, má formatação etc,  por favor me avisem, é meu primeiro post de server.
     
     
     
  • Quem Está Navegando   0 membros estão online

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