Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- CREATE TABLE IF NOT EXISTS `gm_reward` (
- `id` int(11) NOT NULL auto_increment,
- `gm_account_id` int(11) NOT NULL default '0',
- `gm_name` varchar(30) NOT NULL default '',
- `nameid` int(11) NOT NULL default '0',
- `amount` int(11) unsigned NOT NULL default '0',
- `refine` tinyint(3) unsigned NOT NULL default '0',
- `card0` smallint(11) NOT NULL default '0',
- `card1` smallint(11) NOT NULL default '0',
- `card2` smallint(11) NOT NULL default '0',
- `card3` smallint(11) NOT NULL default '0',
- `reward_time` datetime NOT NULL default '0000-00-00 00:00:00',
- `status` tinyint(1) NOT NULL default '0',
- `claim_name` varchar(30) NOT NULL DEFAULT '',
- `claim_time` datetime NOT NULL default '0000-00-00 00:00:00',
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM;
- */
- lighthalzen,205,136,5 script Reward NPC 757,{
- set .@gm_level,getgmlevel();
- mes "Pick an Option.";
- next;
- if( select( "Claim Reward","Cancel" ) ){
- query_sql( "SELECT * FROM `gm_reward` WHERE `claim_name` = '"+escape_sql( strcharinfo(0) )+"' AND `status` = 0 ORDER BY `id` DESC LIMIT 50 ",.@id,.@gm_acc_id,.@gm_name$,.@nameid,.@amount,.@refine,.@card0,.@card1,.@card2,.@card3,.@reward_time$,.@status,.@claim_name$,.@claim_time$ );
- set .@size,getarraysize( .@id );
- if( .@size ){
- while( .@i < .@size ){
- set .@itemtype,getiteminfo( .@nameid[.@i],2 );
- set .@menu$,.@menu$ + .@amount[.@i] +" x " +( ( .@refine[.@i] )?"+"+.@refine[.@i]:"" )+" "+ getitemname( .@nameid[.@i] );
- if( .@itemtype == 4 || .@itemtype == 5 )
- set .@menu$,.@menu$ + "["+getitemslots( .@nameid[.@i] )+"]";
- set .@menu$,.@menu$ + ":";
- set .@i,.@i + 1;
- }
- mes "Pick a Reward...";
- set .@i,select( .@menu$ ) - 1;
- set .@itemtype,getiteminfo( .@nameid[.@i],2 );
- if( .@itemtype == 4 || .@itemtype == 5 )
- set .@slot,getitemslots( .@nameid[.@i] );
- mes "Reward ID: ^777777#"+.@id[.@i]+"^000000";
- mes "Reward by: ^777777"+.@gm_name$[.@i]+"^000000";
- mes "Time: ^777777"+.@reward_time$[.@i]+"^000000";
- mes "Item: ^777777"+.@amount[.@i]+" x "+( ( .@refine[.@i] && ( .@itemtype == 4 || .@itemtype == 5 ) )?"+"+.@refine[.@i]:" " )+getitemname( .@nameid[.@i] )+" "+( ( .@itemtype == 4 || .@itemtype == 5 )? "["+.@slot+"]":"" )+"^000000";
- for( set .@card,0; .@card < 4; set .@card,.@card + 1 ){
- set .@cardid,getd( ".@card"+.@card+"["+.@i+"]" );
- if( .@cardid )
- mes "^777777 > "+getitemname( .@cardid )+"^000000";
- }
- if( select( "Claim it","Cancel" ) == 1 ){
- if( !checkweight( .@nameid[.@i],.@amount[.@i] ) ){
- mes "You cant carry it since you will overweight.";
- }else{
- mes "Done, reward claimed.";
- query_sql( "UPDATE `gm_reward` SET `status` = 1,`claim_time` = NOW() WHERE `id`="+.@id[.@i] );
- getitem2 .@nameid[.@i],.@amount[.@i],1,.@refine[.@i],0,.@card0[.@i],.@card1[.@i],.@card2[.@i],.@card3[.@i];
- }
- }
- }else{
- mes "You dont have any pending rewards.";
- }
- }
- close;
- }
- lighthalzen,205,139,5 script Reward NPC#gm 757,{
- set .@gm_level,getgmlevel();
- mes "Pick an Option.";
- next;
- switch( select(
- ( .@gm_level < .gm_level )?"":"[GM] Give Reward",
- ( .@gm_level < .gm_level )?"":"[GM] Delete Reward",
- "close"
- )){
- Case 1:
- mes "Enter Item ID";
- do{
- input .@nameid,0,32767;
- if( !.@nameid ) close;
- }while( getitemname( .@nameid ) == "null" );
- set .@itemtype,getiteminfo( .@nameid,2 );
- if( .@itemtype == 4 || .@itemtype == 5 ){
- set .@slot,getitemslots( .@nameid );
- mes "Enter Refine ";
- input .@refine,0,10;
- mes "This item have "+.@slot+" slot";
- if( .@slot ){
- mes "Enter Card 1 ~ "+.@slot+" ID";
- for( set .@i,0; .@i < .@slot; set .@i,.@i + 1 ){
- do{
- input .@card[.@i];
- if( !.@card[.@i] ) break;
- }while( .@card[.@i] < 4001 || .@card[.@i] > 4555 );
- mes " Card "+( .@i+1 )+" : "+( ( .@card[.@i] )? getitemname( .@card[.@i] ):"none" );
- }
- }
- }
- mes "Enter Amount";
- input .@amount,0,30000;
- if( .@nameid && .@amount ){
- mes "Enter Player Name";
- do{
- input .@player$;
- if( query_sql( "SELECT `name`,`class` FROM `char` WHERE `name` = '"+escape_sql( .@player$ )+"' LIMIT 1",.@name$,.@class ) ){
- set .@player$,.@name$;
- }else{
- message strcharinfo(0),"Player named '"+.@player$+"' not found in database.";
- set .@player$,"";
- }
- }while( .@player$ == "" );
- next;
- mes "Reward : ";
- mes "^777777"+.@amount+" x "+( ( .@refine && ( .@itemtype == 4 || .@itemtype == 5 ) )?"+"+.@refine:" " )+getitemname( .@nameid )+" "+( ( .@itemtype == 4 || .@itemtype == 5 )? "["+.@slot+"]":"" )+"^000000";
- if( .@slot ){
- mes "Card List :";
- for( set .@i,0; .@i < .@slot; set .@i,.@i + 1 )
- mes "^777777 > "+( ( .@card[.@i] )? getitemname( .@card[.@i] ):"none" )+"^000000";
- }
- mes " ";
- mes "By: ^777777"+strcharinfo(0)+"^000000";
- mes "Player: ^777777"+.@player$+" ( "+jobname( .@class )+" )^000000";
- if( select( "Confirm","Cancel" ) == 1 ){
- mes "Reward Added Succesfully.";
- query_sql( "INSERT INTO `gm_reward` ( `gm_account_id`,`gm_name`,`nameid`,`amount`,`refine`,`card0`,`card1`,`card2`,`card3`,`reward_time`,`claim_name` ) VALUES ( "+getcharid(3)+",'"+escape_sql( strcharinfo(0) )+"',"+.@nameid+","+.@amount+","+.@refine+","+.@card[0]+","+.@card[1]+","+.@card[2]+","+.@card[3]+",NOW(),'"+escape_sql( .@player$ )+"' )" );
- }
- }
- break;
- Case 2:
- query_sql( "SELECT * FROM `gm_reward` WHERE `status` = 0 ORDER BY `id` DESC LIMIT 50 ",.@id,.@gm_acc_id,.@gm_name$,.@nameid,.@amount,.@refine,.@card0,.@card1,.@card2,.@card3,.@reward_time$,.@status,.@claim_name$,.@claim_time$ );
- set .@size,getarraysize( .@id );
- if( .@size ){
- while( .@i < .@size ){
- set .@itemtype,getiteminfo( .@nameid[.@i],2 );
- set .@menu$,.@menu$ + .@amount[.@i] +" x " +( ( .@refine[.@i] )?"+"+.@refine[.@i]:"" )+" "+ getitemname( .@nameid[.@i] );
- if( .@itemtype == 4 || .@itemtype == 5 )
- set .@menu$,.@menu$ + "["+getitemslots( .@nameid[.@i] )+"]";
- set .@menu$,.@menu$ + "by ^0055FF"+.@gm_name$+"^000000" + ":";
- set .@i,.@i + 1;
- }
- set .@i,select ( .@menu$ ) - 1;
- set .@itemtype,getiteminfo( .@nameid[.@i],2 );
- if( .@itemtype == 4 || .@itemtype == 5 )
- set .@slot,getitemslots( .@nameid[.@i] );
- mes "Reward ID: ^777777#"+.@id[.@i]+"^000000";
- mes "Receiver : ^777777"+.@claim_name$[.@i]+"^000000";
- mes "Reward by: ^777777"+.@gm_name$[.@i]+"^000000";
- mes "Time: ^777777"+.@claim_time$[.@i]+"^000000";
- mes "Item: ^777777"+.@amount[.@i]+" x "+( ( .@refine[.@i] && ( .@itemtype == 4 || .@itemtype == 5 ) )?"+"+.@refine[.@i]:" " )+getitemname( .@nameid[.@i] )+" "+( ( .@itemtype == 4 || .@itemtype == 5 )? "["+.@slot+"]":"" )+"^000000";
- for( set .@card,0; .@card < 4; set .@card,.@card + 1 ){
- set .@cardid,getd( ".@card"+.@card+"["+.@i+"]" );
- if( .@cardid )
- mes " ^777777> "+getitemname( .@cardid )+"^000000";
- }
- }else{
- mes "Dont have any un-claimed rewards.";
- }
- default: break;
- }
- close;
- OnInit:
- set .gm_level,90;
- end;
- }
Advertisement
Add Comment
Please, Sign In to add comment