Nova

[ Nova's Script Collection ]

Recommended Posts

As opposed to my previous thread made here, this one will have scripts I share with the community.

I'll be adding more as time goes by, but I intend to share quite a bit. :]

 

Do whatever you want with these, just don't claim them as your own or sell them of course.

And if you could add credits to them that'd be great as well! If at least on your Features page or on the announcement when the script is added to your server.

Enjoy!

 

 

1. Countdown Mini-Game (Cross-Post from Summer Festival Collection):

//===== rAthena Script =======================================
//= Countdown Mini-Game Script
//===== By: ==================================================
//= Nova http://www.novaragnarok.com
//============================================================

summer01,124,121,6	script	Countdown#summ	904,{

	if ( .start == 0 ) {
	[email protected]$ = "[ ^FF0000Countdown^000000 ]";
	mes [email protected]$;
	mes "In order to win, you must click me after counting down to 0.";
	mes "Cost of participation is ^3355FF2 Festival Coins^000000";
	mes "If you win, I'll give you ^3355FF35 Coins^000000";
	@novacountdown = 0;
	deltimer "Countdown#summ::OnCountdown";
	next;

	switch(select("Play Countdown:Leave")){

	case 1:
			if (@NovaCount > gettimetick(2)) { [email protected] = @NovaCount - gettimetick(2); dispbottom "Countdown: You must wait "[email protected]+" seconds before playing again."; end; }
			if (.start == 1) { dispbottom "Countdown: Somebody is already playing. Wait for them to finish."; end; }
			if(countitem(6767) < 2) { mes [email protected]$; mes "You don't have enough coins."; end; }
			initnpctimer;
			delitem 6767,2;
			@NovaCount = gettimetick(2) + 60;
			.start = 1;
			close2;
			.player$ = strcharinfo(0);
			
			[email protected] = rand(8,11);
			[email protected] = rand(600,1000);
			[email protected] = [email protected]*[email protected];
			[email protected] = [email protected][email protected];
			emotion 27;
			showscript "Countdown: "+.player$+"! Count in your head, and click me again when the timer reaches 0.",.gid$;
			dispbottom "Countdown: Count in your head, and click me on the NPC again when the timer reaches 0.";
			sleep2 5000;
			addtimer [email protected],"Countdown#summ::OnCountdown";
			addtimer [email protected],"Countdown#summ::OnCountdown2";
			[email protected]$ = [email protected];
			showscript [email protected]$,.gid$;
			sleep2 [email protected];
			[email protected]$ = [email protected];
			showscript [email protected]$,.gid$;
			sleep2 [email protected];
			[email protected]$ = [email protected];
			showscript [email protected]$,.gid$;
			end;

		case 2:
		end;

	}

	end;
	}

	if ( .start == 1 && .player$ == strcharinfo(0) ) {
			if (@novacountdown == 0) { showscript "Countdown: You went too quickly. You lose.",.gid$; .start = 0; @NovaCount = gettimetick(2) + 30; stopnpctimer; end; }
			if (@novacountdown == 1) { showscript "Countdown: Nice one. You win this time "+.player$+".",.gid$; .start = 0; getitem 6767,35; @NovaCount = gettimetick(2) + 30; stopnpctimer; end; }
			if (@novacountdown == 2) { showscript "Countdown: You went too slowly. You lose.",.gid$; .start = 0; @NovaCount = gettimetick(2) + 30; stopnpctimer; end; }
			end;
		} else {
		dispbottom "Somebody is already playing Countdown. Wait for them to finish.";
		end;
		}

OnInit:
	.gid$ = getnpcid(0);
	end;

OnCountdown:
	@novacountdown = 1;
	end;

OnCountdown2:
	@novacountdown = 2;
	end;

OnTimer30000:
	stopnpctimer;
	showscript "Countdown: You went too slowly. You lose.",.gid$; .start = 0;
	end;

}
 
