//----------------------------------------------------------------------// Desenvolvedor: Fou-lu// Script desenvolvido em especial para a comunidade Cronus.////----------------------------- DESCRIÇÃO ------------------------------// Sistema de presença automático que comporta diversos tipos de// configurações para atender ao máximo os diversos servidores.//// A presença do jogador já é contada ao logar no servidor, sem// depender de ficar falando com NPC ou ativando através de comando.// Para o jogador checar seus pontos de presença ou quanto tempo// faltam para ganhar mais pontos, basta utilizar o comando "@presença".////----------------------------------------------------------------------- script SistemaPresenca-1,{OnInit:
bindatcmd "presença",strnpcinfo(3)+"::OnAtcommand";//--------------------------- CONFIGURAÇÕES ----------------------------// Tempo para ganho de ponto. (Em minutos)set.tempo,60;// O tempo é resetado ao se deslogar? (1 = sim, 0 = não)set.reset,0;// Tempo máximo em segundos aceito em AFK. (Utilize valor 0 para aceitar jogadores AFK)set.afk,6000;// Defina se será aceito @autotrade, em caso de se permitir jogador AFK. // 0 = É aceito.// 1 = Não é aceito personagem em @autotrade.// 2 = Não é aceito personagem com loja aberta, mesmo que sem @autotrade.set.loja,2;////----------------------------------------------------------------------//----------------- NPC de Troca de Pontos por Itens -------------------
initnpctimer;
end;OnAtcommand:
mes "[Sistema Presença]";if(#PontosPresenca){
mes "Você possui "+#PontosPresenca + " ponto(s) de presença.";}else{
mes "Você não possui pontos de presença.";}
mes "Falta(m) "+(.tempo -#TempoPresenca) +" minuto(s) para você ganhar 1 ponto de presença.";
mes "Você ganha 1 ponto de presença por cada "+.tempo +" minutos online.";if(.reset) mes "Seu tempo para ganho de ponto é reiniciado ao se deslogar.";if(.afk) mes "Ao ficar AFK o tempo de presença não é contado.";if(.loja ==1) mes "Personagens em @autotrade o tempo de presença não é contado.";if(.loja ==2) mes "Personagens com lojas abertas o tempo de presença não é contado.";
close;OnTimer60000:
stopnpctimer;
query_sql("SELECT account_id FROM `char` WHERE online = 1",.@account_id);for(set.@i,0;.@i< getarraysize(.@account_id);.@i++){if(attachrid(.@account_id[.@i])){if((.afk && checkidle(strcharinfo(0))>.afk)||(.loja &&((.loja ==1&& checkvending(strcharinfo(0))==2)||(.loja ==2&& checkvending(strcharinfo(0)))))){break;}set#TempoPresenca, #TempoPresenca + 1;if(#TempoPresenca>=.tempo){set#PontosPresenca, #PontosPresenca + 1;set#TempoPresenca, 0;}
detachrid;}}
initnpctimer;
end;OnPCLogoutEvent:if(.reset){set#TempoPresenca, 0;}
end;}//------------------ NPC Troca de Pontos por Itens ---------------------
prontera,164,174,3 script LojaPresença 833,{
mes "[Itens por Presença]";if(#PontosPresenca){
mes "Você possui "+#PontosPresenca + " ponto(s) de presença.";}else{
mes "Você não possui pontos de presença.";}
next;for(set.@i,0;.@i< getarraysize(.itemid);.@i++){set.@menu$,.@menu$+ getitemname(.itemid[.@i])+"("+.qtd[.@i]+") = "+.pontos[.@i]+" pt(s)";if((.@i+1)!= getarraysize(.itemid)){set.@menu$,.@menu$+":";}}if(prompt(.@menu$)!=255){set@menu,@menu-1;
mes "[Itens por Presença]";if(#PontosPresenca<.pontos[@menu]){
mes "Você não possui pontos suficientes.";}elseif(!checkweight(.itemid[@menu],.qtd[@menu])){
mes "Você não possui capacidade de peso suficiente.";}else{
mes "Tome seu item "+ getitemname(.itemid[@menu])+".";
getitem .itemid[@menu],.qtd[@menu];set#PontosPresenca, #PontosPresenca - .pontos[@menu];}
close;}
end;OnInit://----------------- CONFIGURAÇÃO NPC TROCA DE PONTOS -------------------// Escreva o id do item, pontos necessários para se obter e a quantidade // ganha que serão exibidos no NPC de recompensas.// Você pode aumentar e diminuir a quantidade de itens disponiveis, porem// se atentando a ordem entre as arrays. Ou seja, o item ID na primeira// posição da array ".itemid" custará os pontos presentes na primeira// posição da array ".pontos", onde será recebida a quantidade do item// determinada na primeira posição da array ".qtd". Assim por diante com// o segundo item, terceiro item e etc. Lembre-se que todas as 3 arrays // precisam ter o mesmo tamanho.//// ID dos Itens
setarray .itemid,7711,7712,7713,6423,6417,6456,6457,673;// Pontos Requeridos
setarray .pontos,15,35,65,5,5,5,5,5;// Quantidade Ganha
setarray .qtd,1,1,1,5,5,1,1,1;
end;}
Question
Tupac
I am use this script:
how do add ip block or MAC ?
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.