Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- CREATE TABLE IF NOT EXISTS `guildpack_log` (
- `id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `gm_aid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `gid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `aid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `name` VARCHAR(30) NOT NULL DEFAULT '',
- `nameid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
- `time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
- `claim` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM;
- */
- prontera,155,181,5 script Sample#guild_rewarder 757,{
- function getitemname2;
- set .@gm_level,getgmlevel();
- set .@gid,getcharid(2);
- set .@aid,getcharid(3);
- switch( select(
- "Claim Package",
- ( .@gm_level >= .gm_level )?"^FF0000[ GM ] Give Item^000000":"",
- "Cancel"
- )){
- case 1:
- query_sql( "SELECT `id`,`nameid`,`amount`,`refine` FROM `guildpack_log` WHERE `aid` = "+.@aid+" AND `claim` = '0000-00-00 00:00:00' ORDER BY `id` DESC",.@id,.@nameid,.@amount,.@refine );
- set .@id_size,getarraysize( .@id );
- if ( !.@id_size ) {
- mes "didnt have any available guildpack items.";
- }
- else {
- for ( set .@i,0; .@i < .@id_size; set .@i,.@i + 1 )
- if ( checkweight( .@nameid[.@i],.@amount[.@i] ) ) {
- getitem2 .@nameid[.@i],.@amount[.@i],1,.@refine[.@i],0,0,0,0,0;
- query_sql( "UPDATE `guildpack_log` SET `claim` = NOW() WHERE `id` = "+.@id[.@i]+" LIMIT 1" );
- mes "gained item.";
- close;
- }
- mes "Overweight, please clear your weight.";
- }
- break;
- case 2:
- do {
- mes "[GM Menu]";
- set .@is_valid_item,( getitemname( .@item_id ) != "null" && .@amount > 0 );
- set .@is_valid_char,( .@player_aid && .@player_name$ != "" );
- set .@gm_option,select(
- "Char Name "+ ( ( .@is_valid_char )? .@player_name$:"" ),
- ( !.@is_valid_char )? "":"Item " + ( ( .@is_valid_item )? getitemname2( .@refine,.@item_id,.@amount ):"" ),
- ( .@is_valid_char && .@is_valid_item )? "^0055FFDone, send reward!^000000":""
- );
- next;
- switch ( .@gm_option ) {
- case 1:
- mes "Enter Guild Name. ^777777(Full/Partial)^000000";
- input .@temp_name$;
- query_sql( "SELECT `name`,`guild_id` FROM `guild` WHERE `guild_id` > 0 AND `name` LIKE '%"+escape_sql( .@temp_name$ )+"%' LIMIT 100",.@temp_name_list$,.@temp_gid_list );
- set .@temp_name_list_size,getarraysize( .@temp_name_list$ );
- if ( .@temp_name_list_size ) {
- set .@temp_name_menu$,"";
- for( set .@i,0; .@i < .@temp_name_list_size; set .@i,.@i + 1 )
- if ( .@temp_gid_list[.@i] ) {
- set .@temp_name_menu$, .@temp_name_menu$ + .@temp_name_list$[.@i] + ":";
- }
- set .@i,select( .@temp_name_menu$ ) - 1;
- query_sql( "SELECT `claim` FROM `guildpack_log` WHERE `gid` = "+.@temp_aid_list[.@i],.@date$ );
- if ( .@date$ != "" && .@date$ != "0000-00-00 00:00:00" ) {
- mes .@temp_name_list$[.@i]+" assigned guildpack items since "+.@date$;
- }
- else {
- set .@temp_gid,.@temp_aid_list[.@i];
- }
- }
- else {
- mes "Didnt found any records.";
- }
- break;
- case 2:
- mes "Enter Item ID";
- do {
- input .@item_id,0,32767;
- if ( !.@item_id ) break;
- } while ( getitemname( .@item_id ) == "null" );
- if ( .@item_id ) {
- mes "Item: "+getitemname2( .@refine,.@item_id,.@amount );
- set .@type,getiteminfo( .@item_id,2 );
- set .@is_eq,( .@type == IT_WEAPON || .@type == IT_ARMOR );
- if ( .@is_eq && .@refine ) {
- mes "Enter Refine rate";
- input .@refine,0,.max_refine;
- }
- mes "Enter amount";
- input .@amount,0,(( .@is_eq )? 100:30000 );
- }
- default: break;
- }
- if ( .@gm_option < 3 ) next;
- } while ( .@gm_option < 3 );
- query_sql( "SELECT `account_id`,`name` FROM `guild_member` WHERE `guild_id` = "+.@temp_gid+" AND `account_id` NOT IN ( SELECT `aid` FROM `guildpack_log` )",.@g_aid,.@g_name$ );
- set .@g_aid_size,getarraysize( .@g_aid );
- for( set .@i,0; .@i < .@g_aid_size; set .@i,.@i + 1 )
- query_sql( "INSERT INTO `guildpack_log` ( `gm_aid`,`aid`,`name`,`nameid`,`amount`,`refine`,`time` ) VALUES ( "+.@aid+","+.@g_aid[.@i]+",'"+escape_sql( .@g_name$[.@i] )+"',"+.@item_id+","+.@amount+","+.@refine+",NOW() )" );
- mes "Item sent.";
- default: break;
- }
- close;
- OnInit:
- set .gm_level,99;
- set .max_refine,10;
- end;
- function getitemname2 {
- set .@refine,getarg(0);
- set .@item_id,getarg(1);
- set .@amount,getarg(2);
- set .@item_name$,getitemname( .@item_id );
- if ( .@item_name$ == "null" )
- return "^FF0000Unknown-Item (#"+.@item_id+")^000000";
- else {
- set .@type,getiteminfo( .@item_id,2 );
- if ( ( .@type == IT_WEAPON || .@type == IT_ARMOR ) && .@refine ) {
- set .@item_name$, "+" + .@refine +" "+ .@item_name$;
- }
- if ( .@amount > 1 )
- set .@item_name$, .@amount + "x " + .@item_name$;
- }
- return .@item_name$;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement