Jump to content

【 Emistry © 2015 】E-Scripts Collection


Emistry

Recommended Posts


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2346
  • Joined:  10/28/11
  • Last Seen:  

@GMOcean

thx...the script is soooo out-dated... didnt really spent time on updating it..xD  ***lazy-ness***

 

@Belialsixxx

you're not using rAthena .

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  27
  • Topics Per Day:  0.01
  • Content Count:  120
  • Reputation:   3
  • Joined:  07/04/13
  • Last Seen:  

got a problem  how to max lvl 255. jlvl 120 rAthena?



and i got a problem when i alt+m and type @go 0 it don't save changes. and at start up too! when i click keep.

 

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2346
  • Joined:  10/28/11
  • Last Seen:  

my topic isnt a support forum.... your question is out of topic here...

 

got a problem  how to max lvl 255. jlvl 120 rAthena?


and i got a problem when i alt+m and type @go 0 it don't save changes. and at start up too! when i click keep.

edit db/re/exp.txt and your clientside LUB file

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  84
  • Reputation:   0
  • Joined:  03/29/12
  • Last Seen:  

I can bypass Limited items 4.0

 

Reproduce:

 Eg: the limited item ban is GTB card inside a shield.

 

1. Enter the limited map.

2. Wait for 3mins.

3. Use @refresh at alt+m 

4. Try switching/spam it.

5. successfully smuggled GTB card inside the limited area.




-	script	Limited Items	-1,{
function AddLimitedItem;

OnInit:
// GM Level to Bypass
.gm_level = 99;
// Check Every X Seconds
.check_delay = 5;
// Apply on Which Maps and what Zone No.
setarray .map$, // "<mapname>","<zone number>",
	"guild_vs1","0",
	"aldeg_cas02","0",
	"prtg_cas02","0",
	"aldeg_cas04","0",
	"gefg_cas02","0",
	"payg_cas04","0",
	"cell_game","1",
	"guild_vs3","1";
	
// Initialize Mapflags
set .map_size,getarraysize( .map$ );
for( .@i = 0; .@i < .map_size; .@i += 2 ){
	setmapflag .map$[.@i],mf_loadevent;
	set .map_menu$,.map_menu$ + "^0055FF[Zone "+.map$[.@i+1]+"]^000000" + .map$[.@i] +":";
}

// Zone List + Limited Items for each zone. (max 63 item per zone)
// AddLimitedItem( <zone>,<item>,<limit>,..,<item>,<limit> );
AddLimitedItem( 0,25279,0,25327,0,25328,0,25330,0,25331,0,25332,0,25333,0 );
AddLimitedItem( 1,25076,0,25077,0,25079,0,610,0,4128,0,25279,0,25327,0,25328,0,25330,0,25331,0,25332,0,25333,0);

end;

OnTalk:
	mes "Please select a Map.";
	next;
	.@i = select( .map_menu$ ) - 1;
	.@zone = atoi( .map$[ 1 + ( .@i * 2 ) ] );
	mes "[Zone : "+.@zone+"] "+.map$[ .@i * 2 ];

	copyarray .@limit_item[0],getd( ".zone_"+.@zone+"[0]" ),getarraysize( getd( ".zone_"+.@zone ) );
	.@size = getarraysize( .@limit_item );
	
	if( !.@size ){
		debugmes "Invalid Zone : "+.@zone;
	}else{
		.@i = 0;
		while( .@i < .@size ){
			.@itemid = .@limit_item[.@i];
			.@limit = .@limit_item[ .@i+1 ];
			.@mode = ( ( .@limit < 0 )? -1:1 );
			.@limit = .@limit * .@mode;
			
			.@eq = getiteminfo( .@itemid,2 );
			.@name$ = getitemname( .@itemid ) + ( ( .@eq == 5 )?" ["+getitemslots( .@itemid )+"]":"" );
			if( .@mode < 0 ){
				mes "^FF0000[Min. "+( .@limit )+"] ^777777"+.@name$+"^000000";
			}else if( .@mode > 0 ){
				mes "^FF0000["+(( .@limit > 0 )?"Max. "+.@limit:"Disabled" )+"] ^777777"+.@name$+"^000000";
			}
			.@i += 2;
		}
	}
	close;

function	AddLimitedItem	{
	.@arg_count = getargcount();
	.@zone = getarg(0);
	
	.@i =1;
	while( .@i < .@arg_count && .@size <= 127 ){
		.@itemid = getarg( .@i );
		if( getitemname( .@itemid ) != "null" ){
			setarray .@limit_item[ .@size ],.@itemid,getarg( .@i+1 );
			.@size += 2;
			.@i++;
		}
		.@i++;
	}
	if( .@size ){
		copyarray getd(".zone_"+.@zone+"[0]"),.@limit_item[0],.@size;
		// debugmes "Zone "+.@zone+" : Total "+( .@size/2 )+" items";
	}
	return;
}

OnPCLoadMapEvent:
if( getgmlevel() < .gm_level ){
	.@map$ = strcharinfo(3);
	while( .@map < .map_size && .map$[.@map] != .@map$ ) .@map++;
	dispbottom "Map "+.@map;
	if( .@map < .map_size ){
		.@map++;
		.@zone = atoi( .map$[.@map] );
		.@size = getarraysize( getd( ".zone_"+.@zone ) );
		while( strcharinfo(3) == .@map$ && .@size ){
			.@i = callsub( OnCheckItem,.@zone );
			if( .@i < 0 ) end;
			else if( .@i ){
				mes " ";
				message strcharinfo(0),"Limited Items Exceeded.";
				mes "Please ensure all the Items above meet the requirements as stated above.";
				close2;
				warp "SavePoint",0,0;
				end;
			}
			sleep2 ( .check_delay * 1000 );
		}
	}
}
end;
	
OnCheckItem:
	.@zone = getarg(0);
	copyarray .@limit_item[0],getd( ".zone_"+.@zone+"[0]" ),getarraysize( getd( ".zone_"+.@zone ) );
	.@size = getarraysize( .@limit_item );

	if( !.@size ){
		debugmes "Invalid Zone : "+.@zone;
		return -1;
	}
	while( .@i < .@size ){
		.@itemid = .@limit_item[.@i];
		.@limit = .@limit_item[ .@i+1 ];
		.@mode = ( ( .@limit < 0 )? -1:1 );
		.@limit = .@limit * .@mode;
		
		.@count = countitem( .@itemid ) );
		if( getiteminfo( .@itemid,2 ) == IT_CARD )
			.@count += isequippedcnt( .@itemid );
			
		.@eq = getiteminfo( .@itemid,2 );
		.@name$ = getitemname( .@itemid ) + ( ( .@eq == 5 )?" ["+getitemslots( .@itemid )+"]":"" );
		if( .@mode < 0 && .@count < .@limit ){
			mes "^FF0000[Min. "+( .@limit )+"] ^777777"+.@name$+"^000000";
			.@fail++;
		}else if( .@mode > 0 && .@limit >= 0 && .@count > .@limit ){
			mes "^FF0000["+(( .@limit > 0 )?"Max. "+.@limit:"Disabled" )+"] ^777777"+.@name$+"^000000";
			.@fail++;
		}
		.@i += 2;
	}
return .@fail;
}

// npc that allow to view the map + zone info
prontera,155,181,5	script	Sample#view	757,{
	doevent "Limited Items::OnTalk";
}

 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  118
  • Topics Per Day:  0.03
  • Content Count:  1942
  • Reputation:   197
  • Joined:  01/08/12
  • Last Seen:  

 

Yeehaaaa...!!!!... i was having a school short semester break right now.....xD

Previously,...my laptop was damaged....so not much stuffs has been done ...>.< anyway.....during my break time....i was still able to fix some script of mine...using my old test server... ( eAthena Beginner v4 ) LOL.....>.<

so here is the good news...xD


[ Update ] : Modified Multi Currency Shop Script :

Description :

It is a Simple Shop take use Item Currency to Buy items. It Support Multiple Shop in 1 NPC. This Script is based on the Idea of those other TCG / POD / etc Shop that users keep requesting.

The only different is, this Script only use 1 NPC + 1 Shop ( Invinsible ) NPC to settle all your Problems.

Of Course, that this script can fulfill certain User Request like ,

"Please help me create a Custom Dynamic Shop with Multiple Menu ."..

"How to create a Shop that Sell item using 'CustomPoints' ?"

You can add around ~128 Shop in this NPC. Add the Shop Selection at the Menu / New Cases for each of it.

