Advertisement
Capuche

Display_guild_info

May 8th, 2013
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.78 KB | None | 0 0
  1. //===== rAthena Script =======================================
  2. //= Guild manager
  3. //===== By: ==================================================
  4. //= Capuche
  5. //===== Current Version: =====================================
  6. //= 1.0
  7. //===== Compatible With: =====================================
  8. //= rAthena SVN
  9. //===== Description: =========================================
  10. //= Display informations of a select guild - castle own,
  11. //= master, members online/offline...
  12. //============================================================
  13.  
  14. prontera,155,155,5 script Guild manager 56,{
  15. //- Limit 128 guild names
  16. //- NPC name
  17. .@npc$ = "[ Guild manager ]";
  18. //--------------------------------------
  19.  
  20. L_list:
  21. // Delete variables
  22. // ----------------
  23. if( .@m ) {
  24. .@m = 0;
  25. .@cast_owned$ = "";
  26. setarray .@var$, ".@guild_id", ".@name$", ".@master$", ".@guild_lv", ".@connect_member", ".@max_member", ".@name_m$", ".@castle_id";
  27. for( .@i = 0; .@i < getarraysize( .@var$ ); .@i++ )
  28. deletearray getd( .@var$[ .@i ] ), getarraysize( getd( .@var$[ .@i ] ) );
  29. }
  30.  
  31. // Count guild
  32. // -----------
  33. query_sql( "SELECT COUNT(`guild_id`) FROM `guild`", .@count );
  34.  
  35. mes .@npc$;
  36. mes " ";
  37. mes "Total: ^FF0000"+ .@count +"^000000 guild"+ ( .@count -1 ? "s." : "." );
  38. mes "Select a guild for more informations.";
  39. next;
  40.  
  41.  
  42. // Menu display name guild
  43. // -----------------------
  44. query_sql( "SELECT `guild_id`, `name`, `master`, `guild_lv` FROM `guild` ORDER BY `guild_id` ASC limit 128",
  45. .@guild_id, .@name$, .@master$, .@guild_lv );
  46.  
  47. .@s = select( implode( .@name$, ":" ) ) -1;
  48.  
  49. .@c = query_sql( "SELECT `castle_id` FROM `guild_castle` WHERE `guild_id` = '"+ .@guild_id[ .@s ] +"'", .@castle_id );
  50. for( .@i = 0; .@i < .@c; .@i++ )
  51. .@cast_owned$ = .@cast_owned$ + .castle$[ .@castle_id[ .@i ] ] + ( .@i == .@c -1 ? "" : ", " );
  52.  
  53. .@size = query_sql( "SELECT `name` FROM `guild_member` WHERE `guild_id`= '"+ .@guild_id[ .@s ] +"' ORDER BY `position` ASC", .@name_m$ );
  54. for( .@i = 0; .@i < .@size; .@i++ )
  55. if( getcharid( 0,.@name_m$[ .@i ] ) )
  56. .@m++;
  57.  
  58. mes .@npc$;
  59. mes "Guild name: ^FF0000"+ .@name$[ .@s ] +"^000000",
  60. "Master name: ^FFCC00"+ .@master$[ .@s ] +"^000000",
  61. "Guild lvl: ^FF00CC"+ .@guild_lv[ .@s ] +"^000000",
  62. "Members Online: ^0000FF"+ .@m +"^000000",
  63. "Castle owned: ^CC00CC"+ ( .@c ? .@cast_owned$ : "None" ) +"^000000";
  64.  
  65.  
  66. // Menu members
  67. // ------------
  68. switch( select( "~ ^777777Informations members^000000", "~ ^777777Cancel^000000", "~ ^777777Choose another guild^000000" ) ) {
  69. case 1:
  70. next;
  71. break;
  72. case 2:
  73. next;
  74. mes .@npc$;
  75. mes " ";
  76. mes "See you soon ^-^";
  77. close;
  78. case 3:
  79. next;
  80. goto L_list;
  81. }
  82.  
  83. deletearray .@name_m$, getarraysize( .@name_m$ );
  84. .@size = query_sql( "SELECT `name` FROM `guild_member` WHERE `guild_id`= '"+ .@guild_id[ .@s ] +"' ORDER BY `position` ASC", .@name_m$ );
  85.  
  86. mes .@npc$;
  87. mes "Members of ^0000FF"+ .@name$[ .@s ] +"^000000 guild.",
  88. "- Red: currently ^FF0000offline^000000.",
  89. "- Green: currently ^00C957online^000000.",
  90. " ";
  91.  
  92. for( .@i = 0; .@i < .@size; .@i++ )
  93. mes "-> "+ ( getcharid( 0,.@name_m$[ .@i ] ) ? "^00C957" : "^FF0000" ) + .@name_m$[ .@i ] +"^000000";
  94. next;
  95. goto L_list;
  96.  
  97.  
  98.  
  99. OnInit:
  100. deletearray .castle$, getarraysize( .castle$ ); //- prevent duplicate
  101. setarray .castle$, "Neuschwanstein", "Hohenschwangau", "Nuernberg", "Wuerzburg", "Rothenburg",
  102. "Repherion", "Eeyolbriggar", "Yesnelph", "Bergel", "Mersetzdeitz",
  103. "Bright Arbor", "Scarlet Palace", "Holy Shadow", "Sacred Altar", "Bamboo Grove Hill",
  104. "Kriemhild", "Swanhild", "Fadhgridh", "Skoegul", "Gondul",
  105. "Earth", "Air", "Water", "Fire", "Himinn",
  106. "Andlangr", "Viblainn", "Hljod", "Skidbladnir", "Mardol",
  107. "Cyr", "Horn", "Gefn", "Bandis";
  108. end;
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement