Jump to content
  • 0

Scripters help me please


Ragnar Lothbrok

Question


  • Group:  Members
  • Topic Count:  91
  • Topics Per Day:  0.02
  • Content Count:  309
  • Reputation:   6
  • Joined:  04/24/12
  • Last Seen:  

Guys, can you please fix this... every round it's always says "Last round now"

phtownall,182,199,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 get it over with ~.~ ";
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-10)
{
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;
npctalk "Di mo alam?";
sleep 2000;
npctalk "Balu meh?";
end;

OnTimer10000:
if (!.DisguiseWon)
{
npctalk "Come on. What monster am I?";
sleep 3000;
npctalk "Dimolam?";
sleep 2000;
npctalk "Balumeh?";
if (!$guessactive)  {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
}
end;


OnTimer25000:
if (!.DisguiseWon)
{
npctalk "Nobody knows that monster?";
sleep 3000;
npctalk "Dimolam?";
sleep 2000;
npctalk "Balumeh?";
}
end;

OnTimer35000:
if (!.DisguiseWon)
{
npctalk "You get 10 more seconds to guess my name.";
sleep 3000;
npctalk "Dimolam?";
sleep 2000;
npctalk "Balumeh?";
}
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;
setnpcdisplay "Disguise NPC",794;
disablenpc "Disguise NPC";
disablenpc "guesswarp";
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;
setnpcdisplay "Disguise NPC",794;
disablenpc "Disguise NPC";
disablenpc "guesswarp";
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 participate, go to our Maintown and head left!.",0;
enablenpc "Disguise NPC";
enablenpc "guesswarp";
sleep 3000;
announce "Number of Rounds: "+$guessrounds,0;
sleep 2000;
announce "Prize: "+ getitemname($guessprize) + " x " + $guessprizecount,0;
sleep 2000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
announce "The event is going to start in one minute.",0;  
sleep 60000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
announce "The event is now starting.",0;
set $DisguiseRound, 0;
sleep 5000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
if(getmapusers("phtownall") == 0)
{
disablenpc "Disguise NPC";
disablenpc "guesswarp";
set $guessactive, 0;
end;
}

donpcevent "Disguise NPC::OnStart";
end;

OnGMStop:
if ($guessactive)
{
set $guessactive, 0;
announce "A Gamemaster has stopped the Disguise Event",0;
set $DisguiseRound, 0;
setnpcdisplay "Disguise NPC",794;
disablenpc "Disguise NPC";
}
end;


OnMinute00:
if ($guessactive) end;
set $guessactive, 1;
announce "We are starting a Disguise Event now.",0;
set $guessbegin, 0;
sleep 3000;
if (!$guessactive) end;
announce "If you want to participate, go to our Maintown and head left!.",0;
enablenpc "Disguise NPC";
enablenpc "guesswarp";
sleep 2000;
announce "Prize: "+ getitemname($guessprize) + " x " + $guessprizecount,0;
sleep 2000;
if (!$guessactive)  {disablenpc "Disguise NPC"; end;}
announce "The event is going to start in 1 minute.",0;  
sleep 60000;
if (!$guessactive)  {disablenpc "Disguise NPC"; end;}
announce "The event is now starting.",0;
sleep 5000;
if (!$guessactive)  {disablenpc "Disguise NPC"; end;}
announce "Next Event will start in 1 hour.",0;
set $DisguiseRound, 0;
if(getmapusers("phtownall") == 0)
{
disablenpc "Disguise NPC";
disablenpc "guesswarp";
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;

}

Edited by Joseph
Codebox-ed.
Link to comment
Share on other sites

2 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  54
  • Topics Per Day:  0.01
  • Content Count:  513
  • Reputation:   84
  • Joined:  08/11/12
  • Last Seen:  

let me have a little guess.

you forgot to initialize the value for:

$guessrounds

and another thing that's bothering me is:

else if ($DisguiseRound < $guessrounds-10) 

and your code does

set $DisguiseRound, $DisguiseRound + 1

everytime a round finishes

so basically, your code skips 'next round' because

else if ($DisguiseRound < $guessrounds-10) 

is never true.

just my little guess though.

dunno if this'll work =P just a try on fixing this.

I've set $guessrounds to 10.

phtownall,182,199,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;
set $guessrounds, 10;
if (!$DisguiseRound)
{
npctalk "Alright. Let's get it over with ~.~ ";
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-10)
else if ($DisguiseRound < $guessrounds)
{
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;
npctalk "Di mo alam?";
sleep 2000;
npctalk "Balu meh?";
end;

OnTimer10000:
if (!.DisguiseWon)
{
npctalk "Come on. What monster am I?";
sleep 3000;
npctalk "Dimolam?";
sleep 2000;
npctalk "Balumeh?";
if (!$guessactive)  {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
}
end;


OnTimer25000:
if (!.DisguiseWon)
{
npctalk "Nobody knows that monster?";
sleep 3000;
npctalk "Dimolam?";
sleep 2000;
npctalk "Balumeh?";
}
end;

OnTimer35000:
if (!.DisguiseWon)
{
npctalk "You get 10 more seconds to guess my name.";
sleep 3000;
npctalk "Dimolam?";
sleep 2000;
npctalk "Balumeh?";
}
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;
setnpcdisplay "Disguise NPC",794;
disablenpc "Disguise NPC";
disablenpc "guesswarp";
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;
setnpcdisplay "Disguise NPC",794;
disablenpc "Disguise NPC";
disablenpc "guesswarp";
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 participate, go to our Maintown and head left!.",0;
enablenpc "Disguise NPC";
enablenpc "guesswarp";
sleep 3000;
announce "Number of Rounds: "+$guessrounds,0;
sleep 2000;
announce "Prize: "+ getitemname($guessprize) + " x " + $guessprizecount,0;
sleep 2000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
announce "The event is going to start in one minute.",0;  
sleep 60000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
announce "The event is now starting.",0;
set $DisguiseRound, 0;
sleep 5000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
if(getmapusers("phtownall") == 0)
{
disablenpc "Disguise NPC";
disablenpc "guesswarp";
set $guessactive, 0;
end;
}

donpcevent "Disguise NPC::onstart";
end;

OnGMStop:
if ($guessactive)
{
set $guessactive, 0;
announce "A Gamemaster has stopped the Disguise Event",0;
set $DisguiseRound, 0;
setnpcdisplay "Disguise NPC",794;
disablenpc "Disguise NPC";
}
end;


OnMinute00:
if ($guessactive) end;
set $guessactive, 1;
announce "We are starting a Disguise Event now.",0;
set $guessbegin, 0;
sleep 3000;
if (!$guessactive) end;
announce "If you want to participate, go to our Maintown and head left!.",0;
enablenpc "Disguise NPC";
enablenpc "guesswarp";
sleep 2000;
announce "Prize: "+ getitemname($guessprize) + " x " + $guessprizecount,0;
sleep 2000;
if (!$guessactive)  {disablenpc "Disguise NPC"; end;}
announce "The event is going to start in 1 minute.",0;  
sleep 60000;
if (!$guessactive)  {disablenpc "Disguise NPC"; end;}
announce "The event is now starting.",0;
sleep 5000;
if (!$guessactive)  {disablenpc "Disguise NPC"; end;}
announce "Next Event will start in 1 hour.",0;
set $DisguiseRound, 0;
if(getmapusers("phtownall") == 0)
{
disablenpc "Disguise NPC";
disablenpc "guesswarp";
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;

}

Edited by jezznar
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  26
  • Topics Per Day:  0.01
  • Content Count:  95
  • Reputation:   2
  • Joined:  08/23/12
  • Last Seen:  

Base on jezznar you have a little problem with rounds script it seems that the round number and command is not working you should check you script again.

There are so much disguise event there, just use search engine.

Link to comment
Share on other sites

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