Jump to content
  • 0

Adding Pub Room


Question

Posted (edited)

I have a quest shop here, i dont know where i put the pub room script here.

//===== rAthena Script =======================================
//= Euphy's Quest Shop
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.6
//===== Compatible With: =====================================
//= rAthena SVN r16862+
//===== Description: =========================================
//= A dynamic quest shop based on Lunar's, with easier config.
//= Includes support for multiple shops & cashpoints.
//= Item Preview script by ToastOfDoom.
//============================================================

// Shop NPCs -- supplying no argument displays entire menu.
//	callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}};
//============================================================
turbo_room,121,77,4	script	Quest Shop#1	998,{ callfunc "qshop"; }


// Script Core
//============================================================
-	script	quest_shop	-1,{ 
function Add; function Chk; function Slot; function A_An;
OnInit:
	freeloop(1);

// -----------------------------------------------------------
//  Basic shop settings.
// -----------------------------------------------------------

	set .Announce,1;	// Announce quest completion? (1: yes / 0: no)
	set .ShowSlot,1;	// Show item slots? (2: all equipment / 1: if slots > 0 / 0: never)
	set .ShowID,0;  	// Show item IDs? (1: yes / 0: no)
	set .ShowZeny,0;	// Show Zeny cost, if any? (1: yes / 0: no)
	set .MaxStack,100;	// Max number of quest items purchased at one time.

// -----------------------------------------------------------
//  Points variable -- optional quest requirement.
//	setarray .Points$[0],"<variable name>","<display name>";
// -----------------------------------------------------------

	setarray .Points$[0],"#CASHPOINTS","Cash Points";

// -----------------------------------------------------------
//  Shop IDs -- to add shops, copy dummy data at bottom of file.
//	setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...};
// -----------------------------------------------------------

	setarray .Shops$[1],"Headgears","Bags";

// -----------------------------------------------------------
//  Quest items -- do NOT use a reward item more than once!
//	Add(<shop ID>,<reward ID>,<reward amount>,
//	    <Zeny cost>,<point cost>,
//	    <required item ID>,<required item amount>{,...});
// -----------------------------------------------------------

	Add(1,30000,1,0,0,30029,1,7294,1,7513,3,7447,300,7446,300,674,50);
	Add(1,5471,1,0,0,30000,1,5470,1,7301,800,968,5,7513,5,7446,250,7447,250,674,50);
	//Add(1,5420,1,0,0,5421,1,7451,10,7122,500,7097,500,7120,500,674,50);
	Add(1,30010,1,0,0,2229,1,983,20,7513,5,7566,5,658,5,923,800,674,50);
	Add(1,30012,1,0,0,2229,1,978,20,7513,5,7566,5,658,5,923,800,674,50);
	Add(1,30013,1,0,0,2229,1,973,10,974,10,7513,5,7566,5,923,800,658,5,674,50);
	Add(1,30016,1,0,0,2229,1,973,10,974,10,7513,5,7566,5,923,800,658,5,674,50);
	Add(1,30030,1,0,0,2229,1,976,20,7513,5,7566,5,658,5,923,800,674,50);
	Add(1,30032,1,0,0,2229,1,979,20,7513,5,7566,5,658,5,923,800,674,50);
	Add(1,30037,1,0,0,2229,1,980,20,7513,5,7566,5,658,5,923,800,674,50);
	Add(1,30039,1,0,0,2229,1,973,10,974,10,7513,5,7566,5,658,5,923,800,674,50);
	Add(1,30041,1,0,0,2229,1,981,20,7513,5,7566,5,658,5,923,800,674,50);
	Add(1,30044,1,0,0,2229,1,975,20,7513,5,7566,5,658,5,923,800,674,50);
	Add(1,30046,1,0,0,2229,1,973,10,974,10,7513,5,7566,5,658,5,923,800,674,50);
	Add(1,30052,1,0,0,2229,1,4372,20,7513,5,7566,5,658,5,923,800,674,50);
	
	Add(2,30001,1,0,0,7446,500,674,50);
	Add(2,30002,1,0,0,7576,500,674,50);
	Add(2,30017,1,0,0,7447,500,674,50);
	Add(2,30028,1,0,0,7448,500,674,50);
	Add(2,30038,1,0,0,7575,500,674,50);
	Add(2,30042,1,0,0,7577,500,1013,500,7576,500,7575,500,674,50);
	Add(2,30040,1,0,0,7445,500,674,50);

// -----------------------------------------------------------

	freeloop(0);
	set .menu$,"";
	for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) {
		set .menu$, .menu$+.Shops$[.@i]+":";
		npcshopdelitem "qshop"+.@i,909;
	}
	end;

OnMenu:
	set .@size, getarraysize(@i);
	if (!.@size) set .@i, select(.menu$);
	else if (.@size == 1) set .@i, @i[0];
	else {
		for(set .@j,0; .@j<.@size; set .@j,.@j+1)
			set .@menu$, .@menu$+.Shops$[@i[.@j]]+":";
		set .@i, @i[select(.@menu$)-1];
	}
	deletearray @i[0],getarraysize(@i);
	if (.Shops$[.@i] == "") {
		message strcharinfo(0),"An error has occurred.";
		end;
	}
	dispbottom "Select one item at a time.";
	callshop "qshop"+.@i,1;
	npcshopattach "qshop"+.@i;
	end;

OnBuyItem:
	// .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... }
	setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]);
	copyarray .@q[3],getd(".q_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+.@q[0]));
	set .@q[2],.@q[1]*.@q[3];
	if (!.@q[2] || .@q[2] > 30000) {
		message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+".";
		end;
	}
	mes "[Quest Shop]";
	mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000";
	mes "Requirements:";
	if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000";
	if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000";
	if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2)
		mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000";
	next;
	setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11);
	if (((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512)) && @qe[2] > 0)
		set .@preview,1;
	addtimer 1000, strnpcinfo(0)+"::OnEnd";
	while(1) {
		switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[6])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
		case 1:
			if (@qe[0]) { 
				mes "[Quest Shop]";
				mes "You're missing one or more quest requirements.";
				close;
			}
			if (!checkweight(.@q[0],.@q[2])) {
				mes "[Quest Shop]";
				mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
				close;
			}
			if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]);
			if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]);
			if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2)
				delitem .@q[.@i],.@q[.@i+1]*.@q[1];
			getitem .@q[0],.@q[2];
			if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0;
			specialeffect2 699;
			close;
		case 2:
			setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), 1;
			if (@qe[1] & 1) changelook LOOK_HEAD_BOTTOM, @qe[2];
			if (@qe[1] & 256) changelook LOOK_HEAD_TOP, @qe[2];
			if (@qe[1] & 512) changelook LOOK_HEAD_MID, @qe[2];
			break;
		case 3:
			close;
		}
	}

OnEnd:
	if (@qe[6]) {
		changelook LOOK_HEAD_BOTTOM, @qe[3];
		changelook LOOK_HEAD_TOP, @qe[4];
		changelook LOOK_HEAD_MID, @qe[5];
	}
	deletearray @qe[0],7;
	end;

function Add {
	if (getitemname(getarg(1)) == "null") {
		debugmes "Quest reward #"+getarg(1)+" invalid (skipped).";
		return;
	}
	setarray .@j[0],getarg(2),getarg(3),getarg(4);
	for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) {
		if (getitemname(getarg(.@i)) == "null") {
			debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped).";
			return;
		} else
			setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1);
	}
	copyarray getd(".q_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j);
	npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0);
	return;
}

function Chk {
	if (getarg(0) < getarg(1)) {
		set @qe[0],1;
		return "^FF0000";
	} else
		return "^00FF00";
}

function Slot {
	set .@s$,getitemname(getarg(0));
	switch(.ShowSlot) {
		case 1: if (!getitemslots(getarg(0))) return .@s$;
		case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]";
		default: return .@s$;
	}
}

function A_An {
	setarray .@A$[0],"a","e","i","o","u";
	set .@B$, "_"+getarg(0);
	for(set .@i,0; .@i<5; set .@i,.@i+1)
		if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);
	return "a "+getarg(0);
}
}

function	script	qshop	{
	deletearray @i[0],getarraysize(@i);
	for(set .@i,0; .@i<getargcount(); set .@i,.@i+1)
		set @i[.@i],getarg(.@i);
	doevent "quest_shop::OnMenu";
	close;
}

// Dummy shop data -- copy as needed.
//============================================================
-	shop	qshop1	-1,909:-1
-	shop	qshop2	-1,909:-1
-	shop	qshop3	-1,909:-1
-	shop	qshop4	-1,909:-1
-	shop	qshop5	-1,909:-1

