/*//----------------------------------------------------------------//
//----------------Scripted by Spera---------------------------------//
//------------------FinalStrikeRO-----------------------------------//
//--------------------Disguise Event NPC v2-------------------------//
/-------------------------------------------------------------------//*/
yuno_pre,33,95,2 script Disguise CP 968,{
if (getgmlevel()<50)
{
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;
}
}
}
ama_test,50,100,4 script Disguise NPC 794,{
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 do this! ";
sleep 4000;
npctalk "But first I will explain to you how to play the game.";
sleep 6000;
npctalk "I am going to disguise into a random monster.";
sleep 5000;
npctalk "You have to guess the monster's name and shout it out.";
sleep 5000;
npctalk "Don't bother about the use of capital and small initial letters.";
sleep 8000;
npctalk "Now get ready.";
sleep 5000;
}
else if ($DisguiseRound < $guessrounds-1)
{
npctalk "Get ready for the next round.";
setnpctimer 0;
sleep 8000;
}
else
{
npctalk "Last round now!";
sleep 2000;
npctalk "Get ready.";
sleep 6000;
}
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;
OnTimer10000:
if (!.DisguiseWon)
{
npctalk "Come on. What monster am I?";
sleep 3000;
npcwalkto 102,103;
sleep 2000;
npcwalkto 102,99;
if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
}
end;
OnTimer25000:
if (!.DisguiseWon)
{
npctalk "Nobody knows that monster?";
sleep 3000;
npcwalkto 102,103;
sleep 2000;
npcwalkto 102,99;
}
end;
OnTimer35000:
if (!.DisguiseWon)
{
npctalk "You get 10 more seconds to guess my name.";
sleep 3000;
npcwalkto 102,103;
sleep 2000;
npcwalkto 102,99;
}
end;
OnTimer45000:
if (!.DisguiseWon)
{
npctalk "Round is over.";
if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
set $DisguiseRound, $DisguiseRound + 1;
sleep 3000;
deletepset 1;
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 guys";
sleep 2000;
emotion 12;
sleep 1000;
set $guessactive, 0;
mapwarp "ama_test.gat","caspen.gat",181,228;
setnpcdisplay "Disguise NPC",794;
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!";
sleep2 3000;
npctalk $MonsterName$ + " is the correct answer.";
sleep2 3000;
npctalk "Take this as a reward.";
getitem $guessprize, $guessprizecount;
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 guys";
sleep 2000;
emotion 12;
sleep 1000;
mapwarp "ama_test.gat","caspen.gat",181,228;
setnpcdisplay "Disguise NPC",794;
disablenpc "Disguise NPC";
end;
}
sleep 5000;
goto OnStart;
end;
}
//-----------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------
- script guessAnnouncer -1,{
OnGMStart:
if ($guessactive) end;
set $guessactive, 1;
announce "A Gamemaster has started the Disguise Event",0;
set $guessbegin, 0;
sleep 3000;
if (!$guessactive) end;
announce "If you want to join, come to the main town, head downwards and enter the warp portal.",0;
enablenpc "guesswarp";
enablenpc "Disguise NPC";
sleep 3000;
announce "Number of Rounds: "+$guessrounds,0;
sleep 2000;
announce "Prize: "+ getitemname($guessprize) + " x " + $guessprizecount,0;
sleep 2000;
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("ama_test") == 0)
{
disablenpc "Disguise NPC";
set $guessactive, 1;
end;
}
donpcevent "Disguise NPC::OnStart";
end;
OnGMStop:
if ($guessactive)
{
set $guessactive, 0;
announce "A Gamemaster has stopped the Disguise Event",0;
set $DisguiseRound, 0;
mapwarp "ama_test.gat","caspen.gat",181,228;
setnpcdisplay "Disguise NPC",794;
disablenpc "Disguise NPC";
disablenpc "guesswarp";
}
end;
OnClock0200:
OnClock0400:
OnClock0600:
OnClock0800:
OnClock1000:
OnClock1200:
OnClock1400:
OnClock1600:
OnClock1800:
OnClock2000:
OnClock2200:
OnClock0000:
if ($guessactive) end;
set $guessactive, 1;
announce "GraffitiRO: The Disguise Event is starting!",0;
set $guessbegin, 0;
sleep 3000;
if (!$guessactive) end;
announce "GraffitiRO: If you want to join, enter the Event Room in Caspen by entering the portal!",0;
enablenpc "guesswarp";
enablenpc "Disguise NPC";
sleep 2000;
announce "Prize: "+ getitemname($guessprize) + " x " + $guessprizecount,0;
sleep 2000;
if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
announce "GraffitiRO: The portal is going to close in one minute.",0;
sleep 60000;
if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
announce "GraffitiRO: The portal has been closed.",0;
disablenpc "guesswarp";
sleep 5000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
announce "GraffitiRO: Join us for the next Disguise Event in two hours!",0;
set $DisguiseRound, 0;
if(getmapusers("poring_c01") == 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,1324,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;
}
//-----------------------------------------------------------------------------------
//--------------Warp Portal------------------------------------------------------
caspen,181,228,0 warp guesswarp 2,2,ama_test,50,84
//-----------------------------------------------------------------------------------
//------------------Map Flags--------------------------------------------------------
ama_test mapflag nowarpto
ama_test mapflag noskill
ama_test mapflag nosave
ama_test mapflag nomemo
ama_test mapflag noteleport
ama_test mapflag pvp off
//-----------------------------------------------------------------------------------