but i think the limit for a Shop Window is just around 100 normally...

Simple Explaination :

A Script that allow setup several Shop that using Different Items as Currency to buy Items for the Corresponding Shop...

Possible Currency...

  • Item ID ( TCG , Proof Of Donation , etc... )
  • Variable ( Zeny , #CASHPOINTS , CustomPoints , etc... )


Script Configurations

you only need to edit this part...the rest....left it alone if you dont know what it does...

 

switch( getarg(0) ){
  Case 1:
   // Currency [ Item ID / Variable Name ]
   set @Currency$,"7227";
   // Item ID Lists
   setarray @ItemLists[0],2301,2302,2303,2304,2305,2306;
   // Item Price
   setarray @ItemCost[0],1,2,3,4,5,6;
   break;
  Case 2:
   // Currency [ Item ID / Variable Name ]
   set @Currency$,"Zeny";
   // Item ID Lists
   setarray @ItemLists[0],2306,2302,2303,2304,2305,2301;
   // Item Price
   setarray @ItemCost[0],2,2,3,4,5,6;
   break;
  Case 3:
   // Currency [ Item ID / Variable Name ]
   set @Currency$,"#CASHPOINTS";
   // Item ID Lists
   setarray @ItemLists[0],2306,2302,2303,2304,2305,2301;
   // Item Price
   setarray @ItemCost[0],20,22,34,445,52,641;
   break;
  // Case 4,5,6.....etc...
  default:
   ErrorNotice( "Invalid Menu Selection for Menu "+@menu+"." );
   close;
}

the Item Listing and Pricing...as usual...do the same...just list down the itemID and price for each of them...

however....the new updated things in Version 5 - Currency Settings...

and i also added some error message for making debug problem easier whenever there is misconfiguration in the settings...

bug that listed before..should be able to fixed right now..

Possible Currency...

  • Item ID ( TCG , Proof Of Donation , etc... )
  • Variable ( Zeny , #CASHPOINTS , CustomPoints , etc... )

Example :

 

// Use Variable as Currency
set @Currency$,"Zeny"; - Use Zeny
set @Currency$,"#CASHPOINTS"; - Use CashPoints
set @Currency$,"#KAFRAPOINTS"; - Use KafraPoints
// Use Item as Currency
set @Currency$,"7539"; - Use Poring Coin
set @Currency$,"909"; - Use Jellopy
set @Currency$,"607"; - Use Yggdrasilberry

but no matter the currency is Number or Name of variable....you have to write it within the ( " " ) Quotation marks....


Multi Currency Shop [ Version 5 ]

Changelog :

  • [ Version 1 ] - Simple Shop Based Currency Shop.
  • [ Version 2 ] - Support Multiple Different Currency Shop in 1 NPC.
  • [ Version 3 ] - Fixed Repeating Items Lists Problem.
  • [ Version 4 ] - Fixed Items Purchasing Bug and Problems.
  • [ Version 5 ] - Fixed Bug , Updated with Various Variable as Currencies , Re-Organized Scripts

Scripts : View Download

Please let me know if there is any problems. As well as any Suggestion to Improve it.

there is a bug in here.

i put a egg on it. then use silver coin as a required payment. example.

i buy poring egg, drops egg and dokebi egg at the same time.

poring,drops and dokebi cost 30 silver coin each.

after you purchase them. it will only give you dokebi egg. but you got decrease for 2 eggs that you buy but it is not on your inventory.

screen_Hercules004.jpgscreen_Hercules005.jpgscreen_Hercules006.jpgscreen_Hercules007.jpgscreen_Hercules008.jpg

Edited by Brynner
Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2346
  • Joined:  10/28/11
  • Last Seen:  

@ajaxtrix

it's because you enabled these  commands to your players to use it.

by default the script will work just fine if you had not enabled these command which lead to exploit npc scripts.

either you remove the command...or you have to disable the command...

 

@Brynner

Pet Egg required the char-server to save the data each time you gained 1 pet egg.

at any normal circumstance, the getitem cant really work for Pet egg if you are giving out multiple pet egg, this is because char-server need time to save the data.

temporary you can fix it by using this

for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1){
	getitem @bought_nameid[@i],@bought_quantity[@i];
	sleep2 1;   // add this.  increase to longer if needed.
}

add a sleep2 right after the getitem command.

 

 

 

***ermmm..probably time to do some update on the script to 7.0 version...***

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  27
  • Topics Per Day:  0.01
  • Content Count:  120
  • Reputation:   3
  • Joined:  07/04/13
  • Last Seen:  

emistry can you create a cooking fest? or super mario quest? or detective quest. 



or can someone create mobs sprite like the 7 evil dragons ,evil shenron.



what happen to eathena website i can't register?

so sadd hehe

Edited by Mau
Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2346
  • Joined:  10/28/11
  • Last Seen:  

emistry can you create a cooking fest? or super mario quest? or detective quest. 

or can someone create mobs sprite like the 7 evil dragons ,evil shenron.

what happen to eathena website i can't register?

so sadd hehe

  1. depend on how the quest will run .... and yet..my topic isnt a proper place to request for scripts.
  2. refer graphic sections
  3. no idea ..
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  118
  • Topics Per Day:  0.03
  • Content Count:  1942
  • Reputation:   197
  • Joined:  01/08/12
  • Last Seen:  

@ajaxtrix

it's because you enabled these  commands to your players to use it.

by default the script will work just fine if you had not enabled these command which lead to exploit npc scripts.

either you remove the command...or you have to disable the command...

 

@Brynner

Pet Egg required the char-server to save the data each time you gained 1 pet egg.

at any normal circumstance, the getitem cant really work for Pet egg if you are giving out multiple pet egg, this is because char-server need time to save the data.

temporary you can fix it by using this

for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1){
	getitem @bought_nameid[@i],@bought_quantity[@i];
	sleep2 1;   // add this.  increase to longer if needed.
}

