
Honimura
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
Honimura recebeu reputação de pijamada em (Resolvido)Problema ao criar rampa na montanha!Exatamente, verifique se há algum objeto no mesmo sqm que os da escada, é provavel que seja isso(acho que é a borda da montanha).
-
Honimura deu reputação a vyctor17 em Advanced SoundEai galera, pra quem conhece meu tópico de showoff já sabe oque eu estou postando . mas pra quem não conhece oque é o Advanced Sound segue o ctrl+v.
é um MOD para o OTC, que permite ao OTC reproduzir diversas tipos de mídia como (.MP3, .WAV, .OGG, .MOD, .IT, .S3D, .XM).
Além disso esse MOD conta com uma biblioteca de áudio 3D, e a melhor parte é que não necessita de alteração na source por parte do OTC,só no serverside se o desenvolvedor quiser ativar alguns recursos como áudio nas falas das criaturas. a parte do áudio nas criaturas não esta inclusa no download. e também não conta com áudio 3d configurado em script mais as funções estão na biblioteca se quiser é só fazer .
Algumas aplicações por exemplo em servidores de pokemon ao jogar a pokebola mandar um som para o client ao capturar outro som ou falhar na captura, assim como som de batalhas, som ambiente, o limite é sua imaginação!
Lista de funções
pauseAll isPlaying isFinished getSoundPlayLen getSoundPlayPosition setSndPlayPos setSoundMinDistance setListenerPosition setSound3DPosition setVolume getVolume setPaused isPaused playMusic deleteSnd setReverbEnabled setEchoEnabled setDistortionEnabled Exemplo de uso em lua servidor:
local colors = { TEXTCOLOR_BLUE, TEXTCOLOR_LIGHTBLUE, TEXTCOLOR_LIGHTGREEN, TEXTCOLOR_TEAL, TEXTCOLOR_PURPLE, TEXTCOLOR_PLATINUMBLUE, TEXTCOLOR_LIGHTGREY, TEXTCOLOR_DARKRED, TEXTCOLOR_RED, TEXTCOLOR_ORANGE, TEXTCOLOR_YELLOW, TEXTCOLOR_WHITE_EXP } function onSay(cid, words, param) local playerpos = getPlayerPosition(cid) local random = math.random(1, #colors) if math.max(math.abs(playerpos.x-23), math.abs(playerpos.y-30)) < 9999 then doSendAnimatedText(playerpos, "GoGoGo!", colors[random]) sendScreanSound(cid, "com_go.wav") end return true end
Criaturas Falantes C++ ServerSide:
Em game.cpp, procure por:
bool Game::internalCreatureSay(Creature* creature, SpeakClasses type, const std::string& text, bool ghostMode, SpectatorVec* spectators/* = NULL*/, Position* pos/* = NULL*/) E abaixo de:
if(!ghostMode || tmpPlayer->canSeeCreature(creature)) tmpPlayer->sendCreatureSay(creature, type, text, &destPos); Adicione:
if(type == SPEAK_MONSTER_YELL or type == SPEAK_MONSTER_SAY){ tmpPlayer->sendExtendedOpcode(85, text + ".mp3|false"); } Dai é só adicionar os som a pasta e colocar o nome dele igual a fala nesse metodo só ta pra rodar mp3, tem jeito melhor de fazer isso adicionando um nova tag no .xml do monstro mais acabei ficando com preguiça e fiz assim kk'
Download
não autorizo o re-post em qualquer outro fórum sem minha autorização.
vyctor17 - Waki-V LTDA ©
-
Honimura deu reputação a TheJokerKing em [OtClient] - Novo modo de criar modulosBoa tarde, como sei que muitos não conhecem esse método de trabalho resolvi traze-lo a publico, um recurso muito bom do otclient que poucos conhecem.
O método que venho ensinar é um comando que você usa no terminal do seu otclient e vai facilitar muito quando você for criar um modulo, como um debugger.
O código é:
live_module_reload nomedomodulo Você lembra o nome que define no otmod ?
Module name: game_market description: Market System você usa esse nome e executa a função: live_module_reload game_market
pronto, agora toda alteração que você fizer no seu modulo ele ja vai dar automaticamente um reload no modulo e você pode ver na hora as mudanças que você esta fazendo no seu modulo, sem precisar ir no module_manager para ficar dando reload.
Ele da o reload automático toda vez que você salva o arquivo do modulo que você mexeu em segundos, assim você entra no client abre seu modulo e ele já esta carregado.
Bom uso, tenho certeza que todos vão adorar essa função.
-
Honimura deu reputação a Refe em Adicionando Tiles a janela de jogo!Hoje eu vim ensinar como aumenta a "tela" de jogo do OTCLIENT
(Desculpe o merchant, era a unica imagem que eu tinha salvo)
Testado em : 0.3.6pl1, Pode funcionar em 1.0 com alterações pequenas.
Agora ache e troque:
return ((x >= myPos.x - 8 + offsetz) && (x <= myPos.x + 9 + offsetz) && (y >= myPos.y - 6 + offsetz) && (y <= myPos.gety + 7 + offsetz)); Por:
return ((x >= myPos.x - Map::maxClientViewportX + offsetz) && (x <= myPos.x + (Map::maxClientViewportX+1) + offsetz) && (y >= myPos.y - Map::maxClientViewportY + offsetz) && (y <= myPos.y + (Map::maxClientViewportY+1) + offsetz)); Agora ache:
GetMapDescription(pos.x - 8, pos.y - 6, pos.z, 18, 14, msg); E troque por:
GetMapDescription(pos.x - Map::maxClientViewportX, pos.y - Map::maxClientViewportY, pos.z, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, msg); Agora em
void ProtocolGame::sendMoveCreature(const Creature* creature, const Tile* newTile, const Position& newPos, uint32_t newStackpos, const Tile* oldTile, const Position& oldPos, uint32_t oldStackpos, bool teleport) Troque:
A parte que começa em if (oldPos.y > newPos.y) { e Termina em GetMapDescription(newPos.x - 8, newPos.y - 6, newPos.z, 1, 14, msg); } Por:
if (oldPos.y > newPos.y) { // north, for old x msg->AddByte(0x65); GetMapDescription(oldPos.x - Map::maxClientViewportX, newPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, 1, msg); } else if (oldPos.y < newPos.y) { // south, for old x msg->AddByte(0x67); GetMapDescription(oldPos.x - Map::maxClientViewportX, newPos.y + (Map::maxClientViewportY+1), newPos.z, (Map::maxClientViewportX+1)*2, 1, msg); } if (oldPos.x < newPos.x) { // east, [with new y] msg->AddByte(0x66); GetMapDescription(newPos.x + (Map::maxClientViewportX+1), newPos.y - Map::maxClientViewportY, newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); } else if (oldPos.x > newPos.x) { // west, [with new y] msg->AddByte(0x68); GetMapDescription(newPos.x - Map::maxClientViewportX, newPos.y - Map::maxClientViewportY, newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); Agora ache:
if (newPos.z == 7) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 5, 18, 14, 3, skip); //(floor 7 and 6 already set) GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 4, 18, 14, 4, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 3, 18, 14, 5, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 2, 18, 14, 6, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 1, 18, 14, 7, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 0, 18, 14, 8, skip); Depedendo da Source, a parte será assim:
Por:
if(newPos.z == 7) //going to surface { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 5, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 3, skip); //(floor 7 and 6 already set) GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 4, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 4, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 3, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 5, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 6, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 1, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 7, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 0, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 8, skip); Agora ache:
else if(newPos.z > 7) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, oldPos.getZ() - 3, 18, 14, 3, skip); Depedendo da source será assim:
Por:
else if(newPos.z > 7) //underground, going one floor up (still underground) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, oldPos.z - 3, (Map::maxClientViewportX+1), (Map::maxClientViewportY+1)*2, 3, skip); Troque:
//moving up a floor up makes us out of sync //west msg->AddByte(0x68); GetMapDescription(oldPos.x - 8, oldPos.y - 5, newPos.z, 1, 14, msg); //north msg->AddByte(0x65); GetMapDescription(oldPos.x - 8, oldPos.y - 6, newPos.z, 18, 1, msg); Por:
//moving up a floor up makes us out of sync //west msg->AddByte(0x68); GetMapDescription(oldPos.x - Map::maxClientViewportX, oldPos.y - (Map::maxClientViewportY-1), newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); //north msg->AddByte(0x65); GetMapDescription(oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, 1, msg); Agora troque:
if(newPos.z == 8) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z, 18, 14, -1, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 1, 18, 14, -2, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 2, 18, 14, -3, skip); Dependendo da source poderá ser:
Por:
if(newPos.z == 8) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -1, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 1, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -2, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -3, skip); Agora troque:
else if(newPos.z > oldPos.z && newPos.z > 8 && newPos.z < 14) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 2, 18, 14, -3, skip); Depedendo da source pode ser:
Por:
else if(newPos.z > oldPos.z && newPos.z > 8 && newPos.z < 14) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -3, skip); Agora em map.h edite como quiser:
static const int32_t maxViewportX = 11; //min: maxClientViewportX + 1 static const int32_t maxViewportY = 11; //min value: maxClientViewportY + 1 static const int32_t maxClientViewportX = 8; static const int32_t maxClientViewportY = 6; Observação:
Agora em map.cpp do OTCLIENT
Ache:
void Map::resetAwareRange() { AwareRange range; range.left = 8; range.top = 6; range.bottom = 7; range.right = 9; setAwareRange(range); } Troque por:
{ AwareRange range; range.left = 8; //Valor que colocou em maxClientViewportX range.top = 6; //Valor que colocou em maxClientViewportY range.bottom = range.top+1; range.right = range.left+1; setAwareRange(range); } Créditos:
Flatlander - OTLAND - Criação
Ceetros - Tradução
Agora vamos deixar o OTCLIENT lindão.
Troque tudo de modules/game_interface/interface.lua (na pasta do OTCLIENT)
por:
http://pastebin.com/tH7qyreW
(para o tutorial não ficar muito grande botei no pastebin, já que o spoiler tá bugando)
Creditos dessa parte:
Edubart (Criador do OTCLIENT)
Ceetros
Caso tenha ajudado, dê um rep+
-
Honimura deu reputação a SuggestName em [Showoff] - SuggestName Client EditionReposicionamento 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.
-
Honimura deu reputação a Gaant em Colocando música na tela de login1°. Pegue uma música ou baixe uma ( Pode ser mp3, mp4, etc... )
2º. Vá no site Online Converter
3º Vá em audio converter e selecione convert to ogg
4º. Vá na parte "Upload your audio you want to convert to ogg" vá em escolher arquivo, e selecione a música que vc quer
5º Clique em convert file e espere acabar, depois de acabar ele vai começar a baixar
6º Após abaixar, copie a musica.ogg e vá na pasta client>data>soungs> delete o startup.ogg e cole a musica, depois renomeie ela para startup.ogg
Abra o seu client, e vai estar lá, a música vai começar a tocar
-
Honimura deu reputação a ghun001 em Galeria de Sprites ( Iniciante )*~* GHUN *~*
Olá pessoal do Tibia King, eu sou o Ghun iniciante em spriter e nesse tópico, vou postar minhas sprites conforme for fazendo-as. Todas as minhas sprites estarão sendo atualizadas neste tópico.
Caso queiram usar alguma das minhas sprites, fiquem a vontade, desde que tenha os devidos créditos.
1º Árvore maléfica.
Download: Primeira Sprite.bmp
2º Pedra Simples.
Download: Pedra 2.bmp
3º Axe Simples.
Download: Axe simples2.bmp
4º Crystal Sword.
Download: Crystal Sword2.bmp
Obrigado pessoal, deixem seu comentário sobre as sprites ai em baixo e caso queiram dar alguma dica, fiquem a vontade.
-
Honimura deu reputação a Orochi Elf em OrochiElf Server 0.1OrochiElf Server
version: 0.1
client: 8.54
developer: Tony Araújo (OrochiElf)
Projeto:
Otimizar o código fonte "The Forgotten Server 0.3.6pl1" para uma melhor jogabilidade e desempenho, em breve em 8.60 também.
ChangeLog v0.1
º Arrumado BUG do Swimming (Agradecimento: FireElement)
º Adicionado nova função "doPlayerSetSkillLevel(cid, skillId, value)"
º Adicionado nova função "doPlayerSetMagicLevel(cid, value)"
º Adicionado nova função "doPlayerSendChannelsDialog(cid)"
º Adicionado nova função "doCreatureCastSpell(cid, spellName)"
º Adicionado AutoStack items
º Servidor fazendo a leitura de qualquer "Item.OTB"
º Removido BlackList
Download Link da versão 0.1
- Conteudo: Sourcers / Projeto Dev / Pasta Data / Pasta Mods / Pasta Schemas
- Necessário: Dll's do executável do TFS 0.3.6pl1
Qualquer bug ou ideias para melhor desempenho do servidor, reporte por favor
-
Honimura deu reputação a Ryukiimaru em Sistema de morte = char deletadoYo!
Galera esse é meu primeiro topico referente a algo que eu fiz, é simples e provavelmente ninguem vá usar, mas talvez de alguma ideia pra alguem .
Bom o meu sistema faz o seguinte : Caso seu char morra, e não possui nenhum ponto de existência, o char é completamente deletado da conta.
Sim, isso é bem tryhard, porem, pretendo fazer algo mais leve para o meu projeto.
Agora como instalar.
Primeiramente adicione para data/creaturescripts/scripts/pontoexist1.lua
Adicione para data/creaturescripts/scripts/deletechar.lua
Adicione essas 2 tags em criaturescripts.xml
Registre os 2 codigs em creaturescripts/scripts/login.lua (antes do ultimo return true)
Aqui no meu caso, eu criei uma função onUse, pra adicionar 2 pontos de existencia na storage usando 1 item(usem a imaginação )
Adicione esse codigo para actions/scripts/2pontosexist.lua
e por fim adicione essa tag em actions.xml -- 11113 é id de uma bota, usei so pra testar(usem a imaginação novamente )
Isso ae galera, meu primeiro sistema/codigo, espero que gostem, pretendo aprender mais e aperfeiçoar para meu projeto
Dicas/Criticas/Elogios
-
Honimura deu reputação a Ryukiimaru em Sistema de Rest - BugsSistema de Rest / Descansar Yo galera, esse e meu segundo sistema criado por mim, e embora tenha alguns parecidos, o meu ficou um pouco diferente. Porem ainda possui muitos bugs, no qual eu fiquei no meu trabalho, e depois 1 dia inteiro tentando resolver, antes de vir pedir ajuda, pesquisei, e tentei resolver de varias maneiras, ajudem-me a concertar esses bugs, e será mais 1 sistema pra comunidade, e dessa vez util. O que o sistema faz: Ao dar use em 1 item( no caso da pra fazer algum botão) , o char começa dormir e regenerar sua vida em uma porcentagem(de facil edição). Apos o uso, o item se transforma para o item que vai fazer voce se levantar e parar de se regenerar.
Ps: Não é possivel usar em batalha, para não atacar enquanto heala Não é possivel deslogar se estiver usando o Rest. Infelizmente de tanto eu tentar modificar para funcionar(modificando o que eu fiz, o sistema eu começei do 0), pode ter algum erro a mais.. porem, vai la o que pode ser adicionado e arrumado.
BUGS
Se estiver no rest, e por acaso alguem te atacar, voce até sai do rest, e da Up, porem ele continua a heala, e mostrar o efeito de Sleep. Caso morra, no rest, o item(icone), não é trocado, e assim quando relogar, não será possivel dar rest, ja que vai estar o item do Up. Possiveis Melhorias
Ao healar tudo a vida, fazer o rest parar, e dar Up, setando as storages e modificando o item(icone) up > down(rest) . Ajudem na imaginação Criar alguma caixa - linkando o otclient com o item de Up/Down(rest/up)
Agora os codigos . Sever 0.3.6pl1. rev 8.54
Actions
Creature Scripts
Tags
Isso ae galera, quem puder ajudar, agradeço desde já, não sei se errei demais, ou se não vão gostar, porem aprendi muito tentando , e pretendo aprender mais arrumando e resolvendo.
-
Honimura deu reputação a Ryukiimaru em Apresentação - RyukiimaruOlá galera do Tibia King, ja possuo a minha conta criada a um bom tempo, porém nunca me apresentei, e digamos que sou novato, pois estou pegando firme no aprendizado agora.
Em todas as áreas de um otsever, a que mais gosto, e a que mais me empolgou foi scripiting, alem de que já fiz 1 pequeno curso de lua, e tenho uma noção sobre progamação devido a uma experiencia na faculdade , (tambem tive uma boa ajuda pra entender o basico com alguns membros daqui )
e a que menos me simpatizei foi spriting, não por achar chato ou algo do tipo, mas e por que eu não sei mesmo fazer 1 simples sprite(pelo menos ainda haha).
Apesar dos meus 23 aninhos, pretendo aprender bastante, e ajudar a comunidade futuramente, alem de meus projetos pessoais .
É isso ai
-
Honimura deu reputação a EduardoRox em Pokemon Sekai MMOOlá, boa tarde queridos usuários do tibiaking, venho através dessa anunciar o novo projeto que está a todo vapor
o Pokémon Sekai MMO, segue alguns sistemas e novidades;
- Old Pokedex
- New Pokedex:
- New Held Itens:
- Mapa:
- Pinsir Territory:
- New Mt. Moon:
- New Saffari zone:
- Victory Road [Foto desatualizada / em breve postarei atualizada ]:
- Victory Road:
- Lavender Tower:
- Pallet Town:
Nosso servidor conta também com sistemas exclusivos:
- System:
para que o tópico não fique muito longo, irei deixar link do grupo/page do Sekai, aguardamos vocês lá!
Sekai MMO - Fã Page.
Sekai MMO - Group.
abraços, duuB.
-
Honimura deu reputação a dihstifler em [MindSoft] Zeras OnlineBom direto ao ponto estou querendo formar um equipe que tenha tempo e dedicação a este projeto, o projeto sera baseado em Old os tempos de 7.1, 7.4 e 7.6, antes de dizer "Ahh mais um servidor copia dos outros" vou citar algumas mudanças que teremos:
Novo balanceamento das Classes dando mais opções para os jogadores:
Iniciais:
A partir delas teremos as subclasse (seria como promotion mas com alguns adicionais, não precisa de premio para adquiri-las porem e necessário uma quest especifica para cada uma no lv30)
Subclasses:
Pretendo termos um mapa totalmente próprio, porque? porque tibia antigamente era legal por causa do desconhecido de coisas novas lugares novos sem saber onde aquela cave ia dar, descobrir quests, monstros novos, não somente com as sprites OldSchool mas também trazer algumas novas próprias tanto de mapa como de monstros novos e itens (jogar no modo old mas com inovações que não afetaram as mecânicas do OldSchool Pvp)
Já tenho um cliente personalizado com mais de 3000 sprites novos pra criação de novas ambientes alem dos Olds que teremos, e muitos outros guardados para ser adicionados futuramente.
Teremos um cliente próprio com sistema anti-cheat e anti-bot, já tenho só falta os cliente maker pra dar uma incrementada.
Já tenho um plano se servidor dedicado para hospedagem do nosso servidor e site.
Por enquanto é isto algumas da idéias, outras aida tem que ser discutidas em grupo, estarei atualizando o post com mais informações no decorrer do projeto
Informações do progresso:
Vagas Disponíveis na Equipe:
-
Honimura deu reputação a Toony em |New Gallery| TonyDepois de muito tempo, voltando ao mundo tíbia rsrs, estava trabalhando para alguns servidores de MU Online e em uma agencia de Belo Horizonte, começarei uma nova galeria, depois de muita insistência de @Absolute , irei estar presente no fórum, atender alguns pedidos vamos la :d
Vejam também:
Galeria Antiga
Behance
DeviantArt
-
Honimura deu reputação a Danilonilo8 em DaniloNilo Sprites<'~DaniloNilo Sprites~'>
Fala galera, eu sou o Danilonilo, "O Primeiro Spriter Cadeirante" e eu estou aqui para apresentar meu projeto DaniloNilo Sprites, antigamente ele era assim, vocês pediam um personagem, objeto, criatura para mim fazer e eu montava um vídeo mostrando, mas agora vou fazer diferente, e vou fazer do jeito que a galera gosta, eu sei que vocês não vão resistir e vão copiar as sprites, + se forem fazer algum teaser e aparecer a minha sprite, por favor, ponham os créditos, e se possível divulgue esse tópico.
Ou seja, vou colocar a sprite aqui no tópico!
Obs.: Se você não colocar os créditos, nem pegue! Pois será acusado de ripping amigão!
Canal do youtube com os vídeos de sprites e tutoriais:
danilonilo8
Meu blog com tabela de preços para encomenda de sprites:
danilonilosprites
Quer ver um dos meus projetos? Acesse o tópico do Dragon Ball: The History:
DBTH
(Novo!) Termine a Sprite!
Feitas por pedidos aqui no TibiaKing:
Itens
Perspectiva (Outfits, Monstros, ETC)
Consideradas Péssimas por mim:
-
Honimura recebeu reputação de lokokokokoko em Sword Art Online - RecrutamentoOutras informações serão passadas de forma privada.
-
Honimura deu reputação a jerock em Remakes Pokemon JeerMoltres
Articuno
Zapdos
-
Honimura recebeu reputação de vitinhoericas2 em Sword Art Online - RecrutamentoOutras informações serão passadas de forma privada.