Hitman Monkey
-
Posts
8 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Hitman Monkey
-
-
5 hours ago, AinsLord said:
use this code
prontera,141,179,5 script Rebirth System 531,{ function checkItem; // check if player have all item required function colorItemrequired; // color the text. Red : not enough item, green otherwise function deleteItem; // delete all items required function displayItemneed; // display all items need at start function getItemReward; // give the items reward //function weightreq; // check if your current weight is highter than weight high novice .@eac = eaclass(); if ( num_rebirth == .reset_max ) { mes "You can only rebirth x"+ .reset_max +"."; emotion e_gasp; close; } else if( BaseLevel < 255 || JobLevel < 120 || ( !( .@eac&EAJL_2 ) || !Upper ) && ( Class != Job_Ninja && Class != Job_Gunslinger && Class != Job_Soul_Linker && Class != Job_Star_Gladiator) ) { mes "You must be rebirth max level/max job level."; close; } mes "Items need :"; displayItemneed(); next; switch( select( "^777777~ Rebirth", "~ Informations", "~ Rebirth ranking", "~ Good bye^000000" ) ) { case 1: checkItem(); deleteItem(); break; case 2: mes "You can only rebirth ^ff0000x"+ .reset_max +"^000000. You already rebirth ^ff0000x"+ num_rebirth +"^000000."; mes "Each rebirth you get ^ff0000"+ .num_status +"^000000 status points and after ^ff0000"+ .change_reward +"^000000 rebirth, you get only some items."; close; case 4: mes "Bye."; close; case 3: mes "TOP 50 of rebirth."; mes "Name - Number of rebirth"; .@size = query_sql( "select `name`, `num_rebirth` from `rebirth_system` order by `num_rebirth` desc limit 50", .@name$, .@value ); if( .@size ) { for( .@i = 0; .@i < .@size; .@i++ ) mes "^777777"+ ( .@i +1 ) +"^000000 : "+ .@name$[.@i] +" : ^FF0000"+ .@value[.@i] +"^000000"; } else mes "^0000ff* the list is empty *^000000"; close; } num_rebirth += 1; if ( Upper ) { // just in case the user change the setting... lastJob = roclass( .@eac&EAJ_UPPERMASK ); jobchange Job_Novice_High; } else jobchange Job_Novice; resetlvl 1; if ( num_rebirth < .change_reward ) { if ( Class == Job_Novice ) StatusPoint = 48; StatusPoint = StatusPoint + .num_status * num_rebirth; } else { StatusPoint = StatusPoint + .num_status * .change_reward; getItemReward(); query_sql "insert into `rebirth_system` ( `account_id`, `name`, `num_rebirth`, `last_ip` ) select "+ getcharid(3) +", '"+ escape_sql( strcharinfo(0) ) +"', '"+ num_rebirth +"',`login`.`last_ip` from `login` where `login`.`account_id` = "+ getcharid(3) +" on duplicate key update `rebirth_system`.`num_rebirth` = `rebirth_system`.`num_rebirth` +1"; announce "[ Rebirth system ] : "+ strcharinfo(0) +" Successfully Rebirth!", 0; close; } function checkItem { for ( ; .@i < .size_item; .@i += 2 ) if ( countitem( .item_req[.@i] ) < .item_req[ .@i+1 ] + num_rebirth ) { mes "You don't have enought "+ getitemname( .item_req[.@i] ) +". ^ff0000["+ countitem( .item_req[.@i] ) +"/"+ ( .item_req[ .@i+1 ] + num_rebirth ) +"]^000000"; close; } if ( num_rebirth >= .change_reward ) if ( .add_item_req[1] + num_rebirth - .change_reward > countitem( .add_item_req[0] ) ) { mes "You don't have enought "+ getitemname( .add_item_req[0] ) +". ^ff0000["+ countitem( .add_item_req[0] ) +"/"+ ( .add_item_req[1] + num_rebirth - .change_reward ) +"]^000000"; close; } return; } function colorItemrequired { if ( countitem( .item_req[ getarg(0) ] ) < .item_req[ getarg(0)+1 ] + num_rebirth ) return "^ff0000"; return "^00ff00"; } function deleteItem { for ( ; .@i < .size_item; .@i += 2 ) delitem .item_req[.@i], ( .item_req[ .@i+1 ] + num_rebirth ); if ( num_rebirth >= .change_reward ) delitem .add_item_req[0], ( .add_item_req[1] + num_rebirth - .change_reward ); return; } function displayItemneed { for ( ; .@i < .size_item; .@i += 2 ) mes colorItemrequired( .@i ) +" - x"+ ( .item_req[ .@i+1 ] + num_rebirth ) +" "+ getitemname( .item_req[.@i] ); if ( num_rebirth >= .change_reward ) { if ( .add_item_req[1] + num_rebirth - .change_reward > countitem( .add_item_req[0] ) ) .@color$ = "^ff0000"; else .@color$ = "^00ff00"; mes .@color$ +"- x"+ ( .add_item_req[1] + ( num_rebirth - .change_reward ) ) +" "+ getitemname( .add_item_req[0] ); } return; } function getItemReward { for ( ; .@i < .size_reward; .@i += 2 ) getitem .reward[.@i], .reward[ .@i+1 ]; return; } function weightreq { if ( Weight > 20000 ) { mes "You have too much items on you. Your weight will be too high after rebirth."; close; } return; } OnInit: .reset_max = 200; // how much reset max .change_reward = 150; // after 30 rebirth, change reward .num_status = 10; // + X number of status points // item required <item ID>, <number> setarray .item_req, 7179, 50, 7227, 50, 969, 300; .size_item = getarraysize( .item_req ); // additionnal items after rebirth >> .change_reward // <item ID>, <number> setarray .add_item_req, 7179, 100; // rewards <item ID>, <number> setarray .reward, 674, 50; .size_reward = getarraysize( .reward ); end; }
and look for this part
else if( BaseLevel < 255 || JobLevel < 120 ||
holy cow! it works like magic!!! thank you so much, you never know how happy i am right now, i am working on this for a week, but finally.... thank you so much!!!
and one more question, my reward stat is gone when i reset stats at npc, is there a way to recover my stat?but then again thank you for this appreciate it so mucchhhhhhh!!!!
-
do anyone have the script for this kind of NPC
Rebirth NPC/rebirth up to 150 rebirthrequired level for rebirth 99/70
required items : (3 item of my choice) ex: 512(apple), 607(seed), 608(berry)
every rebirth return to level 1 (high novice)
gives 300 statpoint every rebirth
and does not reset the statpoint at reset npc...
BTW im rathena (pre-re) Offline server for fun
thank you and sorry if this is wrong section, ireally dont know where to put. -
On 8/4/2014 at 1:54 PM, Emistry said:
try this
prontera,155,181,5 script Sample#rebirth 757,{ if( BaseLevel < .rebirth_lvl[0] || JobLevel < .rebirth_lvl[1] ){ mes "You need Level "+.rebirth_lvl[0]+" / "+.rebirth_lvl[1]+"."; } else if( rebirth_count >= .rebirth_title_size ){ mes "You reach max rebirth already."; } else{ for( set .@i,0; .@i < .item_list_size; set .@i,.@i + 1 ){ mes " > "+getitemname( .item_list[.@i] )+" x "+.item_list[.@i+1]; if( countitem( .item_list[.@i] ) < .item_list[.@i+1] ) .@fail++; } if( !.@fail ) if( select( "Rebirth to "+.rebirth_title$[rebirth_count],"Cancel" ) == 1 ){ resetlvl 1; set rebirth_count,rebirth_count + 1; for( set .@i,0; .@i < .item_list_size; set .@i,.@i + 1 ) delitem .item_list[.@i],.item_list[.@i+1]; mes "DONE"; } } close; OnInit: setarray .rebirth_lvl,255,120; setarray .item_list, 512,10, 607,20, 608,30; set .item_list_size,getarraysize( .item_list ) - 1; setarray .rebirth_title$, "Bronze I", "Bronze II", "Bronze III", "Bronze IV", "Bronze V"; set .rebirth_title_size,getarraysize( .rebirth_title$ ); end; }
didnt test. log isnt included.
sir emistry, how about if i want to replace the reward title, instead i want a 300 status points every rebirth? thank you sir
-
On 5/7/2013 at 7:18 AM, Capuche said:
/* CREATE TABLE IF NOT EXISTS `rebirth_system` ( `account_id` int(11) unsigned NOT NULL default '0', `name` varchar(255) NOT NULL DEFAULT 'NULL', `num_rebirth` int(11) unsigned NOT NULL default '0', `last_ip` varchar(100) NOT NULL default '', PRIMARY KEY (`account_id`) ) ENGINE=MyISAM; */ prontera,150,170,5 script Spec 833,{ function checkItem; // check if player have all item required function colorItemrequired; // color the text. Red : not enough item, green otherwise function deleteItem; // delete all items required function displayItemneed; // display all items need at start function getItemReward; // give the items reward function weightreq; // check if your current weight is highter than weight high novice .@eac = eaclass(); if ( num_rebirth == .reset_max ) { mes "You can only rebirth x"+ .reset_max +"."; emotion e_gasp; close; } else if( NextJobExp || NextBaseExp || !( .@eac&EAJL_2 ) || !Upper ) { mes "You must be rebirth max level/max job level."; close; } mes "Items need :"; displayItemneed(); next; switch( select( "^777777~ Rebirth", "~ Informations", "~ Good bye^000000" ) ) { case 1: weightreq(); checkItem(); deleteItem(); break; case 2: mes "You can only rebirth ^ff0000x"+ .reset_max +"^000000. You already rebirth ^ff0000x"+ num_rebirth +"^000000."; mes "Each rebirth you get ^ff0000"+ .num_status +"^000000 status points and after ^ff0000"+ .change_reward +"^000000 rebirth, you get only some items."; close; case 3: mes "Bye."; close; } num_rebirth += 1; if ( Upper ) { // just in case the user change the setting... lastJob = roclass( .@eac&EAJ_UPPERMASK ); jobchange Job_Novice_High; } else jobchange Job_Novice; resetlvl 1; if ( num_rebirth < .change_reward ) StatusPoint = StatusPoint + .num_status * num_rebirth; else getItemReward(); query_sql "insert into `rebirth_system` values ( "+ getcharid(3) +", '"+ escape_sql( strcharinfo(0) ) +"', '"+ num_rebirth +"', '"+ getcharip() +"' ) on duplicate key update `num_rebirth` = `num_rebirth` +1"; announce "[ Rebirth system ] : "+ strcharinfo(0) +" rebirth for the "+ num_rebirth +" time !", 0; close; function checkItem { for ( ; .@i < .size_item; .@i += 2 ) if ( countitem( .item_req[.@i] ) < .item_req[ .@i+1 ] + num_rebirth ) { mes "You don't have enought "+ getitemname( .item_req[.@i] ) +". ^ff0000["+ countitem( .item_req[.@i] ) +"/"+ ( .item_req[ .@i+1 ] + num_rebirth ) +"]^000000"; close; } if ( num_rebirth >= .change_reward ) if ( .add_item_req[1] + num_rebirth - .change_reward > countitem( .add_item_req[0] ) ) { mes "You don't have enought "+ getitemname( .add_item_req[0] ) +". ^ff0000["+ countitem( .add_item_req[0] ) +"/"+ ( .add_item_req[1] + num_rebirth - .change_reward ) +"]^000000"; close; } return; } function colorItemrequired { if ( countitem( .item_req[ getarg(0) ] ) < .item_req[ getarg(0)+1 ] + num_rebirth ) return "^ff0000"; return "^00ff00"; } function deleteItem { for ( ; .@i < .size_item; .@i += 2 ) delitem .item_req[.@i], ( .item_req[ .@i+1 ] + num_rebirth ); if ( num_rebirth >= .change_reward ) delitem .add_item_req[0], ( .add_item_req[1] + num_rebirth - .change_reward ); return; } function displayItemneed { for ( ; .@i < .size_item; .@i += 2 ) mes colorItemrequired( .@i ) +" - x"+ ( .item_req[ .@i+1 ] + num_rebirth ) +" "+ getitemname( .item_req[.@i] ); if ( num_rebirth >= .change_reward ) { if ( .add_item_req[1] + num_rebirth - .change_reward > countitem( .add_item_req[0] ) ) .@color$ = "^ff0000"; else .@color$ = "^00ff00"; mes .@color$ +"- x"+ ( .add_item_req[1] + ( num_rebirth - .change_reward ) ) +" "+ getitemname( .add_item_req[0] ); } return; } function getItemReward { for ( ; .@i < .size_reward; .@i += 2 ) getitem .reward[.@i], .reward[ .@i+1 ]; return; } function weightreq { if ( Weight > 20000 ) { mes "You have too much items on you. Your weight will be too high after rebirth."; close; } return; } OnInit: .reset_max = 50; // how much reset max .change_reward = 30; // after 30 rebirth, change reward .num_status = 300; // + X number of status points // item required <item ID>, <number> setarray .item_req, 501, 5, 502, 2, 503, 3; .size_item = getarraysize( .item_req ); // additionnal items after rebirth >> .change_reward // <item ID>, <number> setarray .add_item_req, 601, 1; // rewards <item ID>, <number> setarray .reward, 504, 1; .size_reward = getarraysize( .reward ); end; }
EDIT: fix a small typo
how to change the max level requirements on your script sir? my offline server is 250/70
-
guys can you help me.
i want to use chain crush combo skill with just ( zen/dangerous soul collect +tiger knuckle fist ) as requirements to activate chain crush combo..
how to make that and where do i put the script, im currently using pre-renewal server.. its just offline server and i really enjoy playing with offline, thanks for the help guyshave a great day everyone
-
goodday guys
im totally newb... can you help me about reborn NPC, i want to put reborn npc on my offline server (pre-re)
its like, every rebirth gives 100 statpoints. and required for 3 items of my choice.
idk where to start or where to put the script pls help. thanks in advance
Rebirth NPC
in Script Requests
Posted · Edited by sader1992
keep it friendly
wow! what a information, this is some high level information right there... thank you for your suggestion, we dont know that we can use search engine what a surprise, thanks capt. obvious!!! wish you goodluck.