Also here, Cash point checker.

turbo_room,121,83,6	script	Free/Cash Point Checker	703,{

OnAtCommand:
OnPCLoginEvent:
	dispbottom "You got "+#CASHPOINTS+" cash points.";
	end;
	
OnInit:
	bindatcmd "cashpoints",strnpcinfo(3)+"::OnAtCommand";
	end;
}

I also need help here, i dont know why after this disguise event, its not auto warping.

/*//----------------------------------------------------------------//
//----------------Scripted by Spera---------------------------------//
//------------------FinalStrikeRO-----------------------------------//
//--------------------Disguise Event NPC v2-------------------------//
/-------------------------------------------------------------------//*/


quiz_02,355,384,5	script	Disguise CP		968,{

if (getgmlevel()<20)
{
	mes "^3399FF[Disguise CP]^000000";	
	mes "Sorry, you are not a GM!";
	close;
}

mes "^3399FF[Disguise CP]^000000";	
mes "Hello GameMaster!";
mes "What do you want to do?";
switch(select("Start Event:Stop Event:Set number of rounds[^E50000"+$guessrounds+"^000000]:Set prize^E50000 ["+getitemname($guessprize)+"]^000000 ^E50000 ["+ $guessprizecount + "]^000000:Nothing"))
{
	case 1: 
	{
		next;
		mes "^3399FF[Disguise CP]^000000";
		mes "Please confirm by typing START."; 
		input .@confirm$;          
		if (.@confirm$ == "START") 
		{
			donpcevent "guessAnnouncer::OnGMStart"; 
			close;
		}
		mes "Confirmation failed";
		close;
		break;
	}
	case 2:
	{
		next;
		mes "^3399FF[Disguise CP]^000000";
		mes "Please confirm by typing STOP."; 
		input .@confirm$;          
		if (.@confirm$ == "STOP") 
		{
			donpcevent "guessAnnouncer::OnGMStop";
			close;
		}
		mes "Confirmation failed";
		close;
		break;
		
	}
	
	case 3:
	{
		next; mes "^3399FF[Disguise CP]^000000";
		mes "Please type in the new number."; 
		input $guessrounds; 
		if ($guessrounds > 30) set $guessrounds, 30;
		else if ($guessrounds < 1) set $guessrounds, 1;
		close;
	}
	
	case 4:
	{
		next; mes "^3399FF[Disguise CP]^000000";
		mes "Please type in the new prize id."; 
		input .@guessprizeid; 
		if (getitemname(.@guessprizeid) == "null" || getitemname(.@guessprizeid) == "") {next; mes "^3399FF[Disguise CP]^000000"; mes "Error"; mes "This item does not exist in the database..."; close;}
		set $guessprize, .@guessprizeid;
		next; mes "^3399FF[Disguise CP]^000000";
		mes "Please type in the amount."; 
		input .@guessprizeamount;
		if (!.@guessprizeamount) set .@guessprizeamount,1 ;
		set $guessprizecount,.@guessprizeamount; 
		next; mes "^3399FF[Disguise CP]^000000";
		mes "Prize has been set to ^E50000 "+ getitemname($guessprize)+ "^000000 and the amount to ^E50000 " +$guessprizecount+"^000000";
		close;
	}
	
					
	case 5:
	{
		next; mes "^3399FF[Disguise CP]^000000";
		mes "Good bye"; 
		close;
	}

}


}








