CarlosHenrqZ

Desenvolvedor
  • Total de itens

    600
  • Registro em

  • Última visita

  • Days Won

    31

Reputação

110 Especialista

Sobre CarlosHenrqZ

  • Rank
    Desenvolvedor de Projetos
  • Data de Nascimento 16-02-1994

M?todos de Contato

Informa??o do Perfil

  • Sexo:
    Homem

Últimos Visitantes

5.406 visualizações
  1. Você não cumpriu os requisitos para a versão 0.1.1... Na documentação está explicito a necessidade de se usar: Apache 2.4.x+ (Seu é 2.2.x) PHP 5.5+ (???? informou via pm que era 4.0.x) MySQL 5.6+ (Seu é 5.1) Fora as outras configurações. Reveja sua instalação no host, atualize tudo e depois voltamos a conversar. Com as versões que você informou, não vai rodar. Segue novamente o link para a parte de instalação: https://github.com/carloshenrq/brACP/tree/master-old#instalação-do-bracp
  2. Primeira coisa... você me disse via PM as versões do Apache e do MySQL. Quero saber a versão do PHP e a versão do bracp que você está tentando instalar. É a do git ou a postada aqui no fórum? Processo de instalação e configuração de apache + bibliotecas que precisam estar configuradas estão neste link aqui... https://github.com/carloshenrq/brACP/tree/master-old#instalação-do-bracp
  3. Por padrão no emulador, já temos o suporte por mac... O Que você está tentando fazer exatamente? Se você estiver tentando enviar pela DLL, é mais fácil você hookar o HEXED e manipular o packet, dai sim ele vai ali. Dependendo do que você for fazer, ainda vai ter que alterar a estrutura de packets do emulador =) @edit Nisso ai que você está fazendo, é abrindo uma nova conexão com o servidor e enviando o MAC. Mas... você se esqueceu de informar muita coisa até esse mac ai chegar no usuário atual. Você precisa injetar essa DLL no hexed e manipular os packets e acrescentar o mac_address ao final do pacote de login (depende de como está tentando fazendo o login) @edit² Quando me aventurei nessa parte ai, tive um bom sucesso em adicionar o MAC e HID (Hardware) nos pacotes de login, tanto que foi durante o desenvolvimento do brACP (Você pode conferir aqui https://github.com/carloshenrq/brACP/commit/dcd6cf3c568b0b57280ee4c946f437a036bfbe88#diff-954432d8d75f181162f880bb7cadab01L120)
  4. Se você estiver guardando account_id dentro dos arrays para fazer algo como evento ou uma fila de espera, você pode usar as funções de queue que temos hoje.
  5. Olhei a SRC e não temos esse comando em especifico... Não é que ele ainda existe, mas aqui ele não apareceu ainda. Mas você pode pegar a variável no personagem de outra forma... é um pouco mais chato, mas tem como fazer. [email protected] = 2000000; // ID da conta que você vai ler. // Remove o jogador atual do script, se houver. [email protected] = playerattached(); if([email protected]) detachrid(); attachrid([email protected]); [email protected] = #CASHPOINTS; // Variavel da conta que você quer ler. detachrid(); // Devolve o jogador inicial ao script if([email protected]) attachrid([email protected]); Eu tenho um exemplo deste comando no meu game de vivo ou morto, eu esse recurso lá. Se você tiver o script, na linha 73 +- Vou postar aqui caso não tenha =) while(1){ if(rand(1,100) <= .event_eng){ emotion 18; npctalk "OLÉ !!!!!!!!!!"; sleep 700; continue; } sleep 1000; npctalk (set([email protected],rand(0,1)) == 1) ? "Morto":"Vivo"; sleep 700; set [email protected],0; for(set [email protected],0; [email protected] < getarraysize([email protected]$); set [email protected],[email protected]+1){ if(is_sit([email protected]$[[email protected]]) != [email protected]){ attachrid getcharid(3,[email protected]$[[email protected]]); emotion 16,1; atcommand "@option 1"; npctalk "O Jogador "[email protected]$[[email protected]]+" foi desclassificado."; set [email protected]$[[email protected]],"null"; detachrid; } if([email protected]$[[email protected]] == "null") if( set([email protected],[email protected]+1) >= getarraysize([email protected]$) ){ set [email protected],-1; break; } if([email protected] == (getarraysize([email protected]$)-1)){ set [email protected],1; break; } } if([email protected]) break; }
  6. @BrOgBr O NPC foi feito pra mandar as mensagens às: OnClock2100: OnClock2120: OnClock2140: OnClock2200: Somente nessas horas ai ele vai falar algo. Ele não vai falar enquanto anda.
  7. @pandax Você podia ter feito igual você fez ali embaixo... Por exemplo... set [email protected], rand( getarraysize(.coory) ); Se aceita novos conhecimentos ai e talvez uma melhoria no código... Você podia ter matado os tags de timer igual vc no OnClock ali... OnTimer12000: stopnpctimer; initnpctimer; OnTimer9000: OnTimer6000: OnTimer3000: set [email protected], rand(getarraysize(.coory)); npcwalkto .coorx[[email protected]],.coory[[email protected]]; end; Quando der 12s, ele zera o timer e faz o movimento... Nos outros timers, ele apenas anda :v Ou até feito com um loopzin infinito: OnInit: setarray .coorx[0],155,159,151,155,169,150,156; setarray .coory[0],182,172,177,168,164,170,174; setarray .msg$[0],"msg1","msg2","msg3","msg4","msg5","msg6"; // Executa a movimentação do NPC cada 3s a movimentação do { sleep 3000; // 3000ms = 3s set [email protected], rand(getarraysize(.coory)); npcwalkto .coorx[[email protected]],.coory[[email protected]]; } while(true); end; Mas ai vem da escolha e depende de como você consegue fazer melhor. Só uma dica ai, várias formas de fazer a mesma coisa =)
  8. Só uma coisa ali no rand(1,6)... O Índice do vetor começa em 0, se você usa de 1 a 6, você ignora o primeiro e ele nunca vai ser executado :v
  9. @pensador Vai uma aqui pra você pensar... Porque usar percentheal e @heal juntos?
  10. vip

    @ChampzRO Muda pra getstrlen, eu sempre confundo todos os comandos. Normalmente acontece quando a função não existe ou tem erro na função.
  11. vip

    @ChampzRO Sempre esqueço de usar o callfunc ewe Olha dinovo o post e tenta =)
  12. vip

    @ChampzRO Você precisa converter esses segundos restantes no tempo e não o que você está fazendo, falta lógica nisso ai. Eu tenho uma função chamada "calc_time" de 2011 que pode ser encontrada no script [Evento] Arena de Eventos 1.9.2 function script calc_time { set @t,getarg(0)-gettimetick(2); if(@t%60) set @ret$,(@t%60)+" segundo(s)"; if(@t/60%60) set [email protected]$,(@t/60%60)+" minuto(s) "[email protected]$; if(@t%86400/3600) set @ret$,(@t%86400/3600)+" hora(s) "[email protected]$; if(@t%2592000/86400) set @ret$,(@t%2592000/86400)+" dia(s) "[email protected]$; if(@t/2592000) set @ret$,(@t/2592000)+" mes(es) "[email protected]$; return @ret$; } Adicione ela ao script que eu coloquei ali e tente dessa forma aqui, modifiquei ela com 2 linhas pra facilitar os testes neste caso aqui x) - script TesteVIP -1,{ OnInit: bindatcmd "test",strnpcinfo(3)+"::OnAtcommand"; end; OnAtcommand: @vipRestante$ = callfunc("calc_time", #official_time_vip); if(getstrlen(@vipRestante$) == 0) dispbottom "Você não possui mais tempo vip!"; else dispbottom "Você possui \""[email protected]$+"\" restante de tempo vip."; end; } function script calc_time { set @t,getarg(0)-gettimetick(2); if(@t <= 0) return ""; if(@t%60) set @ret$,(@t%60)+" segundo(s)"; if(@t/60%60) set @ret$,(@t/60%60)+" minuto(s) "[email protected]$; if(@t%86400/3600) set @ret$,(@t%86400/3600)+" hora(s) "[email protected]$; if(@t%2592000/86400) set @ret$,(@t%2592000/86400)+" dia(s) "[email protected]$; if(@t/2592000) set @ret$,(@t/2592000)+" mes(es) "[email protected]$; return @ret$; }
  13. vip

    @ChampzRO Porque você não usa daquela forma ali que eu coloquei? - script TesteVIP -1,{ OnInit: bindatcmd "test",strnpcinfo(3)+"::OnAtcommand"; end; OnAtcommand: @vipRestante = #official_time_vip - gettimetick(2); if(@vipRestante < 0) dispbottom "Seu periodo vip já terminou!"; else dispbottom "Você possui "[email protected]+" segundos de vip."; end; } Para usar com strings, você precisa concatenar elas. No caso das mensagens de npc, você usa com o +. A String inicia e termina com as " (aspas)... Se você definir o final dela e "somar" uma variável ou outro texto, ele vai entender perfeitamente... Veja... "oi eu sou o " + strcharinfo(0) + "!!!!"; Você está indicando que são 3 strings na soma. "oi eu sou o " strcharinfo(0) "!!!!" Para juntar os 3, nas linguagens de NPC você pode usar o + entre eles que vai exibir tudo junto x)
  14. vip

    @ChampzRO Do jeito que eu coloquei, ele vai calcular o tempo restante, mas não vai exibir. Com o valor ali, você pode exibir da forma que quiser. Procure os comandos para exibição de mensagem e faça os 2 funcionarem juntos...
  15. vip

    Você pode usar... @vipRestante = #official_time_vip - gettimetick(2); Menor igual a 0: Não tem mais vip sobrando. Maior que 0: O Personagem é vip e possui o resultado em segundos. @vipRestante irá retornar os segundos que faltam para acabar o vip... =)