Jump to content

Disgaea

Members
  • Content Count

    39
  • Joined

  • Last visited

Posts posted by Disgaea


  1. 2 minutes ago, meko said:

    Hercules should automatically generate constants based on the AegisName of items in your database. If Apple evaluates to 0 it means you are either using a very old version of Hercules, or you don't have an item named Apple in your item db

     

    Simply add a mes("your message here") before the close; that is above the OnInit

    It worked, really thanks for all the help!


  2. Nvm I solved the error, btw can you tell me how to but that when I click that I have the items, she say something like "you dont have the items"? because if I say that I have even if I dont have she says congrats, if you already did that it doesnt work @meko

     

     


  3. 11 hours ago, meko said:

    That's just two missing next() statements...

     

    Here you go:

    
    einbroch,55,200,4	script	Herald	123,{
    
    	if (#onetimeitem) {
    		mes("I hope you like your reward.");
    		close;
    	}
    
    	mes("Hello youngster.");
    	mex("Want to know a secret?");
    	next();
    
    	if (select("Yes", "No") == 1) {
    		mes("[Herald]");
    		mes("You made the right choice.");
    		mes("Do you know that the toughest material in Rune Midgard is called Mithril?");
    		mes("The best part is, I know how to get it.");
    		next();
    		mes("If you're willing to prove me you can handle a tough excursion, I'll direct you to my friend, and from that moment on, you're his problem.");
    		mes("Will you do it?");
    		next();
    
    		do {
    			if (select("Yes I will do it!", "Wait, what's the material for?") == 1) {
    				mes("[Herald]");
    				mes("Outstanding!");
    				mesf("I will need you to collect %i pieces of %s, an excellent mineral from Bradium Golems in Manuk Fields.", .request_amount, getitemname(.request_item));
    				mes("Bring me these, and I will give you something so that my friend grants you passage to the mines.");
    				next();
    				mes("So, do you have the items?");
    				next();
    
    				switch(select("Yes, Here They are", "No")) {
    				case 1:
    					if (countitem(.request_item) < .request_amount) {
    						mes("[Herald]");
    						mes("Don't make me regret this.");
    						mesf("Bring me the damn %s!", getitemname(.request_item));
    						close;
    					}
    
    					mes("[Herald]");
    					mes("Well done, I wasn't thinking you could do it.");
    					mes("But be careful, the place where you'll be headed is very tough.");
    
    					delitem(.request_item, .request_amount);
    					getitembound(.reward_item, .reward_amount, 1);
    					#onetimeitem = 1;
    					break;
    
    				case 2:
    					mes("[Herald]");
    					mes("Let me know when you're done. I will reward you for your efforts.");
    					break;
    				}
    				close;
    
    			} else {
    				mes("[Herald]");
    				mes("I can't properly answer that.");
    				mes("You will have to find someone willing to use it on anything.");
    				mes("But hey, it's the toughest material in Rune-Midgard, it's gotta be useful, right?");
    				next();
    			}
    		} while (true);
    	}
    	close;
    
    
    OnInit:
    
    	// << YOUR CONFIGURATION GOES HERE >>
    	.request_item = Apple;
    	.request_amount = 20;
    
    	.reward_item = Holy_Dagger;
    	.reward_amount = 1;
    	// << END OF CONFIGURATION >>
    }

     

    Make sure to change the items and amounts in OnInit to the items you want

    Now I cant talk with the npc xd, he just dont talk, this npc really dont want to work


  4. 50 minutes ago, meko said:

    that's because you do not have in your inventory 20 of item id 512

    to not show the two messages at the same time just add a next(); before the mes() that says don't make me regret

    But in the wait whats the material for, even if I have the items or not, when i click it just resets, he dont say nothing, And when I say "no" in the beginning it get bugged

    no.png


  5. 3 minutes ago, meko said:

    that's because your #onetimeitem variable is already set for this account

     

    to reset, type in chat:

    @set #onetimeitem 0

    When I click the that question it just resets and dont happen nothing, and if i put that I have the items it says 2 things at the same time 

    2.png

    3333333.jpg


  6. 32 minutes ago, meko said:

    I tried to re-construct your script as best as I could, but it's one of the messiest I have ever seen.

    Here goes:

    
    einbroch,55,200,4	script	Herald	123,{
    
    	if (#onetimeitem) {
    		mes("I hope you like your reward.");
    		close;
    	}
    
    	mes("Hello youngster. Want to know a secret?");
    	next();
    
    	if (select("Yes:No") == 1) {
    		mes("[Herald]");
    		mes("You made the right choice. Do you know that the toughest material in Rune Midgard is called Mithril? The best part is, I know how to get it.");
    		next();
    		mes("If you're willing to prove me you can handle a tough excursion, I'll direct you to my friend, and from that moment on, you're his problem. Will you do it?");
    		next();
    
    		do {
    			if (select("Yes I will do it!:Wait, what's the material for?") == 1) {
    				mes("[Herald]");
    				mes("Outstanding! I will need you to collect two pieces of Pure Bradium, an excellent mineral from Bradium Golems in Manuk Fields. Bring me these two, and I will give you something so that my friend grants you passage to the mines.");
    				next();
    				mes("So ,do you have the items?");
    				next();
    
    				switch(select("Yes, Here They are:No")) {
    				case 1:
    					mes("[Herald]");
    					mes("Well done, I wasn't thinking you could do it. But be careful, the place where you'll be headed is very tough.");
    
    					if (countitem(512) < 20) {
    						mes("[Herald]");
    						mes("Don't make me regret this. Bring me the damn Bradium!");
    						close;
    					}
    
    					delitem(512, 20);
    					getitembound(1244, 1, 1);
    					#onetimeitem = 1;
    					break;
    
    				case 2:
    					mes("[Herald]");
    					mes("Let me know when you're done. I will reward you for your efforts.");
    					break;
    				}
    				close;
    
    			} else {
    				mes("[Herald]");
    				mes("I can't properly answer that. You will have to find someone willing to use it on anything. But hey, it's the toughest material in Rune-Midgard, it's gotta be useful, right?");
    			}
    		} while (true);
    	}
    }

     

    When I talk with him he only say this xD

     

    ffffffffff2.png


  7. einbroch,55,200,4	script	Herald	123,{
    if( !#onetimeitem ){
    set #onetimeitem,1;
    	mes "Hello youngster. Want to know a secret?";
    	next;
    	switch(select("Yes:No")) {
    	case 1:
    	mes "[Herald]";
    	mes "You made the right choice. Do you know that the toughest material in Rune Midgard is called Mithril? The best part is, I know how to get it.";
    	next;
    	mes " If you're willing to prove me you can handle a tough excursion, I'll direct you to my friend, and from that moment on, you're his problem. Will you do it?";
    	next;
    	OnMenu:
    	switch(select("Yes I will do it!:Wait, what's the material for?")) {
    	
    	case 1:
    	mes "[Herald]";
    	mes "Outstanding! I will need you to collect two pieces of Pure Bradium, an excellent mineral from Bradium Golems in Manuk Fields. Bring me these two, and I will give you something so that my friend grants you passage to the mines.";
    	next; 
    	mes "So ,do you have the items?";
    	next;
    	switch(select("Yes,Here They are:No")) {
    	
    	case 1:
    	mes "[Herald]";
    	mes "Well done, I wasn't thinking you could do it. But be careful, the place where you'll be headed is very tough.";
    	if (countitem(512) < 20)
    	delitem 7233,
    getbounditem 1244 1
    	close;
    	}
    
    				mes "[Herald]";
    				mes "Let me know when you're done. I will reward you for your efforts.";
    				close;
    				}
    	case 2:
    	mes "[Herald]";
    	mes " Don't make me regret this. Bring me the damn Bradium!";
    	close;
    				
    	
    	
    	
    	case 2:
    	mes "[Herald]";
    	mes "I can't properly answer that. You will have to find someone willing to use it on anything. But hey, it's the toughest material in Rune-Midgard, it's gotta be useful, right?";
    	goto OnMenu;
    	}
    	}
    	}
    	}

    What Am I doing wrong? my head is just literally on fire right now, I dont even know what I'am doing anymore lol

    3.png


  8. 
    
    // credits to Annieruru
    function	script	ValueConvert	{
    	set .@num, atoi(""+getarg(0));
    	if ( .@num == 0 || .@num >= 2147483647 ) return getarg(0);
    	set .@l, getstrlen(""+.@num);
    	for ( set .@i,0; .@i < .@l; set .@i, .@i + 1 ) {
    		set .@num$, .@num % pow(10,.@i+1) / pow(10,.@i) + .@num$;
    			if ( (.@i+1) % 3 == 0 && .@i+1 != .@l ) set .@num$, ","+ .@num$;
    	}
    	return .@num$;
    }
    
    
    -	script	Stylist	-1,{
    OnTalk:
    	mes "[^0055FF ::: Adv. Stylist ::: ^000000]";
    	mes "I can change your appearance.";
    	if( .cost_size ){
    		mes " ";
    		mes "^777777[ SERVICES PAYMENT ]^000000";
    		for( .@i = 0; .@i < .menu_size; .@i++ )
    			if( .npc_mode & ( 1 << .@i ) )
    				if( .cost[.@i] )
    					mes "^0055FF"+.menu_name$[.@i]+" : ^777777"+ValueConvert( .cost[.@i] )+" "+.currency_name$[.@i]+"^000000";
    				else
    					mes "^0055FF"+.menu_name$[.@i]+" : ^777777Free of Charge^000000";
    	}
    	next;
    	@style = ( select( .npc_menu$ ) - 1 );
    	@style_value = getlook( .look_type[@style] );
    	deletearray .@blacklist;
    	switch( @style ){
    		Case 0: .@blacklist$ = ","+getd( ".blacklist_hairstyle_"+Sex+"$" )+","; break;
    		Case 1: .@blacklist$ = ","+getd( ".blacklist_haircolor_"+Sex+"$" )+","; break;
    		Case 2: .@blacklist$ = ","+getd( ".blacklist_cloth_"+Sex+"$" )+","; break;
    		default: break;
    	}
    
    	.@style_number = .min_style[@style];
    
    	addtimer 1000,strnpcinfo(0)+"::OnPCLogoutEvent";
    	do{
    		message strcharinfo(0),.menu_name$[@style]+" : "+.@style_number+"th";
    		.@removed = 0;
    		if( compare( .@blacklist$,","+.@style_number+"," ) ){
    			message strcharinfo(0),"[ REMOVED ] "+.menu_name$[@style]+" : "+.@style_number+"th";
    			.@removed = 1;
    			// setlook .look_type[@style],.min_style[@style];
    		}else{
    			setlook .look_type[@style],.@style_number;
    		}
    		
    		.@next = .@style_number + 1;
    		.@prev = .@style_number - 1;
    		if( .@next > .max_style[@style] ) .@next = .min_style[@style];
    		if( .@prev < .min_style[@style] ) .@prev = .max_style[@style];
    		
    		@select = prompt( (( .@backward )?"Backward":"Forward" )+" - [ ^777777"+(( .@backward )? .@prev:.@next )+"th Style^000000 ]",
    					(( !.@backward )?"Backward":"Forward" )+" - [ ^777777"+(( !.@backward )? .@prev:.@next )+"th Style^000000 ]",
    					"Jump to a Style",
    					( .@removed )?"":"^0055FFOkay, I want this "+.menu_name$[@style]+"^000000" );
    					
    		if( @select == 2 ) .@backward = !.@backward;
    		
    		switch( @select ){
    			Case 1:	
    			Case 2:
    				.@style_number = (( .@backward )? .@prev:.@next );
    				break;
    			Case 3:	
    				message strcharinfo(0),"Available Style : "+.min_style[@style]+" ~ "+.max_style[@style]+".";
    				input .@style_number,.min_style[@style],.max_style[@style];
    				break;
    			Case 4:
    				.@atoi_currency = atoi( .currency$[@style] );
    				if( @style_value == .@style_number ){
    					message strcharinfo(0),"Swt..that is your original hairstyles.";
    					break;
    				} else if( .@atoi_currency ){
    					if( countitem( .@atoi_currency ) >= .cost[@style] ){
    						.@success = 1;
    						delitem .@atoi_currency,.cost[@style];
    					}
    				}else{
    					if( getd( ""+.currency$[@style] ) >= .cost[@style] ){
    						.@success = 1;
    						setd( ""+.currency$[@style] ),( getd( ""+.currency$[@style] ) - .cost[@style] );
    					}
    				}
    				if( .@success ){
    					message strcharinfo(0),"Enjoy your NEW "+.menu_name$[@style]+" !!";
    					@style_value = .@style_number;
    				}else{
    					mes "You dont have enough "+.currency_name$[@style]+" to change this "+.menu_name$[@style]+".";
    					mes "Cost : ^777777"+ValueConvert( .cost[@style] )+" "+.currency_name$[@style]+"^000000";
    					close2;
    				}
    
    			default:
    				setlook .look_type[@style],@style_value;
    				break;
    		}
    	}while( @select != 4 && @select != 255 );
    	mes "Come back again next time. ^^";
    	@select = 0;
    	close2;
    	deltimer strnpcinfo(0)+"::OnPCLogoutEvent";
    
    OnPCLogoutEvent:
    	if( @select )
    		setlook .look_type[@style],@style_value;
    	end;
    	
    OnInit:
    	// NPC Mode ( Bitmask )
    	//	1 - Enable Hairstyle
    	//	2 - Enable Hair Color
    	//	4 - Enable Cloth Color
    	.npc_mode = 7;
    	
    	// Menu Name
    	setarray .menu_name$,
    		"Hair Style",
    		"Hair Color",
    		"Cloth Color";
    	
    	// Payment Currency + Cost
    	// Can be ITEM ID or Any Variable.
    	setarray .currency$,
    		"Zeny",	//	Hairstyle - Ex. need Zeny
    		"Zeny",	//	Hair Color - Ex. need Zeny
    		"Zeny";	//	Cloth Color - Ex. need Zeny
    		
    	setarray .cost,
    		10000,	//	Hairstyle ( 10,000 Zeny )
    		10000,	//	Hair Color ( 10,000 Zeny )
    		10000;	//	Cloth Color ( 10,000 Zeny )
    		
    	// Blacklisted Style for each style and each gender.
    	// --- Female ---
    	.blacklist_hairstyle_0$ = "2,4,6";
    	.blacklist_haircolor_0$ = "1,3,5";
    	.blacklist_cloth_0$ = "1,2,3";
    	// --- Male ---
    	.blacklist_hairstyle_1$ = "3,5,7";
    	.blacklist_haircolor_1$ = "2,4,6";
    	.blacklist_cloth_1$ = "4,5,6";
    
    	// Dont edit
    	setarray .min_style,getbattleflag( "min_hair_style" ),getbattleflag( "min_hair_color" ),getbattleflag( "min_cloth_color" );
    	setarray .max_style,getbattleflag( "max_hair_style" ),getbattleflag( "max_hair_color" ),getbattleflag( "max_cloth_color" );
    	.menu_size = getarraysize( .menu_name$ );
    	.cost_size = getarraysize( .cost );
    	setarray .look_type,LOOK_HAIR,LOOK_HAIR_COLOR,LOOK_CLOTHES_COLOR;
    	for( .npc_menu$ = ""; .@i < .menu_size; .@i++ )
    		.npc_menu$ = .npc_menu$ + ( ( .npc_mode & ( 1 << .@i ) )? .menu_name$[.@i]:"" ) +":";
    	for( .@i = 0; .@i < .cost_size; .@i++ ){
    		.@atoi = atoi( .currency$[.@i] );
    		.currency_name$[.@i] = ( ( !.@atoi || getitemname( .@atoi ) == "null" )? .currency$[.@i]:getitemname( .@atoi ) );
    	}
    	end;
    
    }
    
    
    // NPC Lists
    prontera,155,181,5	script	Adv. Stylist#main	878,{
    	doevent "Stylist::OnTalk";
    }
    
    prontera,115,181,5	duplicate(Adv. Stylist#main)	Adv. Stylist#1	878
    prontera,115,181,5	duplicate(Adv. Stylist#main)	Adv. Stylist#2	878
    prontera,115,181,5	duplicate(Adv. Stylist#main)	Adv. Stylist#3	878
    
    

    How to put Max Hair color 4 only for doram?


  9. 29 minutes ago, Legend said:

    Updating your git

    1. Right click your Hercules folder (having green check on the folder) and choose Git Sync
    Image:

      Reveal hidden contents

     

    2. A window will pop up, then click Pull
    Image:

      Reveal hidden contents

     

    3. The one on the red box indicates that git is already receiving objects
    Image:

      Reveal hidden contents

     

    4. Message on the window indicates that you successfully updated your File.
    Image:

      Reveal hidden contents

    Wow thx! what program are you using? tortoise?


  10. 11 minutes ago, Habilis said:

    Stick the chat to the forum ok? I don't like Helping in private messages. 

    for 2 reasons

    - In PM no one sees my Awesomeness!

    - If I say BullShit, there is no one to correct me, as opposed to the forum, where people may see it and say "Habilis is bullshitting again".

     

    To update your local repo with sourcetree you need to use Pull button.

    I never worked with this gui, but I think, if there are no conflicts, there will be a silent update.

    And if there are conflicts, it will ask you to resolve them before updating

     

    then you can see what commit hash is your local branch and compare it to the latest commit hash on herc github

    https://github.com/HerculesWS/Hercules/commits/master

     

    If it checks then you are using latest version...

    No matter what it just dont work :/ , you can do it step by step with screenshot? If necessary I pay , I really need to learn how to do this <-<


  11. Hello everyone, my apologies if im posting in the wrong section.

    I can't seem to find Warg Strike's (Currently Wug Strike) location to change it, I want to increase it's after cast delay. As in, it's cooldown, from one to possibly three or four.

    The problem is, I cannot find it in  skill_cast_db. Can anyone help? I managed to change it's damage, though.

     

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.