Jump to content
  • 0

can I request script GUILD online member check


Question

6 answers to this question

Recommended Posts

Posted (edited)
prontera,155,155,5	script	Guild manager	56,{
	.@npc$ = "[ "+ strnpcinfo(1) +" ]";

	.@count = query_sql( "SELECT `guild_id`, `name`, `master`, `guild_lv` FROM `guild` ORDER BY `guild_id` ASC limit 128", .@guild_id, .@name$, .@master$, .@guild_lv );
	mes .@npc$;
	mes " ";
	mes "Total: ^FF0000"+ .@count +"^000000 guild"+ ( .@count -1 ? "s." : "." );
	mes "Select a guild for more informations.";
	next;

	.@s = select( implode( .@name$, ":" ) ) -1;
	.@size = query_sql( "SELECT `name` FROM `guild_member` WHERE `guild_id`= '"+ .@guild_id[ .@s ] +"'", .@name_m$ );
	for( .@i = 0; .@i < .@size; .@i++ )
		if( getcharid( 0,.@name_m$[ .@i ] ) ) .@m++;
	.@size_alli = query_sql( "SELECT `opposition`, `name` FROM `guild_alliance` WHERE `guild_id`= '"+ .@guild_id[ .@s ] +"'", .@opposition, .@name_alli$ );
    for( .@i = 0; .@i < .@size_alli; .@i++ ) {
        if( .@opposition[.@i] )
            .@good$ = .@good$ + ( getstrlen( .@good$ ) ? ", " : "" ) + .@name_alli$[.@i];
        else
            .@evil$ = .@evil$ + ( getstrlen( .@evil$ ) ? ", " : "" ) + .@name_alli$[.@i];
    }

	mes .@npc$;
	mes "Guild name: ^FF0000"+ .@name$[ .@s ] +"^000000",
		"Master name: ^FFCC00"+ .@master$[ .@s ] +"^000000",
		"Guild lvl: ^FF00CC"+ .@guild_lv[ .@s ] +"^000000",
		"Members Online: ^0000FF"+ .@m +"^000000",
		"Ally: ^CC00CC"+ ( getstrlen( .@evil$ ) ? .@evil$ : "None" ) +"^000000",
		"Antagonist: ^CC00CC"+ ( getstrlen( .@good$ ) ? .@good$ : "None" ) +"^000000";
	close;
}

 

EDIT fix some mistakes thanks to caspa

 

Edited by Capuche
  • Upvote 1
Posted

i tried this one... but the guild on my antagonist list is on my allies and whenever i add my 2nd allies the name is being repeated twice in ally list.

Posted

i tried this one... but the guild on my antagonist list is on my allies and whenever i add my 2nd allies the name is being repeated twice in ally list.

You're right I made some mistakes

The previous post is now edited

Posted (edited)

@capuche : how to add the ally and anta on this script capu? 
 