2. Character Deletion on Death: 
//===== rAthena Script =======================================
//= Character Deletion on Death Script
//===== By: ==================================================
//= Nova http://www.novaragnarok.com
//============================================================


-    script    PERMANENTDEATH    -1,{
end;

OnPCDieEvent:
    set [email protected],getcharid(0);
    message strcharinfo(0),"Game Over";
    atcommand "@kick "+strcharinfo(0);
    set [email protected], getarraysize( .char_delete$ );
    for ([email protected] = 0; [email protected] < [email protected]; [email protected]++) {
        query_sql("DELETE FROM `"+ .char_delete$[[email protected]] +"` WHERE `char_id` = '"+ [email protected] +"'");
    }
    query_sql "DELETE FROM `party` WHERE `leader_char` = '"[email protected]+"'";
    end;
    
OnInit:
setarray .char_delete$[0],"bonus_script","char","cart_inventory","elemental","friends","global_reg_value","guild","guild_member","homunculus","hotkey","inventory","memo","mercenary","mercenary_owner","pet","quest","sc_data","skill","skillcooldown";
end;
    
}
 
3. Instance Based Dead Branch Room:
//===== rAthena Script =======================================
//= Dead Branch Room Script
//===== By: ==================================================
//= Nova http://www.novaragnarok.com
//============================================================

npc_in,9,103,6	script	Branch Manager	89,{
	[email protected]$ = "[^3355FF Branch Manager ^000000]";
	[email protected]_id = getcharid(1);
	[email protected]_name$ = getpartyname([email protected]_id);
	[email protected]$ = "Dead Branch Room";

		if (getcharid(0) == getpartyleader([email protected]_id,2)) {
		mes [email protected]$;
		mes "Would you like to reserve a private Dead Branch Room? It'll cost 100K for two full hours.";
		mes "Remember, the room and everything inside it will disappear after this time frame.";
			next;
			switch(select("Rent Dead Branch Room:Enter the Room:Cancel")) {
			case 1:
				if (Zeny < 100000) { 
				mes [email protected]$;
				mes "Are you trying to sneak in without paying? You must bring me 100,000 Zeny if you wish to rent a room.";
				cutin "",255;
				end;
				}
				if (instance_create([email protected]$) < 0) {
					mes "Party Name: "[email protected]_name$;
					mes "Party Leader: "+strcharinfo(0);
					mes "^0000ff"[email protected]$+" ^000000- Reservation Failed!";
					close;
				}
				Zeny -= 100000;
				mes [email protected]$;
				mes "Talk to me again to enter the room now that your room has been reserved.";
				close;
			case 2:
				callsub L_Enter,0,1;
			case 3:
			mes [email protected]$;
			mes "Have a nice day then, and enjoy Dead Branching in Juperos.";
				close;
			}
		}
		mes [email protected]$;
		mes "You may enter a Dead Branch Room if it's been reserved by your party leader.";
		next;
		switch(select("Enter the Dead Branch Room:Cancel")) {
		case 1:
			callsub L_Enter,1,1;
		case 2:
			mes [email protected]$;
			mes "Have a nice day then, and enjoy Dead Branching in Juperos.";
			end;
		}
		
L_Enter:
	switch(instance_enter("Dead Branch Room")) {
	case 3:
		mes [email protected]$;
		mes "You are not in a party.";
		close;
	case 2:
			mes [email protected]$;
		mes "The private Dead Branch Room has not yet been reserved.";
		mes "The party leader did not pay the fee.";
		close;
	case 1:
			mes [email protected]$;
		mes "You can enter the room after making a party.";
		close;
	case 0:
		mapannounce "npc_in", strcharinfo(0)+" of the party, "[email protected]_name$+", is entering a Dead Branch Room.",bc_map,"0x00ff99",FW_NORMAL,12;
		end;
	}
}

//==================================================================================
//--------|Map Flags|---------------------------------------------------------------
//==================================================================================

pvp_n_1-3	mapflag	monster_noteleport
pvp_n_1-3	mapflag	nowarpto
pvp_n_1-3	mapflag	nomemo
pvp_n_1-3	mapflag	noteleport
pvp_n_1-3	mapflag	nosave	SavePoint
pvp_n_1-3	mapflag	nopenalty
 
Make sure you add the following line to your instance_db
16,Dead Branch Room,7200,pvp_n_1-3,99,95,pvp_n_1-3
Feel free to change the number to whatever is appropriate in your server.
 
You'll likely also need to unset the PvP mapflags from that map, or move it to a different map, and feel free to add the following to the map according to what you want for your server:
MvP Summoner, Healer, Kafra, Dead Branch Seller.
 
4. In-game Item Descriptions:
//===== rAthena Script =======================================
//= In-game Item Descriptions Script
//===== By: ==================================================
//= Nova http://www.novaragnarok.com
//============================================================

-	script	itemdescs	-1,{
end;

OnInit:
	bindatcmd "ii2",strnpcinfo(3)+"::OnAtcommand";
	bindatcmd "itemdesc",strnpcinfo(3)+"::OnAtcommand";
	end;
	
OnAtcommand:
  mes "^3355FF[ Item Description Search ]^000000";
  [email protected] = atoi([email protected]_parameters$[0]);
  mes "<ITEMLINK>"+getitemname([email protected])+"<INFO>"[email protected]+"</INFO></ITEMLINK>";
  mes "Click on the name of the item above.";
  end;

}
 
5. Dismounter:
 
npc_in,50,110,3	script	Dismounter	105,{

	mes "[ Dismounter ]";
	mes "It seems you're stuck on your mount! I'll make that thing run away for you.";
	next;
	
	switch(select("Please! I can't get rid of it.:No! I want to keep my mount.")) {
		case 1:
			mes "[ Dismounter ]";
			mes "OOGA BOOGA!";
			if(SC_ALL_RIDING>=1) { sc_start SC_ALL_RIDING,1,0; }
			mes "- Your mount has ran away -";
			end;
		case 2:
			mes "[ Dismounter ]";
			mes "Keep your mount for all I care!";
			end;
	}
}

If you rent a Halter Lead/Reins of Mount, sometimes they'll expire and leave your players stuck on them. This NPC gives them the option to dismount without the reins.

 

 

6. Level Up Function:

-	script	LevelUpQuotes	-1,{
end;

OnInit:
	setarray .q$,"I have advanced forward!","There's no stopping me now!","Look at me go!","There's more where that came from.","This isn't even my final form!";
	.num1 = getarraysize(.q$);
	setarray .maxq$,"I've made it!","I never thought I'd become this strong...","I have reached my final form.";
	.num2 = getarraysize(.maxq$);
	end;

OnPCBaseLvUpEvent:
	if( BaseLevel > 149 && getstatus(SC_ITEMBOOST) == 0 ) { sc_start SC_ITEMBOOST,180000,200; }
	if( BaseLevel == 175 ) { [email protected] = rand(.num2); showscript strcharinfo(0)+" : "+.maxq$[[email protected]]; }
	else { [email protected] = rand(.num1); showscript strcharinfo(0)+" : "+.q$[[email protected]]; }
	if( getstatus(SC_INCREASEAGI) != 1 ) { sc_start SC_INCREASEAGI,30000,10; }
	end;
}

This one displays one of several quotes when a player levels up on top of their head.

I removed the quotes but you can use your own, I have around 30 on my server. (Just replace Quote 1-3 and add as many as you'd like)

It also gives the player 30 seconds of level 10 INC agi, and if the player is 150 or higher, 3 minutes of Bubble Gum effect.

 
7. Dice Hack:
-	script	dicehack	-1,{
end;

OnInit:
	bindatcmd "dice",strnpcinfo(3)+"::OnAtcommand";
	end;
	
OnAtcommand:
	if (getgroupid() < 10) { end; }
	[email protected] = atoi([email protected]_parameters$[0]);
	[email protected] += 57; 
	emotion [email protected],1;
	end;

}

This one's a silly one. It lets your GMs use @dice 1 to @dice 6 to cheat at dice. It's fun. :]

 
8. The Claw:
//===== rAthena Script =======================================
//= The Claw Script
//===== By: ==================================================
//= Nova http://www.novaragnarok.com
//============================================================

moc_para01,13,25,6	script	The Claw	562,{
    set [email protected]$,"[ ^FF0000The Claw^000000 ]";
    mes [email protected]$;
    mes "Instructions:";
	mes "You may pay 250 coins for a random headgear, or 500 to pick a specific headgear.";
	mes "New hats will be in stock every month.";
    next;
	
		switch(select("Random Hat",""+.hat1$+"",""+.hat2$+"",""+.hat3$+"",""+.hat4$+"")) {
			case 1:
				mes [email protected]$;
				mes "Are you sure you want a random hat for 250 Gold Coins?";
				next;
				switch(select("Yes","No")) {
					case 1:
						if (countitem(671)) < (500) { mes [email protected]$,"You do not have enough Gold Coins to operate The Claw."; close; }
						if (checkweight([email protected],1) == 0 ) { mes [email protected]$,"The Claw detects you are over your weight limit."; close; }
						set .HatRandomArray,rand(1,4);
						delitem 671,250;
						if(.HatRandomArray==1) { getitem .hatid1,1; }
						if(.HatRandomArray==2) { getitem .hatid2,1; }
						if(.HatRandomArray==3) { getitem .hatid3,1; }
						if(.HatRandomArray==4) { getitem .hatid4,1; }
						mes [email protected]$;
						mes "The Claw has chosen. Here is your hat.";
						close;
					case 2:                 
						mes [email protected]$;
						mes "Come back and play again!";
							close;
				}
				end;
			case 2:
				[email protected] = .hatid1;
				[email protected]$ = .hat1$;
				break;
			case 3:
				[email protected] = .hatid2;
				[email protected]$ = .hat2$;
				break;
			case 4:
				[email protected] = .hatid3;
				[email protected]$ = .hat3$;
				break;
			case 5:
				[email protected] = .hatid4;
				[email protected]$ = .hat4$;
				break;
		}
            
		mes [email protected]$;
		mes "Are you sure you want to buy: ";
		mes "<ITEMLINK>"[email protected]$+"<INFO>"[email protected]+"</INFO></ITEMLINK> ?";
		next;
		
			switch(select("Buy for 500 Gold Coins","Cancel")) {
				case 1:
					if (countitem(671)) < (500) { mes [email protected]$,"You do not have enough Gold Coins to operate The Claw."; close; }
					if (checkweight([email protected],1) == 0 ) { mes [email protected]$,"The Claw detects you are over your weight limit."; close; }
					delitem 671,500;
					getitem [email protected],1;
					mes [email protected]$;
					mes "The Claw has retrieved your "[email protected]$+". Enjoy it.";
					close;	
				case 2:
					mes [email protected]$;
					mes "Come back and play again!";
					close;
			}
	
OnInit:
	.hatid1 = 5474;
	.hatid2 = 5102;
	.hatid3 = 18678;
	.hatid4 = 5793;
	.hat1$ = getitemname(.hatid1);
	.hat2$ = getitemname(.hatid2);
	.hat3$ = getitemname(.hatid3);
	.hat4$ = getitemname(.hatid4);
	end;
	
}

Just change the IDs of the hats you want to rotate in for the month at the bottom, and change the Gold Coin text as well as the ID to whatever item you wish.

 

 
9. Search iRO Wiki/RMS Script (In-Game Browser):
 
//===== rAthena Script =======================================
//= Search iRO Wiki/RMS Script (In-Game Browser)
//===== By: ==================================================
//= Nova http://www.novaragnarok.com
//============================================================

-	script	NovaSearch	-1,{
end;

OnInit:
	bindatcmd "rms",strnpcinfo(3)+"::OnAtcommand";
	bindatcmd "irowiki",strnpcinfo(3)+"::OnAtcommand";
	bindatcmd "search",strnpcinfo(3)+"::OnAtcommand";
	.n$ = "^3355FF[ Search Engine ]^000000";
	end;
	
OnAtcommand:
	mes .n$;
	mes "Note that some information on RMS and iRO wiki might be outdated or inaccurate.";
	mes "Take your search results with a grain of salt!";
	next;
	
		switch(select("RMS Monster Search:RMS Item Search:iRO Wiki Search:Close")){
			case 1:
				input [email protected]$;
				mes .n$;
				mes "<URL>Click here to open the browser!<INFO>http://ratemyserver.net/index.php?all_mob_select=%23&mob_id=&mob_name="[email protected]$+"&element=-1&race=-1&size=-1&mlvsn=0&mlv=&mlv2=&bxpsn=0&exp=&exp2=&jxpsn=0&jexp=&jexp2=&flee=&dr=95&hit=&hr=100&rgc=0&immu=0&mvp=0&minib=0&aggr=0&assi=0&sense=0&det=0&natk=0&immo=0&chcha=0&loot=0&chtar=0&plt=0&sort_r=0&sort_o=0&page=re_mob_db&f=1&mob_search=Search,1000,1000</INFO></URL>";
				close;
			case 2:
				input [email protected]$;
				mes .n$;
				mes "<URL>Click here to open the browser!<INFO>http://ratemyserver.net/index.php?page=re_item_db&item_id=&iname="[email protected]$+"&itype=-1&islot_sign=-1&islot=-1&ij%5B+%5D=-1&iju=-1&idesc=&iscript=&i_ele=-1&i_status=-1&i_race=-1&i_bonus=-1&icfix=&sort_r=0&sort_o=0&isearch=Search,1000,1000</INFO></URL>";
				close;
			case 3:
				input [email protected]$;
				mes .n$;
				mes "<URL>Click here to open the browser!<INFO>http://irowiki.org/w/index.php?search="[email protected]$+",1000,1000</INFO></URL>";
				close;
			case 4:
				end;
		}
	end;
}
This one's pretty simple but neat as well. It allows opening iRO wiki and RMS with searches on the in-game browser.
 
10. Crystal Chaos Mini-Game
//===== rAthena Script =======================================
//= Crystal Chaos Mini-Game Script
//===== By: ==================================================
//= Nova http://www.novaragnarok.com
//============================================================

