//Modified by - PandaLovesHamster
//Custom Guild Limiter
//Credits to the owners of the individual makers of the script, I just tied them all together to create this script
sec_in01,99,187,4 script Limitador de Guilda 833,{
// this part registers the guild
function sf {
function s;
.@a = getarg(2);
.@len = getarg(3);
return (
sprintf( getarg(0),
s(.@a, .@len, getarg(1)), s(.@a++, .@len, getarg(1)),
s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)),
s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)),
s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1)),
s(.@a++, .@len, getarg(1)), s(.@a++, .@len, getarg(1))
)
+(( .@a+1 < .@len )?":Next":":")
+(( .@a-11 > 0 )?":Back":":")
+":Cancel"
);
function s {
if( getarg(0) >= getarg(1) ) return "";
else {
.@name$ = getguildname(getelementofarray(getarg(2),getarg(0)));
return .@name$=="null"?"":.@name$;
}
};
};
function nex { return((getarg(0)+10)<getarg(1)?getarg(0)+10:getarg(1)-(getarg(1)%10)); };
functionbac { return((getarg(0)-10)>=0?getarg(0)-10:0); };
if(getgmlevel()>=80 ) {
mes .Npc_Name$;
mes "Olá Sr. GM, o que você gostaria de fazer?";
next;
switch( select("Adicionar/Remover Guildas:Limpar Dados da Guilda:Menu do Jogador:Cancelar") ) {
case 1:
mes .Npc_Name$;
mes "Gostaria de adicionar ou remover uma guilda?";
.@a_len = getarraysize($App_Guilds);
.@format$ = "%s:%s:%s:%s:%s:%s:%s:%s:%s:%s";
next;
if( select("- Remover:- Adicionar") == 1 ) {
while( .@a != 9999 ) {
select( sf( .@format$, $App_Guilds, .@a, .@a_len ) );
switch( @menu ) {
case 11: .@a = nex( .@a, .@a_len ); break;
case 12: .@a = bac( .@a ); break;
case 13: end;
default:
.@select = .@a+@menu-1;
mes .Npc_Name$;
mes "Você selecionou ^0000FF["+getguildname($App_Guilds[.@select])+"]^000000 guilda. Você gostaria de removê-los das guildas aceitas?";
next;
if( select("sim:não") == 1 ) {
deletearray($App_Guilds[.@select],1);
mes .Npc_Name$;
mes "A guilda foi removida com sucesso!";
}
close;
}
}
} else {
mes .Npc_Name$;
mes "Por favor, insira o nome da guilda ou o nome do Lider.";
next;
input(.@input$);
.@len = query_sql( "Select `guild_id` from `guild` where `name` like '%"+escape_sql(.@input$)+"%' or `master` like '%"+escape_sql(.@input$)+"%';",.@guild_id );
while( .@a != 9999 ) {
select( sf( .@format$, .@guild_id, .@a, .@len ) );
switch( @menu ) {
case 11: .@a = nex( .@a, .@len ); break;
case 12: .@a = bac( .@a ); break;
case 13: end;
default:
.@select = .@a+@menu-1;
.@a_len = getarraysize($App_Guilds);
for(.@b=0;.@b<.@a_len;.@b++)
if( $App_Guilds[.@b]==.@guild_id[.@select] ) {
mes .Npc_Name$;
mes "Você selecionou ^0000FF["+getguildname(.@guild_id[.@select])+"]^000000 guilda. Sinto muito guilda já foi adicionada, mas à lista de aceitos.";
close;
}
mes .Npc_Name$;
mes "Você selecionou ^0000FF["+getguildname(.@guild_id[.@select])+"]^000000 guilda. Você gostaria de adicioná-los às guildas aceitas?";
next;
if( select("Sim:Não") == 1 ) {
.@a_len = getarraysize($App_Guilds);
if( .@a_len>=128 ) {
mes .Npc_Name$;
mes "Desculpe, mas a lista de aceitos está cheia, por favor, abra espaço e tente novamente...";
} else {
mes .Npc_Name$;
mes "TA guilda foi adicionada com sucesso!";
$App_Guilds[.@a_len] = .@guild_id[.@select];
}
}
close;
}
}
}
case 2:
mes .Npc_Name$;
mes "Tem certeza de que deseja limpar os dados da guilda?!";
next;
if( select("Sim!:Não!")==1 ) {
mes .Npc_Name$;
mes "Esta é sua última chance. Você tem certeza tão certo quanto pode ser?";
next;
if( select("Grosseiro!:Não, espere... Onde estou?!!")==1 )
deletearray($App_Guilds);
}
if( @menu==1 ) {
mes .Npc_Name$;
mes "A ação está feita...";
} else {
mes .Npc_Name$;
mes "Uau, isso foi perto... Tenha um bom dia!";
}
close;
case 3: break;
case 4:
mes .Npc_Name$;
mes "Tudo bem, tenha um bom dia!";
close;
}
}
.@len = getarraysize($App_Guilds);
for( .@i=0; .@i <= .@len; .@i++ ) {
if( getcharid(2) == $App_Guilds[.@i] )
set .@Guild_Check, .@Guild_Check+1;
}
// Esta parte ejeta os jogadores quando eles estão no mapa
OnPCLoadMapEvent:
if( getcharid(2) == $App_Guilds[.@i] ){
.count = 0;
.@origin = getcharid(3);
addrid 3, 0, getcharid(2);
if ( strcharinfo(3) == .checkmap$ )
.count++;
if ( !.@origin ) end;
if ( .count > 20 ) { // 5 significa apenas 5 jogadores por guilda permitidos em um mapa
message strcharinfo(0), "Os membros da sua guilda estão acima do limite permitido pela satff.";
sleep2 2000;
warp "SavePoint", 0,0;
}
}
end;
OnInit:
setarray .@checkmap$, "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05", "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05";
.@len = getarraysize( .@checkmap$ );
for ( .@i = 0; .@i < .@size; .@i++ ) {
setmapflag .@checkmap$[.@i], mf_loadevent;
setd "."+ .@checkmap$[.@i], 1;
}
end;
}
- script kjdhfkjshf -1,{
OnPCLoadMapEvent:
if ( getmapflag( strcharinfo(3), mf_gvg_castle ) && ( agitcheck() || agitcheck2() )) {
.@len = getarraysize($App_Guilds);
for( .@i=0; .@i <= .@len; .@i++ ) {
if( getcharid(2) == $App_Guilds[.@i] )
set .@Guild_Check, .@Guild_Check+1;
}
if( .@Guild_Check < 1 ) {
dispbottom "Sua guilda ainda não foi aprovada, entre em contato com os GMs";
sleep2 3000;
warp "SavePoint",0,0;
end;
}
if( !getcharid(2) ) {
dispbottom "Desculpe, apenas membros de uma guilda podem entrar em um castelo.";
sleep2 3000;
warp "SavePoint",0,0;
end;
}
}
end;
OnInit:
setarray .castles$[0],
"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05",
"payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05",
"gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05",
"aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05",
"arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05",
"schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05";
for ( .@i = 0; .@i < 30; .@i++ )
setmapflag .castles$[.@i], mf_loadevent;
end;
}
whenever I add or remove a guild, the NPC shows me the same guild twice. This ends up buggy when removing a guild from the registry. I click on remove guild "X" and guild "Y" is removed from the registry.
can anyone help me?
Question
FrajolazitoH
whenever I add or remove a guild, the NPC shows me the same guild twice. This ends up buggy when removing a guild from the registry. I click on remove guild "X" and guild "Y" is removed from the registry. can anyone help me?
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.