prontera,155,155,5    script    Guild manager    56,{
//- Limit 128 guild names
//- NPC name
    .@npc$ = "[ Guild manager ]";
//--------------------------------------

L_list:
// Delete variables
// ----------------
    .@m = 0;
    .@cast_owned$ = "";
    setarray .@var$, ".@guild_id", ".@name$", ".@master$", ".@guild_lv", ".@connect_member", ".@max_member", ".@name_m$", ".@castle_id";
    for( .@i = 0; .@i < getarraysize( .@var$ ); .@i++ )
        deletearray getd( .@var$[ .@i ] ), getarraysize( getd( .@var$[ .@i ] ) );

// Count guild
// -----------
    query_sql( "SELECT COUNT(`guild_id`) FROM `guild`", .@count );

    mes .@npc$;
    mes " ";
    mes "Total: ^FF0000"+ .@count +"^000000 guild"+ ( .@count -1 ? "s." : "." );
    mes "Select a guild for more informations.";
    next;


// Menu display name guild
// -----------------------
    query_sql( "SELECT `guild_id`, `name`, `master`, `guild_lv` FROM `guild` ORDER BY `guild_id` ASC limit 128",
                    .@guild_id, .@name$, .@master$, .@guild_lv );

    .@s = select( implode( .@name$, ":" ) ) -1;
    
    .@c = query_sql( "SELECT `castle_id` FROM `guild_castle` WHERE `guild_id` = '"+ .@guild_id[ .@s ] +"'", .@castle_id );
    for( .@i = 0; .@i < .@c; .@i++ )
        .@cast_owned$ = .@cast_owned$ + .castle$[ .@castle_id[ .@i ] ] + ( .@i == .@c -1 ? "" : ", " );

    .@size = query_sql( "SELECT `name` FROM `guild_member` WHERE `guild_id`= '"+ .@guild_id[ .@s ] +"' ORDER BY `position` ASC", .@name_m$ );
    for( .@i = 0; .@i < .@size; .@i++ )
        if( getcharid( 0,.@name_m$[ .@i ] ) )
            .@m++;

    mes .@npc$;
    mes "Guild name: ^FF0000"+ .@name$[ .@s ] +"^000000",
        "Master name: ^FFCC00"+ .@master$[ .@s ] +"^000000",
        "Guild lvl: ^FF00CC"+ .@guild_lv[ .@s ] +"^000000",
        "Members Online: ^0000FF"+ .@m +"^000000",
        "Castle owned: ^CC00CC"+ ( .@c ? .@cast_owned$ : "None" ) +"^000000";


// Menu members
// ------------
    switch( select( "~ ^777777Informations members^000000", "~ ^777777Cancel^000000", "~ ^777777Choose another guild^000000" ) ) {
        case 1:
            next;
            break;
        case 2:
            next;
            mes .@npc$;
            mes " ";
            mes "See you soon ^-^";
            close;
        case 3:
            next;
            goto L_list;
    }

    deletearray .@name_m$, getarraysize( .@name_m$ );
    .@size = query_sql( "SELECT `name` FROM `guild_member` WHERE `guild_id`= '"+ .@guild_id[ .@s ] +"' ORDER BY `position` ASC", .@name_m$ );

    mes .@npc$;
    mes "Members of ^0000FF"+ .@name$[ .@s ] +"^000000 guild.",
        "- Red: currently ^FF0000offline^000000.",
        "- Green: currently ^00C957online^000000.",
        " ";

    for( .@i = 0; .@i < .@size; .@i++ )
        mes "-> "+ ( getcharid( 0,.@name_m$[ .@i ] ) ? "^00C957" : "^FF0000" ) + .@name_m$[ .@i ] +"^000000";
    next;
    goto L_list;

    

OnInit:
    deletearray .castle$, getarraysize( .castle$ );    //- prevent duplicate
setarray .castle$, "Neuschwanstein",    "Hohenschwangau",    "Nuernberg",    "Wuerzburg",    "Rothenburg",
                    "Repherion",        "Eeyolbriggar",        "Yesnelph",        "Bergel",        "Mersetzdeitz",
                    "Bright Arbor",        "Scarlet Palace",    "Holy Shadow",    "Sacred Altar",    "Bamboo Grove Hill",
                    "Kriemhild",        "Swanhild",            "Fadhgridh",    "Skoegul",        "Gondul",
                    "Earth",            "Air",                "Water",        "Fire",            "Himinn",
                    "Andlangr",            "Viblainn",            "Hljod",        "Skidbladnir",    "Mardol",
                    "Cyr",                "Horn",                "Gefn",            "Bandis";
    end;
}
Edited by caspa
Posted

@capuche : how to add the ally and anta on this script capu?

