Jump to content

Takuyakii

Members
  • Posts

    212
  • Joined

  • Last visited

Everything posted by Takuyakii

  1. - script DisabledHomun -1,{ OnInit: set .Map$,"guild_vs1"; setmapflag .Map$,mf_loadevent; end; OnPCLoadMapEvent: if( strcharinfo(3) == .Map$ && gethominfo(0) && checkhomcall() == 0 ){ mes "Sorry, Alchemist are not allowed in this Map. thank you"; close2; warp "SavePoint",0,0; } end; }
  2. show the error, if you're not using latest git use the olddiff.
  3. Does anyone can convert this into latest git?
  4. Did someone have this diff for latest git? thank you.
  5. i tryd to put this but always getting Back and no claim reward sir emistry
  6. Well as of now i didn't do any changes, i t hinks because on SQL because that's how it works row by row so i think its possible to do one claim
  7. be more specific what do u want?
  8. rebel_in,210,89,4 script Reclutador::Q_MGR 10180,{ if (BaseLevel <= 55) { ResetSkill; ResetStatus; mes "You're skill and status reset, come back if you need to."; close } mes "Sorry Base Level more than 55 not allow."; close; }
  9. Good day rA, This script are working 100% by @Emistry i just want some modification /* CREATE TABLE IF NOT EXISTS `ero_gm_reward` ( `id` int(11) NOT NULL AUTO_INCREMENT, `gm_aid` 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', `card1` smallint(4) unsigned NOT NULL default '0', `card2` smallint(4) unsigned NOT NULL default '0', `card3` smallint(4) unsigned NOT NULL default '0', `card4` smallint(4) unsigned NOT NULL default '0', `format_name` varchar(30) NOT NULL default 'null', `reward_time` datetime NOT NULL default '0000-00-00 00:00:00', `status` tinyint(1) NOT NULL default '0', `claim_aid` int(11) NOT NULL default '0', `claim_name` varchar(30) NOT NULL DEFAULT '', `claim_time` datetime NOT NULL default '0000-00-00 00:00:00', `note` varchar(255) NOT NULL default 'none', PRIMARY KEY (`id`) ) ENGINE=MyISAM; */ cast_gm,98,96,4 script Sample#gmreward 4_F_KAFRA9,{ doevent "gm_reward_main::OnTalk"; } - shop gm_reward_shop -1,909:-1 - script gm_reward_main -1,{ function func_sql_reward; function func_item_name; function func_list_char; function func_display_card; function func_list_reward; function func_view_reward; OnInit: .gm_level = 60; .shop_name$ = "gm_reward_shop"; end; OnTalk: .@gm_level = getgmlevel(); .@not_gm = ( .@gm_level < .gm_level || !.gm_level || !.@gm_level ); cutin "kafra_09",2; mes "^FF0000[ GM Reward - Introduction ]^000000"; mes "Hi "+strcharinfo(0)+", what can I do for you today?"; next; switch ( select( ( .@not_gm )? "Check Pending Reward":"", ( .@not_gm )? "Check Reward History":"", ( .@not_gm )? "":"^FF0000[GM]^000000 Send Reward", ( .@not_gm )? "":"^FF0000[GM]^000000 Delete Reward", ( .@not_gm )? "":"^FF0000[GM]^000000 Check History", "Information" )) { case 1: mes "^FF0000[ GM Reward - Pending Reward ]^000000"; mes "I will show you a list of rewards that are still not yet claimed."; func_list_reward( "`claim_name` = '"+escape_sql( strcharinfo(0) )+"' AND `status` = 0" ); break; case 2: mes "^FF0000[ GM Reward - History ]^000000"; mes "I will show you a list of rewards that are claimed previously."; func_list_reward( "`claim_name` = '"+escape_sql( strcharinfo(0) )+"' AND `status` = 1" ); break; case 3: mes "^FF0000[ GM Reward - Setup ]^000000"; mes "Please place all the items that you want to sent to player into the selling shop window."; // close2; callshop .shop_name$,2; npcshopattach .shop_name$; end; case 4: mes "^FF0000[ GM Reward - Remove Rewards ]^000000"; mes "I will show you a list of rewards that are sent out but not yet claimed."; func_list_reward( "`status` = 0" ); break; case 5: mes "^FF0000[ GM Reward - Reward History ]^000000"; mes "I will show you a list of recent rewards based on the status you selected."; .@i = select( "Pending Reward","Claimed Reward","Deleted Reward" ) - 1; func_list_reward( "`status` = "+.@i ); break; default: mes "^FF0000[ GM Reward - Information ]^000000"; mes "Hi, I work for Game Master. I assist GM to distribute or manage the rewards setup by GM."; break; } close2; cutin "",255; end; OnSellItem: cutin "kafra_09",2; mes "^FF0000[ GM Reward - Checklist ]^000000"; if ( getgmlevel() < .gm_level ) { mes "You're not authorized to perform this actions."; } else { .@reward_size = getarraysize( @sold_nameid ); if ( .@reward_size < 1 ) { mes "Failed, no items found in the list."; } else { mes "Enter Player name:"; mes "^777777------------------------------^000000"; for ( .@i = 0; .@i < .@reward_size; .@i++ ) { mes "^6495ED# ^000000"+func_item_name( @sold_nameid[.@i],@sold_quantity[.@i],@sold_refine[.@i] ); .@item_type = getiteminfo( @sold_nameid[.@i],2 ); if ( .@item_type == IT_ARMOR || .@item_type == IT_WEAPON ) func_display_card( @sold_card1[.@i],@sold_card2[.@i],@sold_card3[.@i],@sold_card4[.@i] ); } .@player_name$ = func_list_char(); if ( .@player_name$ != "" ) { next; mes "^FF0000[ GM Reward - Confirmation ]^000000"; mes "Player: ^FF0000"+.@player_name$+"^000000"; mes "^777777------------------------------^000000"; for ( .@i = 0; .@i < .@reward_size; .@i++ ) { mes "^6495ED > ^000000"+func_item_name( @sold_nameid[.@i],@sold_quantity[.@i],@sold_refine[.@i] ); .@item_type = getiteminfo( @sold_nameid[.@i],2 ); if ( .@item_type == IT_ARMOR || .@item_type == IT_WEAPON ) func_display_card( @sold_card1[.@i],@sold_card2[.@i],@sold_card3[.@i],@sold_card4[.@i] ); } if ( select( "Confirm","Cancel" ) == 1 ) { next; mes "^FF0000[ GM Reward - Confirmation ]^000000"; mes "Enter a Title:"; do { .@length = input( .@note$,4,70 ); .@check = ( compare( .@note$,":" ) || .@length ); if ( .@check ) { mes "^777777Invalid title^000000"; } }while ( .@check ); .@gm_aid = getcharid(3); .@gm_name$ = strcharinfo(0); query_sql( "SELECT `account_id`,`char_id`,`online` FROM `char` WHERE `name` = '"+escape_sql( .@player_name$ )+"' LIMIT 1",.@player_aid,.@player_cid,.@online ); for ( .@i = 0; .@i < .@reward_size; .@i++ ) { .@formatted_name$ = func_item_name( @sold_nameid[.@i],@sold_quantity[.@i],@sold_refine[.@i] ); if ( func_sql_reward( .@gm_aid,escape_sql( .@gm_name$ ),@sold_nameid[.@i],@sold_quantity[.@i],@sold_refine[.@i],escape_sql( .@formatted_name$ ),@sold_card1[.@i],@sold_card2[.@i],@sold_card3[.@i],@sold_card4[.@i],.@player_aid,.@player_name$,.@note$ ) ) dispbottom "[Reward Sent] "+.@player_name$+" - "+.@formatted_name$; else dispbottom "[Reward Sent Failure] "+.@player_name$+" - "+.@formatted_name$; } if ( .@player_aid > 0 && isloggedin( .@player_aid,.@player_cid ) ) { message .@player_name$,"You received "+.@reward_size+" reward(s) from "+.@gm_name$; message .@gm_name$,"You sent "+.@reward_size+" reward(s) to "+.@player_name$; } mes "Rewards sent."; } } } } close2; cutin "",255; end; function func_sql_reward { if ( getargcount() >= 12 ) { .@gm_aid = getarg(0); .@gm_name$ = getarg(1); .@sold_nameid = getarg(2); .@sold_quantity = getarg(3); .@sold_refine = getarg(4); .@formatted_name$ = getarg(5); .@sold_card1 = getarg(6); .@sold_card2 = getarg(7); .@sold_card3 = getarg(8); .@sold_card4 = getarg(9); .@player_aid = getarg(10); .@player_name$ = getarg(11); .@note$ = getarg(12); query_sql( "INSERT INTO `ero_gm_reward` ( `gm_aid`,`gm_name`,`nameid`,`amount`,`refine`,`format_name`,`card1`,`card2`,`card3`,`card4`,`reward_time`,`claim_aid`,`claim_name`,`note` ) VALUES ( "+.@gm_aid+",'"+escape_sql( .@gm_name$ )+"',"+.@sold_nameid+","+.@sold_quantity+","+.@sold_refine+",'"+escape_sql( .@formatted_name$ )+"',"+.@sold_card1+","+.@sold_card2+","+.@sold_card3+","+.@sold_card4+",NOW(),"+.@player_aid+",'"+escape_sql( .@player_name$ )+"','"+.@note$+"' )" ); return 1; } return 0; } function func_item_name { .@item_id = getarg(0); .@amount = getarg(1); .@refine = getarg(2); .@string$ = getitemname( .@item_id ); .@type = getiteminfo( .@item_id,2 ); if ( .@string$ == "null" ) return "none"; if ( .@refine ) .@string$ = "+"+.@refine+" "+.@string$; if ( .@type == IT_WEAPON || .@type == IT_ARMOR ) .@string$ = .@string$ + " ["+getitemslots( .@item_id )+"]"; if ( .@amount > 1 ) .@string$ = .@amount+" x "+.@string$; return .@string$; } function func_list_char { __OnInput: while( input( .@player_name$,3,24 ) ); query_sql( "SELECT `name`,`class` FROM `char` WHERE `name` LIKE '%"+escape_sql( .@player_name$ )+"%' ORDER BY `name` LIMIT 50",.@temp_name$,.@class ); .@temp_name_size = getarraysize( .@temp_name$ ); if ( .@temp_name_size <= 0 ) { dispbottom "[ GM Reward - Checklist ] '"+.@player_name$+"' doesnt exist."; // next; if( select( "Search another Name","Cancel" ) == 1 ) goto __OnInput; return ""; } else if ( .@temp_name_size > 1 ) { dispbottom "[ GM Reward - Checklist ] Pick a player."; for ( .@i = 0; .@i < .@temp_name_size; .@i++ ) .@menu$ = .@menu$ + "^FF0000["+jobname( .@class[.@i] )+"] ^000000" + .@temp_name$[.@i] +":"; .@i = select( .@menu$ ) - 1; } return .@temp_name$[.@i]; } function func_display_card { for ( .@i = 0; .@i < 4; .@i++ ) { .@card_id = getarg( .@i ); if ( .@card_id ) { .@card_found++; .@card[.@i] = .@card_id; setd( ".@card_"+.@card_id+"_count" ),getd( ".@card_"+.@card_id+"_count" ) + 1; } } if ( .@card_found ) { .@exist_card$ = "#"; for ( .@i = 0; .@i < 4; .@i++ ) if ( .@card[.@i] ) { if ( !compare( .@exist_card$,"#"+.@card[.@i]+"#" ) ) mes " ^6495ED>^000000 "+func_item_name( .@card[.@i],getd( ".@card_"+.@card[.@i]+"_count" ),0 ); .@exist_card$ = .@exist_card$ + .@card[.@i] + "#"; } } return; } function func_list_reward { .@condition$ = getarg( 0,"" ); query_sql( "SELECT `id`,`nameid`,`amount`,`refine`,`status`,`note` FROM `ero_gm_reward` WHERE "+.@condition$+" ORDER BY `id` DESC LIMIT 50",.@id,.@nameid,.@amount,.@refine,.@status,.@note$ ); .@id_size = getarraysize( .@id ); mes " "; if ( .@id_size <= 0 ) { mes "^FF0000No records are founds.^000000"; } else { mes "Found "+.@id_size+" Reward(s)."; while( .@id_size > 0 ) { .@menu$ = ""; for ( .@i = 0; .@i < .@id_size; .@i++ ) { // .@menu$ = .@menu$ + func_item_name( .@nameid[.@i],.@amount[.@i],.@refine[.@i] ); .@menu$ = .@menu$ + .@note$[.@i]; .@menu$ = .@menu$ + ":"; } next; .@reward = select( .@menu$ ) - 1; if ( func_view_reward( .@id[.@reward],.@status[.@reward] ) > 0 ) { deletearray .@id[.@reward],1; deletearray .@nameid[.@reward],1; deletearray .@amount[.@reward],1; deletearray .@amount[.@reward],1; deletearray .@status[.@reward],1; .@id_size--; } } } return; } function func_view_reward { .@id = getarg(0); .@status = getarg(1); if ( .@id <= 0 ) { mes "Invalid Reward - "+.@id; return 0; } else { query_sql( "SELECT `gm_name`,`nameid`,`amount`,`refine`,`reward_time`,`claim_name`,`claim_time`,`note`,`card1`,`card2`,`card3`,`card4` FROM `ero_gm_reward` WHERE `id` = '"+.@id+"' LIMIT 1",.@gm_name$,.@nameid,.@amount,.@refine,.@reward_time$,.@claim_name$,.@claim_time$,.@note$,.@card1,.@card2,.@card3,.@card4 ); .@item_name$ = func_item_name( .@nameid,.@amount,.@refine ); mes "^0055FF[ Reward # "+.@id+" ]^000000"; mes "GM : ^777777"+.@gm_name$+"^000000"; mes "Player : ^777777"+.@claim_name$+"^000000"; mes "Item: ^0055FF"+.@item_name$+"^000000"; .@item_type = getiteminfo( .@nameid,2 ); if ( .@item_type == IT_ARMOR || .@item_type == IT_WEAPON ) func_display_card( .@card1,.@card2,.@card3,.@card4 ); mes "Date: ^777777"+.@reward_time$+"^000000"; mes "Claimed: "+( ( .@status )? "^777777"+.@claim_time$:"^FF0000not yet" )+"^000000"; mes "GM Note : "; mes "^777777"+.@note$+"^000000"; .@char_name$ = strcharinfo(0); .@is_gm = ( getgmlevel() >= .gm_level ); switch( select( ( .@char_name$ == .@claim_name$ && !.@status && .@claim_time$ == "0000-00-00 00:00:00" ) ? "Claim Reward":"", ( .@is_gm && .@status == 0 ) ? "^FF0000Delete Reward^000000":"", ( .@is_gm && .@status == 2 ) ? "^FF0000Recover Reward^000000":"", "Back" )){ default: return 0; case 1: if ( !checkweight( .@nameid,.@amount ) ) { message .@char_name$,"Overweight Detected!"; } else { query_sql( "UPDATE `ero_gm_reward` SET `status` = 1,`claim_time` = NOW() WHERE `id` = "+.@id+" LIMIT 1" ); getitem2 .@nameid,.@amount,1,.@refine,0,.@card1,.@card2,.@card3,.@card4; message .@char_name$,"Claimed Reward # "+.@id+" - "+.@item_name$; break; } case 2: query_sql( "UPDATE `ero_gm_reward` SET `status` = 2 WHERE `id` = "+.@id+" LIMIT 1" ); message .@char_name$,"Deleted Reward # "+.@id+" - "+.@item_name$; break; case 3: query_sql( "UPDATE `ero_gm_reward` SET `status` = 0 WHERE `id` = "+.@id+" LIMIT 1" ); message .@char_name$,"Recovered Reward # "+.@id+" - "+.@item_name$; break; } } return 1; } } in this script after giving an item, if you give morethan 1 item you have to claim it by 1 by 1 i would like to make it if you send morethan 1 or 1234567 item you can claim it all by just clicking claim. and not 1 b 1, Thank you.
  10. go to to your data/sprite folder and look for it,
  11. Give more details, what is DARK RO? and what are the function, etc etc etc.
  12. http://nemo.herc.ws/clients/ look for your prepare client. use nemo to diff your client
  13. prontera,100,100,0 script Seller 437,{ menu "Yes",-,"No",De; next; callshop "YOURSHOPAME",0; end; De: next; mes "Thank you come again!~"; close; } - itemshop YOURSHOPNAME -1,7179,501:1 Just change 7179 to your own costom id -%TAB%itemshop%TAB%<NPC Name>%TAB%<sprite id>,<costitemid>{:<discount>},<itemid>:<price>{,<itemid>:<price>...}
  14. Nice release !!! btw , any possible to make this run on not latest git?
  15. does anyone know? sorry for bringing up this topic. anyone? heheh
  16. https://github.com/rathena/rathena/blob/c2e19bcf062370d8ba8cb05b9fda9892ae483b51/npc/other/Global_Functions.txt#L633
  17. Good day rA, can someone help me to make this item showed on npc dialouge Here's my script mes "^0000FFx"+ .@amount +"^000000 "+ getitemname(.@id) +" (^CC0000"+ .@percent +"%^000000)";
  18. @Pride can u help me for this one? sorry for tagging you.
×
×
  • Create New...