Emistry Posted September 1, 2016 Group: Forum Moderator Topic Count: 93 Topics Per Day: 0.02 Content Count: 10015 Reputation: 2357 Joined: 10/28/11 Last Seen: Saturday at 02:34 PM Share Posted September 1, 2016 View File Item Collector NPC / Item Sink Strategy Introduction : The NPC is designed to accept items from players, with contributions being non-recoverable but meticulously logged. A straightforward ranking system showcases players based on their item contributions. Game Masters have the flexibility to leverage and reset these rankings for custom events or creative initiatives at their discretion. ** Consider this a deviously delightful item sinking event for your server, complete with devilish flair and strategic mischief. Submitter Emistry Submitted 09/01/16 Category Utilities Video Content Author Emistry Quote Link to comment Share on other sites More sharing options...
serakh00 Posted September 5, 2016 Group: Members Topic Count: 10 Topics Per Day: 0.00 Content Count: 53 Reputation: 4 Joined: 02/08/12 Last Seen: December 10, 2018 Share Posted September 5, 2016 What thing is determine the ranking? The ammount of sinked item? Is sinking a lord kaho counted same as a jelopy? Quote Link to comment Share on other sites More sharing options...
Skorm Posted September 24, 2016 Group: Forum Moderator Topic Count: 33 Topics Per Day: 0.01 Content Count: 1270 Reputation: 383 Joined: 02/03/12 Last Seen: Yesterday at 06:44 PM Share Posted September 24, 2016 Great idea xD Quote Link to comment Share on other sites More sharing options...
kalabasa Posted January 9, 2021 Group: Members Topic Count: 123 Topics Per Day: 0.05 Content Count: 478 Reputation: 14 Joined: 11/30/17 Last Seen: July 27 Share Posted January 9, 2021 npc_event: event not found [trade_item_main::OnTalk] Quote Link to comment Share on other sites More sharing options...
GM Winter Posted January 25 Group: Members Topic Count: 186 Topics Per Day: 0.13 Content Count: 695 Reputation: 9 Joined: 12/04/20 Last Seen: 10 hours ago Share Posted January 25 (edited) hello need urgent help sir @Emistry while testing this in offline server it works fine and no error then after i upload it online im having a problem Quote /* CREATE TABLE IF NOT EXISTS `e_npc_trade_item` ( `cid` 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', PRIMARY KEY (`cid`,`nameid`,`amount`) ) ENGINE=MyISAM; */ malangdo,134,114,5 script Scroll Collector 2_m_sage_old,{ doevent "trade_item_main::OnTalk"; } - script trade_item_main -1,{ function func_DisallowItem { switch ( getarg( 0,0 ) ) { default: return 0; // case <itemID>: case 501: // Red Potion case 502: // Orange Potion case 4001: // Poring Card return 1; } return 0; } OnInit: // Top Rank .top_rank = 10; // NPC take what item ID, 0 = all items. .only_one_itemid = 61631; // special event scroll end; OnTalk: .@is_gm = ( getgmlevel() >= 99 ); mes "^0055FF[ Special Scroll Collector ]^000000"; mes "Do you have Special Scroll? You may give it to me."; mes " "; mes "I'll always remember who giveaway this items to me."; next; switch( select( "View Top "+.top_rank+" Rank", "Give Special Scroll", ( .@is_gm ) ? "[GM] Reset" : "" )) { default: do { switch( select( "Filter by Name", ( .only_one_itemid ) ? "":"Filter by ItemID", "Without Filter" ) ) { case 1: mes "Enter Char Name"; break; case 2: mes "Enter ItemID"; break; default: break; } if ( @menu && @menu < 3 ) { next; input .@input$; } .@sql$ = "SELECT `name`, `nameid`, SUM(`amount`) AS `total` " + "FROM `e_npc_trade_item` " + "WHERE 1 = 1 " + ( .only_one_itemid ? "AND `nameid` = "+.only_one_itemid+" " : "" ) + ( ( @menu == 1 ) ? "AND `name` = '"+escape_sql( .@input$ )+"' " : "" ) + ( ( @menu == 2 ) ? "AND `nameid` = '"+escape_sql( .@input$ )+"' " : "" ) + "GROUP BY `cid`,`nameid` " + "ORDER BY `total` DESC LIMIT "+.top_rank; query_sql( .@sql$,.@name$,.@nameid,.@total ); .@size = getarraysize( .@name$ ); mes "Top "+.top_rank+" Records:"; if ( .@size ) { for ( .@i = 0; .@i < .@size; .@i++ ) { //mes "["+(.@i+1)+".] ~ '"+getitemname( .@nameid[.@i] )+"' | [ "+.@total[.@i]+"ea ] - '^0000FF"+.@name$[.@i]+"'^000000 "; mes "[ "+(.@i+1)+" ] ~ '^0696A7"+.@name$[.@i]+"'^000000 [ ^ff0000"+.@total[.@i]+"^000000 ^0000FF pcs.^000000 ]"; } } else { mes "no record found."; } next; } while ( 1 ); break; case 2: if ( !.only_one_itemid ) { mes "Pick an item and give to me"; getinventorylist; for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) { if ( @inventorylist_bound[.@i] <= 0 && @inventorylist_expire[.@i] <= 0 && @inventorylist_equip[.@i] <= 0 && func_DisallowItem( @inventorylist_id[.@i] ) <= 0 ) { .@menu$ = .@menu$ + getitemname( @inventorylist_id[.@i] ) + " ("+@inventorylist_amount[.@i]+" left)"; .@count++; } .@menu$ = .@menu$ + ":"; } if ( .@count ) { .@i = select( .@menu$ ) - 1; .@itemid = @inventorylist_id[.@i]; } } else { .@itemid = .only_one_itemid; .@count++; } if ( .@itemid ) { mes "How many "+getitemname( .@itemid )+" will be given to me?"; input .@amount,0,countitem( .@itemid ); if ( .@amount ) { delitem .@itemid,.@amount; npctalk "Thank you, "+strcharinfo(0)+" donated "+.@amount+"x "+getitemname( .@itemid )+" to me."; query_sql( "INSERT INTO `e_npc_trade_item` ( `cid`,`name`,`nameid`,`amount` ) VALUES ( "+getcharid(0)+",'"+escape_sql( strcharinfo(0) )+"',"+.@itemid+","+.@amount+" ) ON DUPLICATE KEY UPDATE `amount` = `amount` + "+.@amount ); mes "Thank for your kindness."; } } else { mes "You dont have any item available to give to NPC."; } break; case 3: mes "This action cant be undo, confirm your action?"; next; if ( select( "Yes, confirm.","Cancel" ) == 1 ) { query_sql( "TRUNCATE `e_npc_trade_item`" ); } break; } close; } im having this error please help thank you "[SQL]: DB error - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'serverdatabased.e_npc_trade_item.name' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by [Debug]: at script.cpp:17049 - SELECT `name`, `nameid`, SUM(`amount`) AS `total` FROM `e_npc_trade_item` WHERE 1 = 1 AND `nameid` = 61631 GROUP BY `cid`,`nameid` ORDER BY `total` DESC LIMIT 10 [Debug]: Source (NPC): trade_item_main (invisible/not on a map)" Edited January 25 by GM Winter Quote Link to comment Share on other sites More sharing options...
Emistry Posted January 27 Group: Forum Moderator Topic Count: 93 Topics Per Day: 0.02 Content Count: 10015 Reputation: 2357 Joined: 10/28/11 Last Seen: Saturday at 02:34 PM Author Share Posted January 27 this will be addressed in the upcoming version v1.4 https://pastebin.com/raw/1Fbmakbe Quote Link to comment Share on other sites More sharing options...
GM Winter Posted January 27 Group: Members Topic Count: 186 Topics Per Day: 0.13 Content Count: 695 Reputation: 9 Joined: 12/04/20 Last Seen: 10 hours ago Share Posted January 27 1 hour ago, Emistry said: this will be addressed in the upcoming version v1.4 https://pastebin.com/raw/1Fbmakbe i got this error sir @Emistry Quote Link to comment Share on other sites More sharing options...
Emistry Posted January 27 Group: Forum Moderator Topic Count: 93 Topics Per Day: 0.02 Content Count: 10015 Reputation: 2357 Joined: 10/28/11 Last Seen: Saturday at 02:34 PM Author Share Posted January 27 update your rathena. if you cant, then find and replace with this + "GROUP BY `cid`, `nameid`, `name`" 1 Quote Link to comment Share on other sites More sharing options...
GM Winter Posted January 28 Group: Members Topic Count: 186 Topics Per Day: 0.13 Content Count: 695 Reputation: 9 Joined: 12/04/20 Last Seen: 10 hours ago Share Posted January 28 9 hours ago, Emistry said: update your rathena. if you cant, then find and replace with this + "GROUP BY `cid`, `nameid`, `name`" thank you sir @Emistry it is working now , sorry i dont know how to update my rathena Quote Link to comment Share on other sites More sharing options...
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.