prontera,155,155,5	script	Guild manager	56,{
//- Limit 128 guild names

L_list:
// Delete variables
// ----------------
	.@m = 0;
	.@evil$ = .@good$ = .@cast_owned$ = "";
	setarray .@var$, ".@guild_id", ".@name$", ".@master$", ".@guild_lv", ".@connect_member", ".@max_member", ".@name_m$", ".@castle_id", ".@opposition", ".@name_alli$";
	for( .@i = 0; .@i < getarraysize( .@var$ ); .@i++ )
		deletearray getd( .@var$[ .@i ] ), getarraysize( getd( .@var$[ .@i ] ) );

// Count guild
// -----------
	.@count = query_sql( "SELECT `guild_id`, `name`, `master`, `guild_lv` FROM `guild` ORDER BY `guild_id` ASC limit 128", .@guild_id, .@name$, .@master$, .@guild_lv );

	mes .npc$;
	mes " ";
	mes "Total: ^FF0000"+ .@count +"^000000 guild"+ ( .@count -1 ? "s." : "." );
	mes "Select a guild for more informations.";
	next;


// Menu display name guild
// -----------------------
	.@s = select( implode( .@name$, ":" ) ) -1;
	
	.@c = query_sql( "SELECT `castle_id` FROM `guild_castle` WHERE `guild_id` = '"+ .@guild_id[ .@s ] +"'", .@castle_id );
	for( .@i = 0; .@i < .@c; .@i++ )
		.@cast_owned$ = .@cast_owned$ + .castle$[ .@castle_id[ .@i ] ] + ( .@i == .@c -1 ? "" : ", " );

	.@size = query_sql( "SELECT `name` FROM `guild_member` WHERE `guild_id`= '"+ .@guild_id[ .@s ] +"' ORDER BY `position` ASC", .@name_m$ );
	for( .@i = 0; .@i < .@size; .@i++ )
		if( getcharid( 0,.@name_m$[ .@i ] ) ) .@m++;

	.@size_alli = query_sql( "SELECT `opposition`, `name` FROM `guild_alliance` WHERE `guild_id`= '"+ .@guild_id[ .@s ] +"'", .@opposition, .@name_alli$ );
	for( .@i = 0; .@i < .@size_alli; .@i++ ) {
		if( .@opposition[.@i] )
			.@good$ = .@good$ + ( getstrlen( .@good$ ) ? ", " : "" ) + .@name_alli$[.@i];
		else
			.@evil$ = .@evil$ + ( getstrlen( .@evil$ ) ? ", " : "" ) + .@name_alli$[.@i];
	}
	mes .npc$;
	mes "Guild name: ^FF0000"+ .@name$[ .@s ] +"^000000",
		"Master name: ^FFCC00"+ .@master$[ .@s ] +"^000000",
		"Guild lvl: ^FF00CC"+ .@guild_lv[ .@s ] +"^000000",
		"Members Online: ^0000FF"+ .@m +"^000000",
		"Castle owned: ^CC00CC"+ ( .@c ? .@cast_owned$ : "None" ) +"^000000",
		"Ally: ^CC00CC"+ ( getstrlen( .@evil$ ) ? .@evil$ : "None" ) +"^000000",
		"Antagonist: ^CC00CC"+ ( getstrlen( .@good$ ) ? .@good$ : "None" ) +"^000000";


// Menu members
// ------------
	switch( select( "~ ^777777Informations members^000000", "~ ^777777Cancel^000000", "~ ^777777Choose another guild^000000" ) ) {
		case 1:
			next;
			break;
		case 2:
			next;
			mes .npc$;
			mes " ";
			mes "See you soon ^-^";
			close;
		case 3:
			next;
			goto L_list;
	}

	deletearray .@name_m$, getarraysize( .@name_m$ );
	.@size = query_sql( "SELECT `name` FROM `guild_member` WHERE `guild_id`= '"+ .@guild_id[ .@s ] +"' ORDER BY `position` ASC", .@name_m$ );

	mes .npc$;
	mes "Members of ^0000FF"+ .@name$[ .@s ] +"^000000 guild.",
		"- Red: currently ^FF0000offline^000000.",
		"- Green: currently ^00C957online^000000.",
		" ";

	for( .@i = 0; .@i < .@size; .@i++ )
		mes "-> "+ ( getcharid( 0,.@name_m$[ .@i ] ) ? "^00C957" : "^FF0000" ) + .@name_m$[ .@i ] +"^000000";
	next;
	goto L_list;

	

OnInit:
//- NPC name
	.npc$ = "[ "+ strnpcinfo(1) +" ]";
//--------------------------------------
	deletearray .castle$, getarraysize( .castle$ );	//- prevent duplicate
setarray .castle$, "Neuschwanstein",	"Hohenschwangau",	"Nuernberg",	"Wuerzburg",	"Rothenburg",
					"Repherion",		"Eeyolbriggar",		"Yesnelph",		"Bergel",		"Mersetzdeitz",
					"Bright Arbor",		"Scarlet Palace",	"Holy Shadow",	"Sacred Altar",	"Bamboo Grove Hill",
					"Kriemhild",		"Swanhild",			"Fadhgridh",	"Skoegul",		"Gondul",
					"Earth",			"Air",				"Water",		"Fire",			"Himinn",
					"Andlangr",			"Viblainn",			"Hljod",		"Skidbladnir",	"Mardol",
					"Cyr",				"Horn",				"Gefn",			"Bandis";
	end;
}
  • Upvote 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...