Desenvolvi essa macro para todos os líderes de clan que querem recrutar apenas os jogadores com boas skills e que tenham uma certa quantia de money.
Você, líder, não vai mais precisar se preocupar em recrutar, dar confiável e até mudar a tag do novo membro do clan. Essa macro vai fazer tudo isso para você.
: Quando alguém que está bloqueado tentar entrar no clan utilizando o sistema, não vai conseguir (mesmo tendo os requisitos).
: É possível bloquear quantas pessoas você quiser.
: Se alguém abandonar o clan ou ser kickado por algum líder, ele será bloqueado automaticamente.
Antes de ativar a macro, você precisa configurar o sistema, para isso você precisa entrar no menu de configuração.
Caso alguém queira entrar para o seu clan, basta que ele envie no seu tell alguma dessas palavras:
.
Quando alguém enviar uma mensagem no seu tell pedindo para recrutar, a macro vai iniciar as verificações de skills e money.
e aprenda.
: Sim, é possível instalar várias macros juntas no OnChat.
$${
IFMATCHES("%CHATCLEAN%","^\[[\w]+\] (.*)%PLAYER%\: clan(.*)$");
MATCH("%CHATCLEAN%","^\[[\w]+\] (.*)%PLAYER%\: clan(.*)$",{,&clan_cmd});
SET(&nc,"#SL");
SET(&nc,"%&nc%EEP");
IF(%&clan_cmd%=" menu");
DO;
GUI();
PROMPT(&menu,"$$[ [Nome do clan,,Tag,Trust ON/OFF,,Espadas nível,Acrobacia nível,Money mínimo,,Recrutar,Expulsar,,Bloquear,Desbloquear,,Sair do menu]]","");
IF(%&menu%="Nome do clan");
PROMPT(&clan_nome,"$$?","Qual é o nome do clan? (as primeiras 4 letras já é o suficiênte)");
IF(%&clan_nome%!=NONE);
LOG("&6[Clan] &aNome do clan: &f%&clan_nome%&a. &9&o%&nc%");
ELSE;
LOG("&6[Clan] &cNome inválido! &9&o%&nc%");
ENDIF;
ELSEIF(%&menu%="Tag");
PROMPT(&tag,"$$?","Qual tag deseja inserir aos membros?");
IF(%&tag%!=NONE);
LOG("&6[Clan] &aTag &e[%&tag%&e] &adefinida! &9&o%&nc%");
ELSE;
LOG("&6[Clan] &cTag inválida! &9&o%&nc%");
ENDIF;
ELSEIF(%&menu%="Trust ON/OFF");
PROMPT(&trust,"$$[ [Sim,Não]]","Marcar como confiável automaticamente ao entrar no clan?");
IF(%&trust%="Sim");
LOG("&6[Clan] &aMarcar como confiável: &fSim&a. &9&o%&nc%");
ELSEIF(%&trust%="Não");
LOG("&6[Clan] &aMarcar como confiável: &fNão&a. &9&o%&nc%");
ELSE;
LOG("&6[Clan] &cResposta inválida! &9&o%&nc%");
ENDIF;
ELSEIF(%&menu%="Acrobacia nível");
PROMPT(#acrobacia_nivel,"$$?","Digite o nível mínimo para a skill Acrobacia.");
IF(%#acrobacia_nivel%>=0);
LOG("&6[Clan] &aNível mínimo de &f%#acrobacia_nivel% &ana skill Acrobacia definido! &9&o%&nc%");
ELSE;
LOG("&6[Clan] &cNível inválido! &9&o%&nc%");
ENDIF;
ELSEIF(%&menu%="Espadas nível");
PROMPT(#espadas_nivel,"$$?","Digite o nível mínimo para a skill Espadas.");
IF(%#espadas_nivel%>=0);
LOG("&6[Clan] &aNível mínimo de &f%#espadas_nivel% &ana skill Espadas definido! &9&o%&nc%");
ELSE;
LOG("&6[Clan] &cNível inválido! &9&o%&nc%");
ENDIF;
ELSEIF(%&menu%="Money mínimo");
PROMPT(#money_minimo,"$$?","Quantos coins é necessário para alguém ser recrutado?");
IF(%#money_minimo%>=0);
LOG("&6[Clan] &aValor mínimo de &f%#money_minimo% &acoin(s) definido! &9&o%&nc%");
ELSE;
LOG("&6[Clan] &cValor inválido! &9&o%&nc%");
ENDIF;
ELSEIF(%&menu%="Recrutar");
PROMPT(&nick_invitar,"$$?","Quem deseja recrutar?");
IF(%&nick_invitar%!=NONE);
IFMATCHES("%&clan_membros%","<%&nick_invitar%>");
LOG("&6[Clan] &f%&nick_invitar% &cjá esta no clan! &9&o%&nc%");
ELSE;
ECHO("/clan invite %&nick_invitar%");
LOG("&6[Clan] &aConvite enviado para &f%&nick_invitar%&a! &9&o%&nc%");
REPLACE(&bloqueados,"<%&nick_invitar%>","");
ENDIF;
ELSE;
LOG("&6[Clan] &cNick inválido! &9&o%&nc%");
ENDIF;
ELSEIF(%&menu%="Expulsar");
SET(&clan_membros_copy,"%&clan_membros%");
REPLACE(&clan_membros_copy,"<","");
REPLACE(&clan_membros_copy,">",",");
PROMPT(&nick_kickar,"$$[ [%&clan_membros_copy%,]]","Quem deseja expulsar?");
IF(%&nick_kickar%!=NONE);
IFMATCHES("%&clan_membros%","<%&nick_kickar%>");
SET(&bloqueados,"%&bloqueados%<%&nick_kickar%>");
REPLACE(&clan_membros,"<%&nick_kickar%>","");
ECHO("/clan kick %&nick_kickar%");
LOG("&6[Clan] &f%&nick_kickar% &afoi expulso(a)! &9&o%&nc%");
ELSE;
LOG("&6[Clan] &f%&nick_kickar% &cnão esta no clan! &9&o%&nc%");
ENDIF;
ELSE;
LOG("&6[Clan] &cNick inválido! &9&o%&nc%");
ENDIF;
ELSEIF(%&menu%="Bloquear");
PROMPT(&nick_block,"$$?","Quem deseja bloquear?");
IF(%&nick_block%!=NONE);
IFMATCHES("%&bloqueados%","<%&nick_block%>");
LOG("&6[Clan] &f%&nick_block% &cjá está bloqueado(a)! &9&o%&nc%");
ELSE;
SET(&bloqueados,"%&bloqueados%<%&nick_block%>");
LOG("&6[Clan] &f%&nick_block% &afoi bloqueado(a)! &9&o%&nc%");
ENDIF;
ELSE;
LOG("&6[Clan] &cNick inválido! &9&o%&nc%");
ENDIF;
ELSEIF(%&menu%="Desbloquear");
SET(&bloqueados_copy,"%&bloqueados%");
REPLACE(&bloqueados_copy,"<","");
REPLACE(&bloqueados_copy,">",",");
PROMPT(&nick_desbloquear,"$$[ [ -> Todos <- ,%&bloqueados_copy%]]","Quem deseja desbloquear?");
IF(%&nick_desbloquear%!=NONE);
IF(%&nick_desbloquear%=" -> Todos <- ");
LOG("&6[Clan] &aTodos foram desbloqueados! &9&o%&nc%");
SET(&bloqueados,"");
ELSE;
IFMATCHES("%&bloqueados%","<%&nick_desbloquear%>");
REPLACE(&bloqueados,"<%&nick_desbloquear%>","");
LOG("&6[Clan] &f%&nick_desbloquear% &afoi desbloqueado(a)! &9&o%&nc%");
ELSE;
LOG("&6[Clan] &f%&nick_desbloquear% &cnão está bloqueado(a)! &9&o%&nc%");
ENDIF;
ENDIF;
ELSE;
LOG("&6[Clan] &cNick inválido! &9&o%&nc%");
ENDIF;
ENDIF;
UNTIL(%&menu%="Sair do menu");
ELSEIF(%&clan_cmd%=" on");
IF(%&clan_nome%=NONE);
LOG("&6[Clan] &cDefina o nome do clan antes de ativar! &9&o%&nc%");
ELSE;
SET(clan_admin);
SET(&tell_block,"CL");
UNSET(verificando);
UNSET(stats);
UNSET(money);
LOG("&6[Clan] &aAtivado! &9&o%&nc%");
ENDIF;
ELSEIF(%&clan_cmd%=" off");
UNSET(clan_admin);
LOG("&6[Clan] &cDesativado! &9&o%&nc%");
ENDIF;
ENDIF;
IF(clan_admin);
IFMATCHES("%CHATCLEAN%","^\(Mensagem de (.+)\): (.*)(recruta|invita|chama clan)(.*)$");
MATCH("%CHATCLEAN%","^\(Mensagem de (.+)\): (.*)(recruta|invita|chama clan)(.*)$",{&nick_tell});
IF(!verificando);
SET(verificando);
SET(&nick_recrutar,"%&nick_tell%");
IFMATCHES("%&bloqueados%","<%&nick_recrutar%>");
ECHO("/tell @%&nick_recrutar% (macro) infelizmente você não pode entrar neste clan. %&nc%");
ELSE;
IFMATCHES("%&clan_membros%","<%&nick_recrutar%>");
ECHO("/tell @%&nick_recrutar% (macro) você já é membro do clan. %&nc%");
ELSE;
ECHO("/tell @%&nick_recrutar% (macro) olá %&nick_recrutar%, verificando skills e money... %&nc%");
WAIT(30T);
UNSET(erro);
SET(#nivel_espadas,"9595");
SET(#nivel_acrobacia,"9595");
SET(#nivel_acrobacia,"9595");
ECHO("/inspect %&nick_recrutar%");
DO(250);
UNTIL((%#nivel_espadas%!=9595)&&(%#nivel_acrobacia%!=9595));
IF((%#nivel_espadas%=9595)||(%#nivel_acrobacia%=9595));
SET(erro);
ELSE;
SET(#money_min,"9595");
ECHO("/money %&nick_recrutar%");
WAIT(30T);
DO(250);
UNTIL(%#money_min%!=9595);
IF(%#money_min%=9595);
SET(erro);
ELSE;
SET(recrutar);
IF(%#nivel_espadas%<%#espadas_nivel%);
UNSET(recrutar);
ENDIF;
IF(%#nivel_acrobacia%<%#acrobacia_nivel%);
UNSET(recrutar);
ENDIF;
IF(%#money_min%<%#money_minimo%);
UNSET(recrutar);
ENDIF;
IF(recrutar);
ECHO("/tell @%&nick_recrutar% (macro) você foi aceito =) %&nc%");
WAIT(30T);
ECHO("/clan invite %&nick_recrutar%");
WAIT(30T);
ELSE;
SET(&bloqueados,"%&bloqueados%<%&nick_recrutar%>");
ECHO("/tell @%&nick_recrutar% (macro) você foi recusado =( %&nc%");
WAIT(30T);
ECHO("/tell @%&nick_recrutar% (macro) requisitos: %#espadas_nivel% espadas, %#acrobacia_nivel% acrobacia, %#money_minimo% coin(s).");
WAIT(30T);
ENDIF;
ENDIF;
ENDIF;
IF(erro);
ECHO("/tell @%&nick_recrutar% (macro) ocorreu um erro, tente novamente em 10 segundos. %&nc%");
ENDIF;
ENDIF;
ENDIF;
WAIT(30T);
SET(&tell_block,"CL");
SET(&nick_recrutar,"CL");
UNSET(verificando);
ELSE;
IFMATCHES("%&nick_tell%","%&nick_recrutar%");
ELSE;
IFMATCHES("%&nick_tell%","%&tell_block%");
ELSE;
ECHO("/tell @%&nick_tell% (macro) aguarde 10 segundos e tente novamente. %&nc%");
SET(&tell_block,"%&nick_tell%");
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
IFMATCHES("%CHATCLEAN%","^Espadas: (.+) XP\((.+)\/(.+)\)$");
MATCH("%CHATCLEAN%","^Espadas: ([\d,.]+) XP\((.+)\/(.+)\)$",{#nivel_espadas});
ENDIF;
IFMATCHES("%CHATCLEAN%","^Acrobacia: (.+) XP\((.+)\/(.+)\)$");
MATCH("%CHATCLEAN%","^Acrobacia: ([\d,.]+) XP\((.+)\/(.+)\)$",{#nivel_acrobacia});
ENDIF;
IFMATCHES("%CHATCLEAN%","^\[Money\] %&nick_recrutar%'s Balanco: ([\d,]+).[\d]*[\d]* Coins$");
MATCH("%CHATCLEAN%","^\[Money\] %&nick_recrutar%'s Balanco: ([\d,]+).[\d]*[\d]* Coins$",{#money_min});
ENDIF;
IFMATCHES("%CHATCLEAN%","^\* (.+) abandonou o clan$",&nick_abandonou,1,NONE);
SET(&bloqueados,"%&bloqueados%<%&nick_abandonou%>");
REPLACE(&clan_membros,"<%&nick_abandonou%>","");
ENDIF;
IFMATCHES("%CHATCLEAN%","^\* (.+) foi kickado por [\d\w_]*$",&nick_kickado,1,NONE);
SET(&bloqueados,"%&bloqueados%<%&nick_kickado%>");
REPLACE(&clan_membros,"<%&nick_kickado%>","");
ENDIF;
IFMATCHES("%CHATCLEAN%","^\* (.+) é o mais novo membro do clan %&clan_nome%",&nick_novo,1,NONE);
REPLACE(&bloqueados,"<%&nick_novo%>","");
SET(&clan_membros,"%&clan_membros%<%&nick_novo%>");
IF(%&trust%="Sim");
ECHO("/clan trust %&nick_novo%");
WAIT(30T);
ENDIF;
ECHO("/clan setrank %&nick_novo% %&tag%");
WAIT(30T);
ECHO("/. (macro) seja bem-vindo(a) %&nick_novo%, lembre-se de respeitar a todos.");
WAIT(30T);
ENDIF;
}$$
Qualquer dúvida ou sugestão comente aqui no tópico que responderei assim que possível.