quiz_02,336,346,4	script	Disguise NPC		795,{

if (!$guessbegin)
{
	mes "^3399FF[Disguise NPC]^000000";
	mes "The event is going to start soon!";
	close;
}
end;

OnStart:
	set $guessbegin, 1;
	set .DisguiseWon, 0;
	if (!$DisguiseRound)
	{
		npctalk "Alright. Let's start this game!";
		sleep 2000;
		npctalk "But first I will explain the rules.";
		sleep 2000;
		npctalk "I am going to disguise into a random monster.";
		sleep 2000;
		npctalk "You have to guess the monster's name and shout it out.";
		sleep 2000;
		npctalk "Don't bother about the use of capital and small initial letters.";
		sleep 2000;
		npctalk "Now get ready!";
		sleep 5000;
		specialeffect EF_DETECT2;
	}
	else if ($DisguiseRound < $guessrounds-1)
	{
		npctalk "Get ready for the next round.";
		setnpctimer 0;
		sleep 8000;
		specialeffect EF_DETECT2;
	}
	else
	{	
		npctalk "Last round now!";
		sleep 2000;
		npctalk "Get ready!";
		sleep 6000;
		specialeffect EF_DETECT2;
	}

	do
	{
		set .@guessrepeat, 0;
		set $monster, 1000 + rand(1,950);
		for (set .@k, 0; .@k <getarraysize($Forbidden); set .@k, .@k+1)
		{
			if ($monster == $Forbidden[.@k]) 
			{
				set .@guessrepeat, 1;
				break;
			}
		}
	}
	while (.@guessrepeat);
	setnpctimer 0;
	initnpctimer;
	setnpcdisplay "Disguise NPC",$monster;
	set $MonsterName$, strmobinfo(1,$monster);
	defpattern 1, "([^:]+):.*\\s"+$MonsterName$+"(.*)", "winround";
	activatepset 1;
	npctalk "What's my name?";
	sleep 3000;
	npcwalkto 102,103;
	sleep 2000;
	npcwalkto 102,99;
	end;
	
	OnTimer5000:
		if (!.DisguiseWon)
		{
			sleep 3000;
			npcwalkto 102,103;
			sleep 2000;
			npcwalkto 102,99;

			if (!$guessactive)  {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
		}
		end;


	OnTimer15000:
		if (!.DisguiseWon) 
		{
			sleep 3000;
			npcwalkto 102,103;
			sleep 2000;
			npcwalkto 102,99;
		}
		end;

	OnTimer25000:
		if (!.DisguiseWon) 
		{
			npctalk "You get 10 more seconds to guess my name.";
			sleep 3000;
			npcwalkto 102,103;
			sleep 2000;
			npcwalkto 102,99;
		}
		end;

	OnTimer35000:
		if (!.DisguiseWon)
		{ 
			npctalk "Round is over.";
			if (!$guessactive)  {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
			set $DisguiseRound, $DisguiseRound + 1;
			deletepset 1;
			sleep 3000;
			npctalk $MonsterName$ + " would have been the correct answer.";
			sleep 5000;
			if ($DisguiseRound >= $guessrounds)
			{
				set $DisguiseRound, 0;
				sleep 3000;
				npctalk "Event is over now!";
				sleep 3500;
				npctalk "See ya!";
				sleep 2000;
				emotion 12;
				sleep 1000;
				mapwarp "morocc","morocc",160,249;
				setnpcdisplay "Disguise NPC",795;
				disablenpc "Disguise NPC";
				end;
			}
			goto OnStart;
		}
		end;

	winround:
		setnpctimer 0;
		deletepset 1;
		set .DisguiseWon, 1;
		set $DisguiseRound, $DisguiseRound + 1;
		npctalk strcharinfo(0) + " got my right name!";
		getitem $guessprize, $guessprizecount;
		sleep2 3000;
		npctalk $MonsterName$ + " is the correct answer.";
		if (!$guessactive)  {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
		if ($DisguiseRound >= $guessrounds)
			{
				set $DisguiseRound, 0;
				set $guessactive, 0;
				sleep 3000;
				npctalk "Event is over now!";
				sleep 3500;
				npctalk "See ya!";
				sleep 2000;
				emotion 12;
				sleep 1000;
				mapwarp "morocc","morocc",160,249;
				setnpcdisplay "Disguise NPC",795;
				disablenpc "Disguise NPC";
				end;
			}
		sleep 5000;
		goto OnStart;
		end;

	

}

//-----------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------

-	script	guessAnnouncer	-1,{


OnGMStart:
	if ($guessactive) end;
	set $guessactive, 1;
	announce "The server is starting a Disguise Event now!",0;
	set $guessbegin, 0;
	sleep 3000;
	if (!$guessactive) end;
	announce "If you want to join, come to Main Town, move at the portal near WoE Information.",0;
	enablenpc "guesswarp";
	enablenpc "Disguise NPC";
	sleep 5000;
	announce "Number of Rounds: "+$guessrounds,0;
	sleep 5000;
	announce "Prize: "+ getitemname($guessprize) + " x " + $guessprizecount,0;
	sleep 5000;
	if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
	announce "The portal is going to close in one minute.",0;  
	sleep 60000;
	if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
	announce "The portal has been closed.",0;
	disablenpc "guesswarp";
	set $DisguiseRound, 0;
	sleep 5000;
	if (!$guessactive) {disablenpc "Disguise NPC"; end;}
	if(getmapusers("quiz_02") == 0) 
	{
		disablenpc "Disguise NPC";
		set $guessactive, 0;
		end;
	}

	donpcevent "Disguise NPC::OnStart";
	end;

OnGMStop:
		if ($guessactive)
		{
			set $guessactive, 0;
			announce "The disguise event has been stopped.",0;
			set $DisguiseRound, 0;
			mapwarp "quiz_02.gat","quiz_02",336,346;
			setnpcdisplay "Disguise NPC",795;
			disablenpc "Disguise NPC";
			disablenpc "guesswarp";
		}
		end;


OnClock1300:
OnClock1500:
OnClock1700:
OnClock1900:
OnClock2100:
OnClock2300:
OnClock0100:
OnClock0300:
OnClock0500:
OnClock0700:
OnClock0900:
OnClock1100:
	if ($guessactive) end;
	set $guessactive, 1;
	announce "The server is starting a Disguise Event now!",0;
	set $guessbegin, 0;
	sleep 5000;
	if (!$guessactive) end;
	announce "If you want to join, come to Main Town, move at the portal near WoE Information.",0;
	enablenpc "guesswarp";
	enablenpc "Disguise NPC";
	sleep 5000;
	announce "Prize: "+ getitemname($guessprize) + " x " + $guessprizecount,0;
	sleep 5000;
	if (!$guessactive)  {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
	announce "The portal is going to close in one minute.",0;  
	sleep 60000;
	if (!$guessactive)  {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
	announce "The portal has been closed.",0;
	disablenpc "guesswarp";
	sleep 5000;
	if (!$guessactive)  {disablenpc "Disguise NPC"; end;}
	announce "Next Event will start in 2 hours.",0;
	set $DisguiseRound, 0;
	if(getmapusers("quiz_02") == 0) 
	{
		disablenpc "Disguise NPC";
		set $guessactive, 0;
		end;
	}

	donpcevent "Disguise NPC::OnStart";
	end;

OnInit:
	disablenpc "Disguise NPC";
	disablenpc "guesswarp";
	set $guessactive, 0;
	setarray $Forbidden[0],1003,1006,1017,1021,1022,1027,1043,1136,1137,1168,1171,1172,1173,1181,1210,1217,1218,1223,1284,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1407,1411,1414,1496,1501,1900,1948,1892,1949,1950,1983,1984,2010,1003,1006,1017,1021,1022,1027,1043,1075,1136,1137,1168,1171,1172,1173,1181,1210,1222,1223,1224,1225,1226,1227,1228,1233,1284,1407,1411,1414,1496,1501,1900,1996,2002,2003,2004,2005,2006,2007,2011,2012,2025,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063,2064,2065,2066,2067,2075,2076,2077,2078,2079,2080,2081,2084,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,1900,1901,1902,1903,1237,1239,1145,1175,1209,1841,1842,1843,1844,3014,3001,3002,2114,2115,2117,2118,2119,2120,6049,6050,6051,6052,2200,2205,2207;

}

//-----------------------------------------------------------------------------------
//------------------Warp Portal------------------------------------------------------
morocc,169,258,0	warp	guesswarp	2,2,quiz_02,342,346	
//-----------------------------------------------------------------------------------
//------------------Map Flags--------------------------------------------------------
quiz_02	mapflag	nowarpto
quiz_02	mapflag	noskill
quiz_02	mapflag	nosave
quiz_02	mapflag	nomemo
quiz_02	mapflag	noteleport
quiz_02	mapflag	nowarp
//-----------------------------------------------------------------------------------

TIA!  /ok

Edited by Kinkkynipps

1 answer to this question

Recommended Posts

  • 0
Posted

1.

turbo_room,121,77,4	script	Quest Shop#1	998,{ 
	callfunc "qshop"; 
	end
	
	OnInit:
		waitingroom "Quest Shop",0;
		end;
}

2.

turbo_room,121,83,6	script	Free/Cash Point Checker	703,{

OnAtCommand:
OnPCLoginEvent:
	dispbottom "You got "+#CASHPOINTS+" cash points.";
	end;
	
OnInit:
	bindatcmd "cashpoints",strnpcinfo(3)+"::OnAtCommand";
	waitingroom "Point Checker",0;
	end;
}

 

 

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...