Zell

Membro
  • Total de itens

    58
  • Registro em

  • Última visita

  • Days Won

    5

Reputação

21 Contribuidor

6 Seguidores

Sobre Zell

  1. Acho que ele foi sarcástico. Ele quis dizer que o pessoal paga tudo isso no gepard justamente por que ele é funcional.
  2. Não. O único sem ser o de cabeça que permite mostrar sprite são no slot de capa
  3. Cara, não é só sempre fazer quando passar no clif_pickitem (alto do tipo) fazer o sd usar a skill ganancia?
  4. Acompanho por olho o projeto desde que começou mas tenho a duvida de por que não postar isso em alguma outra comunidade tipo o rAthena. Acho que lá você receberia mais colaboradores. E não sei se a criação de personagem deveria ser prioridade sua no momento, afinal é algo que já se tem no cliente e chega a ser mais prático do que acessar um site. De qualquer forma, boa sorte com o projeto e parabéns pela iniciativa
  5. É aquilo. Quanto mais bonus o jogador tiver, mais calculos serão feitos antes de retornar o dano, logo, mais tempo processando isso. Mas provavelmente servidores só sentem esse impacto em lag com uma população grande de jogadores (chuto 500 +)
  6. Acho que todo mundo sabe disso, o Vor principalmente. Mas não é nada esperto omitir essas informações de avisos, pois elas são importantes em outros casos. O ideal é comentar a mensagem do vor mesmo
  7. Mecson demais
  8. ajuda

    No phpmyadmin é só você fazer a consulta com select com os ids das contas da sua staff. Você pode nas configurações de grupos (group_id) configurar se o usuário pode dar trade e os comandos que pode usar ou não. Mas o que te recomendo mesmo é não liberar esses comandos de edição de atributos ou @item para sua staff.
  9. ajuda

    Se você está fazendo uma query para aumentar o dia de vip não precisa do login do usuário. Você pode usar o ID da conta que é único e o comando getcharid já lhe entrega.
  10. Vou responder por que gosto de explicar esse tipo de coisa, se não entender algo me diga. Tentarei explicar de uma forma bem "pseudo-funcionamento". Existem umas três ou quatro funções importante para esse gerenciamento. Vou abordar só uma que você consegue achar as outras. A função que se é chamada para "mostrar" um jogador na tela para outro seria essa: int clif_spawn(struct block_list *bl) Existem outras funções para atualizar certas informações e etc mas com isso você já consegue entender um pouco. O seu desenho e conceito estão um pouco equivocado. Tentarei explicar. Jogadores que estão fora da da área de visão do jogador (que pode ser configurado em conf/battle/client.conf) para o cliente não existem. O que acontece não é tão complexo quanto acho que você pensa. Partindo do pressuposto que você tem entendimento do que são pacotes irei para a explicação logo. Um jogador está na área branca da imagem e então clica para ir para a área vermelha, o emulador irá confirmar que ele pode até lá e então vai responder ao cliente que pode movimentar seu personagem. Durante esse processo que o emulador verificou se você pode andar até lá ele já verifica através das funções para checar quais objetos estão próximos a aquela celula nova que você está (já calculando seu alcance de visão). Normalmente essas funções possuem a nomenclatura "foreachAlgumaCoisa" (dependendo do seu objetivo) e então eles descobrem que jogador está em seu alcance de visão e envia para seu cliente as informações necessárias para que ele mostre o jogador para você. Quando esse jogador andar, ele irá enviar a solicitação ao jogador e novamente todo o processo começa.
  11. Assim, não querendo desmerecer como você faz ou não as coisas. Mas por que pagar alguém para fazer um servidor que é o que VOCÊ deseja fazer? Afinal como você disse, caso o servidor não faça sucesso ou acabe fechando, pelo menos você obteve conhecimento com o mesmo, seja de programação, design ou outras coisas. Não sei quantos anos você tem ou se já tem carreira formada. Mas ragnarok é um bom jeito de introduzir programação a alguém. Melhor do que depois se arrepender de ter gasto dinheiro. Acho que você aprendendo e fazendo as coisas além do servidor ficar como você quer, você vai se dedicar mais para tornar o servidor a sua vontade e não ficar dependendo de contato x para sempre que quiser mudar ou adicionar novas coisas. Qualquer Administrador/Gerente de algum software, tem que saber desenvolver/programar, mesmo que ele não mexa no código, mas pra passar para sua equipe o que fazer ele deve pelo menos saber como fazer. Toda via, você tem ideias bacanas, algumas me lembraram bastante certos animes e etc... E a engine de Ragnarok como falaram é bem limitada, se está disposto a pagar alguém pra fazer algum jogo há várias plataformas melhor para isso, porém se você aceita os limites que o Rag possui, vai fundo e boa sorte no projeto!
  12. O comando tem 5 minutos de cooldown e é só pra vip dado uma vez que o servidor não tem @warp nem @go
  13. Desenvolvi um Navegador para meu servidor, uma vez que o mesmo possui mapas customizados e todo um banco de dados alterado (monstros, itens e etc) então vim compartilhar com quem ainda não acompanha meu trabalho. O programa foi desenvolvido em C#. O navegador lê os arquivos "mob_db.txt" (utilizo rathena onde o banco de dados de monstro ainda é em SQL/TXT), "iteminfo.lub", "npc.navi", "map.navi" e "conexao.navi" para carregar o banco de dados. mob_db.txt = Fica todas as informações dos monstros. npc.navi = Lê os NPC's e os inclui no banco de dado dos mapas. map.navi = Lê os mapas que existem no servidor e adiciona os NPC's e Monstros que existem no mesmo. conexao.navi = Faz a junção dos mapas para saber qual mapa se conecta a qual e de que forma, tais podendo ser por PORTAL, KAFRA, AEROPLANO, TREM, BARCO ou ID_NPC. Ah, somente os monstros que possuem registro em mapas são carregados do mob_db.txt O navegador é executado junto com o jogo pelo Launcher que programei (Design feito pelo Mihael), inclusive somente é possível logar no servidor por este Launcher. Ah, o VOTE POR PONTOS dele não é burlável. A pessoa precisa votar realmente Esta é a cara do navegador: Logo após explicar a Interface de informação do mapa explicarei o que cada botão faz. Ao clicar em um mapa (cliquei no mapa referente a prt_fild08) as informações do mapa são abertas mostrando a seguinte tela: [1] Aba dos Monstros do mapa. [2] Aba dos NPCs do mapa. [3] Aba de todos os itens dropaveis no mapa. [4] Informações dos Monstros [5] Clicando no monstro é possível ver sua aparência e animação. [6] Clicando no monstro é possível ver seus drops. [7] É possível ver quais conexões esse mapa tem, resumindo como chegar nele ou como chegar em outro mapa por ele. [8] Imagem referente ao 7 ao que muda de acordo com o tipo de conexão (PORTAL, KAFRA e etc) [9] Mini Mapa do Mapa atual. [10] Informações da conexão. É possível abrir a informação de outro mapa d aconexão clicando no link. Uma nova sub tela será aberta. [11] É possível teleportar seu personagem com este botão caso seja vip. Esta é a aba de NPC's: E esta é a aba de items dropaveis no mapa: Agora irei falar sobre os botões da tela principal: Pesquisar: É bem intuitivo, permite pesquisar sobre monstros, npcs, items e mapas do navegador. Sincronizar Personagem: Ao colocar seu login e senha no Launcher e executar o navegador você pode sincronizar o navegador com seu personagem conectado. Desta forma, você pode usar o botão "Teleportar Personagem" caso seja VIP. Salvar Seção: Você pode salvar em um arquivo de texto todos os mapas abertos atualmente para compartilhar com alguém ou para futuras pesquisas rápidas em andares de mapas. Carregar Seção: Bem, carrega o arquivo de texto e abre os mapas informados nele. Créditos: Créditos (?) E é isso pessoal
  14. GUIA E ORIENTA??O

    U?, mas esse plugin est? f?cil, tem nem o que ensinar. Essa parte vai em script.c em qualquer lugar, por exemplo em cima BUILDIN(next) BUILDIN(autonext) { TBL_PC* sd; int timeout; sd = script->rid2sd(st); if( sd == NULL ) return true; #ifdef SECURE_NPCTIMEOUT sd->npc_idle_type = NPCT_WAIT; #endif //script_detach_rid(st); timeout=script_getnum(st,2); if(st->sleep.tick == 0) { st->state = RERUNLINE; st->sleep.tick = timeout; } else {// sleep time is over st->state = RUN; st->sleep.tick = 0; } clif->scriptnext(sd, st->oid); return true; } Isso aqui: addScriptCommand("autonext","i",autonext); Seria a mesma cosia que BUILDIN_DEF(autonext,"i"), Pode colocar em cima de BUILDIN_DEF(next,""), Se n?o tiver nenhuma incompatibilidade entre os dois emuladores em quesito nome de variaveis ou se s?o refer?ncias, deve funcionar