prontera,152,175,6	script	Crystal Chaos#summ	762,{

	[email protected]$ = "[ ^FF0000Crystal Chaos^000000 ]";
	mes [email protected]$;
	mes "You must think you have good eyes.";
	mes "When the shadow stops moving, select which shadow you think it stopped on.";
	mes "Playing costs ^3355FF"+.costqty+"x "+getitemname(.costid)+"^000000. If you win, you will get ^3355FF"+.rewardqty+"x "+getitemname(.rewardid)+"^000000.";
	next;
	
		switch(select("Play Crystal Chaos:Leave")){
			case 1:
				if(.start == 0) {
				
					if (@NovaCrystal > gettimetick(2)) {
						[email protected] = @NovaCrystal - gettimetick(2); 
						dispbottom "Crystal Chaos: You must wait "[email protected]+" seconds before playing Crystal Chaos again."; 
						end; 
					}
					
					if(countitem(.costid) < .costqty) {
						mes [email protected]$; 
						mes "You don't have enough "+getitemname(.rewardid)+"."; 
						end; 
					}
					
				delitem .costid,.costqty;
				@NovaCrystal = gettimetick(2) + 60;
				.start = 1;
				initnpctimer;
				
				mes [email protected]$;
				mes "Press next to start the game.";
				mes "Pay close attention to the Crystal's shadow,";
				mes "When the shadow stops moving, select which shadow you think it stopped on.";
				next;
				
				mes [email protected]$;
				mes "- Round 1 -";
				donpcevent "Crystal#summshufreal::OnRound1";
				donpcevent "Crystal#summshufreal::OnEnable";
				mes "Which Crystal did the shadow stop on?";
				next;
				
				[email protected] = .x[select("Left Crystal:Middle Crystal:Right Crystal") - 1];
				
				if(getvariableofnpc(.shadow, "Crystal#summshufreal") != [email protected] ) {
					showscript "You lose",.pchaos$; 
					.start = 0; 
					@NovaCrystal = gettimetick(2) + 60; 
					end; 
				}
				
				mes [email protected]$;
				mes "Congratulations, now for round 2!";
				showscript "Round 2",.pchaos$;
				next;
				
				mes [email protected]$;
				mes "- Round 2 -";
				donpcevent "Crystal#summshufreal::OnRound2";
				donpcevent "Crystal#summshufreal::OnEnable";
				mes "Which Crystal did the shadow stop on?";
				next;
				
				[email protected] = .x[select("Left Crystal:Middle Crystal:Right Crystal") - 1];
				
				if(getvariableofnpc(.shadow, "Crystal#summshufreal") != [email protected] ) {
					showscript "You lose",.pchaos$; 
					.start = 0; 
					@NovaCrystal = gettimetick(2) + 60; 
					end; 
				}
				
				mes [email protected]$;
				mes "Congratulations, now for round 3!";
				showscript "Round 3",.pchaos$;
				next;
				
				mes [email protected]$;
				mes "- Round 3 -";
				donpcevent "Crystal#summshufreal::OnRound3";
				donpcevent "Crystal#summshufreal::OnEnable";
				mes "Which Crystal did the shadow stop on?";
				next;
				
				[email protected] = .x[select("Left Crystal:Middle Crystal:Right Crystal") - 1];
				
					if(getvariableofnpc(.shadow, "Crystal#summshufreal") != [email protected] ) {
						showscript "You lose",.pchaos$; 
						.start = 0; 
						@NovaCrystal = gettimetick(2) + 60; 
						end; 
					}
				
				mes [email protected]$;
				mes "Congratulations, now for the final round!";
				showscript "Final Round!",.pchaos$;
				next;
				
				mes [email protected]$;
				mes "- Final Round -";
				donpcevent "Crystal#summshufreal::OnRound4";
				donpcevent "Crystal#summshufreal::OnEnable";
				mes "Which Crystal did the shadow stop on?";
				next;
				
				[email protected] = .x[select("Left Crystal:Middle Crystal:Right Crystal") - 1];
				
					if(getvariableofnpc(.shadow, "Crystal#summshufreal") != [email protected] ) {
						showscript "You lose",.pchaos$; 
						.start = 0; 
						@NovaCrystal = gettimetick(2) + 60; 
						end; 
					}

				showscript "You win!",.pchaos$;
				getitem .rewardid,.rewardqty;
				.start = 0;
				@NovaCrystal = gettimetick(2) + 60;
				end;
				
				} else {
					mes [email protected]$;
					mes "Somebody is already playing Crystal Chaos! Please wait until they finish.";
				}

				end;

			case 2:
				mes [email protected]$;
				mes "Come back when you're ready to play.";
				end;
		}
		
OnTimer60000:
	.start = 0;
	stopnpctimer;
	end;

OnInit:
	.start = 0;
	.pchaos$ = getnpcid(0);
	//Configure the cost of playing as well as the reward.
	.costid = 6767;
	.costqty = 2;
	.rewardid = 6767;
	.rewardqty = 30;
	//Set the following array to be the X Coordinates of the 3 following NPCs
	setarray .x,158,156,154;
	end;
}

//Make sure these NPCs are spaced apart by 2 cells on the X axis. (104, 102, 100) 
//The Coordinates of the last Crystal should be the same as that of the middle one.
//If you change the Y coordinate (174) Make sure you also change it below inside Crystal#summshufreal

prontera,158,174,4	script	Right Crystal#summshuf1	1914,{
end;
}

prontera,156,174,4	script	Middle Crystal#summshuf2	1914,{
end;
}

prontera,154,174,4	script	Left Crystal#summshuf3	1914,{
end;
}

prontera,156,174,4	script	Crystal#summshufreal	1914,{
end;

OnInit:
	npcspeed 20;
	//Set the following array to be the X Coordinate of the 3 previous NPCs (Same as above)
	setarray .x,158,156,154;
	disablenpc "Crystal#summshufreal";
	.y = 174; //Set to be the Y coordinate of the previous NPCs
	end;

OnEnable:
	enablenpc "Crystal#summshufreal";
	.r1 = rand(0,2);
	movenpc "Crystal#summshufreal",.x[.r1],.y;
	sleep .round;

		for ([email protected] = 0; [email protected] < 15; [email protected]++){
			.r2 = rand(0,2);
			while (.r2 == .r1)
			 .r2 = rand(0,2);
			movenpc "Crystal#summshufreal",.x[.r2],.y;
			sleep .round;
			.r1 = rand(0,2);
			while (.r1 == .r2)
			 .r1 = rand(0,2);
			movenpc "Crystal#summshufreal",.x[.r1],.y;
			.shadow = .x[.r1];
			sleep .round;
		}

	disablenpc "Crystal#summshufreal";
	end;

// Speed Configuration, change at will.
OnRound1:
	.round = 150;
	end;

OnRound2:
	.round = 100;
	end;

OnRound3:
	.round = 70;
	end;

OnRound4:
	.round = 45;
	end;

}
This one's one of my favorites despite being pretty simple. Make sure you configure it properly!
 

I'll be adding more scripts over time. Oh and make sure to relocate these as most are from custom maps.

Edited by Nova
  • Upvote 7

Share this post


Link to post
Share on other sites

Thanks guys! Sadly my server is currently undergoing constant DDoS attacks so it's a bit unstable. ._. Hope to get past it soon, I'll add a new script to the opener.

Share this post


Link to post
Share on other sites

Thanks guys! Sadly my server is currently undergoing constant DDoS attacks so it's a bit unstable. ._. Hope to get past it soon, I'll add a new script to the opener.

What happen?

Share this post


Link to post
Share on other sites

We're clear for now. :] Server's back up! Though in order to not derail the thread, I'll add another script!

 

Shared The Claw

Edited by Nova

Share this post


Link to post
Share on other sites

You're welcome Nagad! I added one more script this evening, you'll see I'm a big fan of in-game links. Not sure what to share for my 10th script!

Fixed up the level one and adding some quotes to it so it's not so bare.

Edited by Nova
  • Upvote 1

Share this post


Link to post
Share on other sites

Added one more Mini-Game from my Summer Festival at the bottom! Hope you enjoy it.

Share this post


Link to post
Share on other sites