add a sleep2 right after the getitem command.

 

 

 

***ermmm..probably time to do some update on the script to 7.0 version...***

thanks it works now.

Link to comment
Share on other sites

  • 3 weeks later...

  • Group:  Members
  • Topic Count:  30
  • Topics Per Day:  0.01
  • Content Count:  84
  • Reputation:   0
  • Joined:  03/29/12
  • Last Seen:  

@ajaxtrix

it's because you enabled these  commands to your players to use it.

by default the script will work just fine if you had not enabled these command which lead to exploit npc scripts.

either you remove the command...or you have to disable the command...

 

@Brynner

Pet Egg required the char-server to save the data each time you gained 1 pet egg.

at any normal circumstance, the getitem cant really work for Pet egg if you are giving out multiple pet egg, this is because char-server need time to save the data.

temporary you can fix it by using this

for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1){
	getitem @bought_nameid[@i],@bought_quantity[@i];
	sleep2 1;   // add this.  increase to longer if needed.
}

add a sleep2 right after the getitem command.

 

 

 

***ermmm..probably time to do some update on the script to 7.0 version...***

I  now removed the @refresh from normal characters.

I am using your latest limited items script.

You can bypass it by just entering the "limted map", then try to not move for 5mins-6mins.. then click close..

You can now successfully smuggle the "limited items"

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2346
  • Joined:  10/28/11
  • Last Seen:  

I  now removed the @refresh from normal characters.

I am using your latest limited items script.

You can bypass it by just entering the "limted map", then try to not move for 5mins-6mins.. then click close..

You can now successfully smuggle the "limited items"

disable this src/config/secure.h#L21

/**
 * Optional NPC Dialog Timer
 * When enabled all npcs dialog will 'timeout' if user is on idle for longer than the amount of seconds allowed
 * - On 'timeout' the npc dialog window changes its next/menu to a 'close' button
 * Comment to disable the timer.
 **/
#define SECURE_NPCTIMEOUT
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  118
  • Topics Per Day:  0.03
  • Content Count:  1942
  • Reputation:   197
  • Joined:  01/08/12
  • Last Seen:  

@Emistry how fix this. if my status is already over weight and i buy any kind of item. and im gonna purchase item. the item will not be putted on your inventory and you will be deducted for that item. is there any possible way to make it work? its just like an issue before upon buying multiple pet egg.

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2346
  • Joined:  10/28/11
  • Last Seen:  

@Brynner

hmm which script...

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  118
  • Topics Per Day:  0.03
  • Content Count:  1942
  • Reputation:   197
  • Joined:  01/08/12
  • Last Seen:  

