Jump to content
  • 0

Triva Event translate


Takuyakii

Question


  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.02
  • Content Count:  206
  • Reputation:   10
  • Joined:  08/30/19
  • Last Seen:  

Good day rA,

 

can some one translate this into compatibility of rathena?

1. i want this to be a normal npc daily quest npc.

2. 24 hours cool down

Thank you!

 

Here's the code from herc

//===== Hercules Script ====================================================================
// Automatic Trivia Event
//===== Originally initiated By: ===========================================================
// Capuche http://rathena.org/board/user/5984-capuche/
//===== Changed By: ========================================================================
// Habilis
//===== Current Version: ===================================================================
// 1.5
//===== Compatible With: ===================================================================
// Hercules
//===== Description: =======================================================================
//- Enhanced version of facts auto event. The Event is announced. The NPC asks 10 random 
//- questions from a question bank. Players have to write the answer to the main chat.
//- Players don't need to worry about CAPITAL letters.
//- 1) Question is asked by the NPC.
//- 2) If there is no answer after 15 seconds NPC will give a hint.
//- 3) IF there is still no answer after a hint, the question is skipped.
//- 4) If the right answer is given, player is announced and reward is given
//==========================================================================================
//=====From eAthena to rAthena to Hercules==================================================
//==========Without this original author, this script will never exist======================
//========Original author Credits===========================================================
//=====================================================DONT=================================
// ToastOfDoom ================================================REMOVE=======================
// RxChris	   =========================================================THIS================
// Hellflaem   ================================================================CREDIT=======
//==========================================================================================
//==========================================================================================


-	script	Trivia_Auto_Event	FAKE_NPC ,{
	
	OnMinute18:
	//OnEventStart:
		// Make the NPC appear so that players can begin to gather around
		// and perhaps read the rules
		enablenpc "Trivia#main";
		.@nbAnnounce = 3; // How many times announce event with minute intervals
		while( .@nbAnnounce > 0 ) {
			announce "The Trivia Event will begin south of Prontera in " + .@nbAnnounce + " minute(s).",bc_all | bc_blue;
			.@nbAnnounce--;
			sleep 60000;
		}
	    announce "The Trivia Event has begun!",bc_all | bc_blue;
		donpcevent "Trivia#main::OnEventBegin";
		end;
		
	OnStop:	
	OnEventTimeOut:
		disablenpc "Trivia#main";
		end;
	
	OnInit:
		disablenpc "Trivia#main";
		end;
}


prt_fild08,137,365,6	script	Trivia#main	4_F_JOB_ASSASSIN,{

OnTalk:
	mes "[^0055FF ::: Trivia ::: ^000000]";
	mes " ";
	mes "Very simple event!";
	mes " ";
	mes "I will be asking random questions.";
	mes " ";
	mes "All you have to do is shout the answer in the main chat!";
	mes " ";
	mes "Do not worry about the capital letters, I can recognize the right answer, when I see one ;)";
	mes "Worry about the spelling though.";
	
	close2;
	end;

function DefineQuestion; function GetQuestion; function GetAnswer; function GetHint;

OnEventBegin:
L_loop:
	do {
		.@i = rand(.numQuestions); // Randomly picks a fact.
	} while(.already_asked[.@i]);
	
	.already_asked[.@i] = true;
	
	if( !.count ) {
		npctalk "Please answer all my questions:";
		sleep 2000;
		npctalk "If your answer is correct, you will obtain prizes!";
	}
	.count++;
	sleep 4000;
	npctalk "[" + .count + "/" + .max_questions + "] " + GetQuestion(.@i);
	defpattern 1, "([^:]+):.*\\s" + GetAnswer( .@i ) + "(.*)", "Right";
	.Ans$ = GetAnswer( .@i );
	.Hint$ = GetHint( .@i );;
	activatepset 1;
	initnpctimer;
	end;
	
OnTimer15000:
	npctalk "[Hint] : " + .Hint$;
	end;
OnTimer30000:
	npctalk "Sorry, You took too long to answer.";
	callsub L_continue;
	end;
	
Right:
	npctalk "Correct, " + strcharinfo(0) + "! The answer is  " + .Ans$ + ".";
	
	// Winner gets reward in Zeny
	//Zeny += 1000000; // Alotta bax ;)
	
	// Winner gets reward in Item
	//getitem 607, rand( 1,10 ); // Randomly picks from 1 to 10   607 --Ygg berry~ .
	
	// Winner gets reward in Points
	.@pointsWon = rand(.minPoints,.maxPoints);
	#LROEVENTPOINTS = #LROEVENTPOINTS + .@pointsWon;
	dispbottom .ServerName$  + " : You won " + .@pointsWon + " event points.";
	
L_continue:
	deletepset 1;
	stopnpctimer;
	if( .count < .max_questions ) {
		callsub L_loop; // loop 10 questions
	}
	.count = 0; // end of event
	.Q_session = 0;
	npctalk "That's all for now. Thanks for participating in this event ^^";
	deletearray .already_asked, getarraysize(.already_asked);
	emotion e_thx;
	sleep 2000;
	disablenpc "Trivia#main";
	end;

function DefineQuestion {
	.@a = .numQuestions % 128;
	.@b = .numQuestions / 128;

	setd(".question_" + .@a + "$[" + .@b + "]", getarg(0));
	setd(".answer_" + .@a + "$[" + .@b + "]", getarg(1));
	setd(".hint_" + .@a + "$[" + .@b + "]", getarg(2));
	
	.numQuestions = .numQuestions + 1;
	return;
}
function GetQuestion {
	return getd(".question_" + (getarg(0) % 128) + "$[" + (getarg(0) / 128) + "]");
}
function GetAnswer {
	return getd(".answer_" + (getarg(0) % 128) + "$[" + (getarg(0) / 128) + "]");
}
function GetHint {
	return getd(".hint_" + (getarg(0) % 128) + "$[" + (getarg(0) / 128) + "]");
}

OnInit:
	.ServerName$ = "[Your boring server]";
	.minPoints = 10;
	.maxPoints = 25;
	.max_questions = 10;	// 10 questions if more than 10 questions are defined
	DefineQuestion("When you create a character in this game, how many primary stats are there?","6", "STR, AGI, VIT, INT, DEX, LUK");
	DefineQuestion("Wizard skill Water Ball can only be cast over deluge or ____?", "water", "It is liquid.");
	DefineQuestion("Which item is required to create a guild?", "emperium", "An Emperial item");
	DefineQuestion("which skill is beneficial to the living and damaging to the undead?", "heal", "It restores health.");
	DefineQuestion("In which town Thieves guild is located?", "morocc", "A town in the sorgat desert.");
	DefineQuestion("In which town Merchants guild is located?", "alberta", "It's a portuary town.");
	DefineQuestion("In which town Archers guild is located?", "payon", "");
	DefineQuestion("What property do Izlude dungeon monsters possess?", "water", "It is liquid.");
	DefineQuestion("What status can be inflicted with the Hammer Fall skill?", "stun", "Did I see the stars around your head?");
	DefineQuestion("How much Zeny one Jellopy is worth?", "3", "Just get it from a Poring.");
	DefineQuestion("Which town has the most Dancers?", "comodo", "An island in the warm waters.");
	DefineQuestion("How many different poring-like monsters you can meet near prontera, including mini bosses?", "9", "poring, drops, poporing, marin, santa poring, mastering, angeling, arcangeling, ghostring");
	DefineQuestion("What property counters best the water property?", "wind", "It's Blowing");
	DefineQuestion("What property counters best the undead property?", "holy", "Perhaps an acolyte or a priest can tell you?");
	DefineQuestion("What kind of food both Vanilmirth and Christmas Goblin like?", "scel", "Yellow jeloppy");
	DefineQuestion("How many cities are in Rune-Midgrad kingdom?", "11", "Prontera, Izlude, Jawaii, Geffen, Payon, Morocc, Alberta, Comodo, Umbala, Al De Baran, Lutie");
	DefineQuestion("What city is the capital of Rune-Midgrad kingdom?", "prontera", "The most central town of all.");
	DefineQuestion("Which food is able to fully restore health and mana? _________ _____", "yggdrasil berry", "A berry growing on the most majestic tree!");
	DefineQuestion("Which one of those is the fastest weapon type? Sword, Dagger, Staff, Mace", "dagger", "Something that has to do with the length of the blade.");
	DefineQuestion("Which one of those id the cheapest? Jellopy  Large Jellopy   Royal Jelly   Honey", "jellopy", "Dropped by Porings.");
	DefineQuestion("Which monster drops a pet taming item to tame Deviruchi?", "joker", "Why so serious?");
	
	if( .numQuestions < .max_questions ) .max_questions = .numQuestions;
	end;
}

 

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

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

Guest
Answer this question...

×   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...