Ah yeah I've yet to merge it. I can only imagine how many of my scripts will blow up, but it'll be worth it. :[

I'll update that one soon. Thanks for the notice Nana.

  • Upvote 1

Share this post


Link to post
Share on other sites

Huh very strange, it worked perfectly for me last time I loaded it. Does the console throw up any warnings when it happens or?

Share this post


Link to post
Share on other sites

Hi, i'm having this error with Countdown Mini Game

 

[Error]:  Loading NPC file: npc/seven/event/countdown.txt
script error on npc/seven/event/countdown.txt line 37
    parse_line: expect command, missing function name or calling undeclared func                                                                              tion
    32 :                        [email protected] = rand(8,11);
    33 :                        [email protected] = rand(600,1000);
    34 :                        [email protected] = [email protected]*[email protected];
    35 :                        [email protected] = [email protected][email protected];
    36 :                        emotion 27;
*   37 :                        's'howscript "Countdown: "+.player$+"! Count in                                                                               your head, and click me again when the timer reaches 0.",.gid$;
    38 :                        dispbottom "Countdown: Count in your head, and c                                                                              lick me on the NPC again when the timer reaches 0.";
    39 :                        sleep2 5000;
    40 :                        addtimer [email protected],"Countdown#summ::OnCountdown";
    41 :                        addtimer [email protected],"Countdown#summ::OnCountdown2"                                                                              ;
    42 :                        [email protected]$ = [email protected];

 

 

 

Share this post


Link to post
Share on other sites

 

It seems "showscript" is not working for me..

Update your server at least to https://github.com/rathena/rathena/commit/6ad4ed13d130702b99d0dbe54767c6d6945d4876

 

 

 

 

Hi, i'm having this error with Countdown Mini Game

 

[Error]:  Loading NPC file: npc/seven/event/countdown.txt
script error on npc/seven/event/countdown.txt line 37
    parse_line: expect command, missing function name or calling undeclared func                                                                              tion
    32 :                        [email protected] = rand(8,11);
    33 :                        [email protected] = rand(600,1000);
    34 :                        [email protected] = [email protected]*[email protected];
    35 :                        [email protected] = [email protected][email protected];
    36 :                        emotion 27;
*   37 :                        's'howscript "Countdown: "+.player$+"! Count in                                                                               your head, and click me again when the timer reaches 0.",.gid$;
    38 :                        dispbottom "Countdown: Count in your head, and c                                                                              lick me on the NPC again when the timer reaches 0.";
    39 :                        sleep2 5000;
    40 :                        addtimer [email protected],"Countdown#summ::OnCountdown";
    41 :                        addtimer [email protected],"Countdown#summ::OnCountdown2"                                                                              ;
    42 :                        [email protected]$ = [email protected];

 

 

 

read comments before posting a problem maybe?

Share this post


Link to post
Share on other sites

 

Hi, i'm having this error with Countdown Mini Game

 

[Error]:  Loading NPC file: npc/seven/event/countdown.txt
script error on npc/seven/event/countdown.txt line 37
    parse_line: expect command, missing function name or calling undeclared func                                                                              tion
    32 :                        [email protected] = rand(8,11);
    33 :                        [email protected] = rand(600,1000);
    34 :                        [email protected] = [email protected]*[email protected];
    35 :                        [email protected] = [email protected][email protected];
    36 :                        emotion 27;
*   37 :                        's'howscript "Countdown: "+.player$+"! Count in                                                                               your head, and click me again when the timer reaches 0.",.gid$;
    38 :                        dispbottom "Countdown: Count in your head, and c                                                                              lick me on the NPC again when the timer reaches 0.";
    39 :                        sleep2 5000;
    40 :                        addtimer [email protected],"Countdown#summ::OnCountdown";
    41 :                        addtimer [email protected],"Countdown#summ::OnCountdown2"                                                                              ;
    42 :                        [email protected]$ = [email protected];

 

 

 

 

Update your rAthena to the latest 'Showscript' is your problem, might your emulator is outdated.

Share this post


Link to post
Share on other sites

Hi,

Very nice script..

But 4. In-game Item Descriptions: I have problem.. Do I need to edit something to make it works? Because when I put @ii2 501, it not works.. Just show

<ITEMLINK>Red Potion <INFO>501</INFO></ITEMLINK>

Click on the name of the item above.

 

Share this post


Link to post
Share on other sites

Depending on your client you might need to replace <ITEMLINK> in your script with just <ITEM>

Some clients don't support the feature.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now