@Brynner

hmm which script...

Multi-Currency-Shop

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2346
  • Joined:  10/28/11
  • Last Seen:  

@Brynner

change

if( @ItemLists[@j] == @bought_nameid[@i] )
set @TotalCost,@TotalCost + ( @ItemCost[@j] * @bought_quantity[@i] );

to

			if( @ItemLists[@j] == @bought_nameid[@i] ){
				set @TotalCost,@TotalCost + ( @ItemCost[@j] * @bought_quantity[@i] );
				set .@item_weight,getiteminfo( @bought_nameid[@i],6 );
				set .@total_item_weight,( .@item_weight * @bought_quantity[@i] );
				set .@total_weight,( .@total_weight + .@total_item_weight );
			}
	if( .@total_weight > ( MaxWeight - Weight ) ){
		mes "You can take that much.";
		close;
	}
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  40
  • Topics Per Day:  0.01
  • Content Count:  587
  • Reputation:   104
  • Joined:  11/19/11
  • Last Seen:  

it's unable to remove it unless you disabled that skill or have some sort of custom mod ...

 

beside..the price wont be affected when you buy the items.

 

Emistry, Do you remember this topic?  click

{
mskill_lv = getskilllv(37);
addtimer 200, strnpcinfo(3)+"::On_Leave";
if(mskill_lv)
    skill 37,0,0;
......
.....
....
close;

On_Leave:
OnPCLoginEvent:
    if(mskill_lv && !getskilllv(37))
        skill 37,mskill_lv,0;
end;
}
Edited by QQfoolsorellina
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  118
  • Topics Per Day:  0.03
  • Content Count:  1942
  • Reputation:   197
  • Joined:  01/08/12
  • Last Seen:  

 

@Brynner

change

if( @ItemLists[@j] == @bought_nameid[@i] )
set @TotalCost,@TotalCost + ( @ItemCost[@j] * @bought_quantity[@i] );

to

			if( @ItemLists[@j] == @bought_nameid[@i] ){
				set @TotalCost,@TotalCost + ( @ItemCost[@j] * @bought_quantity[@i] );
				set .@item_weight,getiteminfo( @bought_nameid[@i],6 );
				set .@total_item_weight,( .@item_weight * @bought_quantity[@i] );
				set .@total_weight,( .@total_weight + .@total_item_weight );
			}
	if( .@total_weight > ( MaxWeight - Weight ) ){
		mes "You can take that much.";
		close;
	}

thanks

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  17
  • Topics Per Day:  0.00
  • Content Count:  36
  • Reputation:   0
  • Joined:  11/02/13
  • Last Seen:  

How do i add a preview option?

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2346
  • Joined:  10/28/11
  • Last Seen:  

@QQfoolsorellina

yes ??

 

@haze

what preview option..hmm

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  40
  • Topics Per Day:  0.01
  • Content Count:  587
  • Reputation:   104
  • Joined:  11/19/11
  • Last Seen:  

@QQfoolsorellina

yes ??

 

What I mean was we can temporarily remove  the Discount skill  of player when he/she talk to npc,and add skill back when player leave the npc dialog.

 

before removing skill

5drhrK.jpg

 

after removing skill , you can see it was working for me

VUO4Wh.jpg

Edited by QQfoolsorellina
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  17
  • Topics Per Day:  0.00
  • Content Count:  36
  • Reputation:   0
  • Joined:  11/02/13
  • Last Seen:  

how to add a preview option when buying using the multi curency shop?

Link to comment
Share on other sites

  • 2 weeks later...

  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  128
  • Reputation:   32
  • Joined:  01/21/13
  • Last Seen:  

sry for ask this, but how did u create these ballons on your post sir Emistry?

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2346
  • Joined:  10/28/11
  • Last Seen:  

sry for ask this, but how did u create these ballons on your post sir Emistry?

what balloon..?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  135
  • Reputation:   20
  • Joined:  02/05/13
  • Last Seen:  

@Emistry i have a question about the random announcement, is it possible the script wiil repeat the same announcement?

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2346
  • Joined:  10/28/11
  • Last Seen:  

@Emistry i have a question about the random announcement, is it possible the script wiil repeat the same announcement?

use add 1 announcement within the script...or repeat adding the same announcements.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...