Dori Posted June 19, 2015 Group: Members Topic Count: 105 Topics Per Day: 0.02 Content Count: 332 Reputation: 15 Joined: 12/11/11 Last Seen: August 8, 2017 Share Posted June 19, 2015 (edited) This is a disguise script made by a friend of mine. This part right here, blocks all the monster IDs that does not exist in the mob_db.txt or the ID you don't want the npc to choose: while ($monster == 1003 || $monster == 1006 || $monster == 1017 || $monster == 1021 || $monster == 1027 || $monster == 1043 || $monster == 1075 || $monster == 1136 || $monster == 1137 || $monster == 1168 || $monster == 1171 || $monster == 1172 || $monster == 1173 || $monster == 1181 || $monster == 1182 || $monster == 1183 || $monster == 1184 || $monster == 1185 || $monster == 1187 || $monster == 1210 || $monster == 1217 || $monster == 1218 || $monster == 1220 || ($monster >= 1221 && $monster <= 1230) || $monster == 1232 || $monster == 1233 || ($monster >= 1235 && $monster <= 1241) || $monster == 1244 || $monster == 1245 || $monster == 1284 || ($monster >= 1324 && $monster <= 1363) || ($monster >= 1393 && $monster <= 1399) || $monster == 1407 || $monster == 1411 || $monster == 1414 || $monster == 1419 || $monster == 1421 || $monster == 1422 || $monster == 1424 || $monster == 1425 || $monster == 1426 || $monster == 1428 || $monster == 1432 || ($monster >= 1435 && $monster <= 1437) || $monster == 1440 || $monster == 1441 || $monster == 1444 || $monster == 1445 || ($monster >= 1447 && $monster <= 1454) || $monster == 1496 || $monster == 1456 || $monster == 1459 || $monster == 1460 || $monster == 1463 || ($monster >= 1465 && $monster <= 1470) || $monster == 1472 || $monster == 1475 || $monster == 1476 || $monster == 1478 || $monster == 1479 || $monster == 1496 || $monster == 1501 || $monster == 1502 || ($monster >= 1518 && $monster <= 1521) || ($monster >= 1523 && $monster <= 1530) || $monster == 1532 || $monster == 1533 || ($monster >= 1539 && $monster <= 1544) || ($monster >= 1548 && $monster <= 1557) || $monster == 1559 || $monster == 1561 || $monster == 1563 || $monster == 1565 || ($monster >= 1567 && $monster <= 1571) || ($monster >= 1573 && $monster <= 1577) || ($monster >= 1579 && $monster <= 1581) || $monster == 1585 || ($monster >= 1588 && $monster <= 1612) || $monster == 1626 || ($monster >= 1664 && $monster <= 1667) || $monster == 1674 || $monster == 1683 || ($monster >= 1689 && $monster <= 1691) || ($monster >= 1722 && $monster <= 1733) || ($monster >= 1739 && $monster <= 1750) || ($monster >= 1756 && $monster <= 1767) || ($monster >= 1786 && $monster <= 1795) || ($monster >= 1798 && $monster <= 1828) || ($monster >= 1840 && $monster <= 1863) || $monster == 1872 || $monster == 1873 || ($monster >= 1875 && $monster <= 1879) || ($monster >= 1887 && $monster <= 1893) || ($monster >= 1895 && $monster <= 1898) || ($monster >= 1895 && $monster <= 1916) || ($monster >= 1926 && $monster <= 1955) || ($monster >= 1958 && $monster <= 1973) || ($monster >= 1980 && $monster <= 1985) || $monster == 1996 || ($monster >= 2000 && $monster <= 2012) || ($monster >= 2025 && $monster <= 2067) || ($monster >= 2075 && $monster <= 2082) || ($monster >= 2093 && $monster <= 2130) || $monster == 2135 || ($monster >= 2138 && $monster <= 2150) || ($monster >= 2157 && $monster <= 2190) || $monster == 2193 || $monster == 2195 || $monster == 2196 || $monster == 2200 || $monster == 2205 || $monster == 2206 || $monster == 2207 || ($monster >= 2209 && $monster <= 2220) || ($monster >= 2242 && $monster <= 2308) || $monster == 2318 || ($monster >= 2321 && $monster <= 2329) || ($monster >= 2330 && $monster <= 2362) || ($monster >= 2372 && $monster <= 2474) ); I was wondering if someone could help me to write this part in a simpler way? So it is more organized and I could keep the unwanted IDs organized. Because currently I think I am missing some of the IDs and the script has some mini glitches due to that. Thank you for any help. Edited June 19, 2015 by Phenex Quote Link to comment Share on other sites More sharing options...
Elsa Mist Posted June 19, 2015 Group: Members Topic Count: 23 Topics Per Day: 0.01 Content Count: 387 Reputation: 60 Joined: 10/08/13 Last Seen: July 14, 2022 Share Posted June 19, 2015 This is a disguise script made by a friend of mine. This part right here, blocks all the monster IDs that does not exist in the mob_db.txt or the ID you don't want the npc to choose: while ($monster == 1003 || $monster == 1006 || $monster == 1017 || $monster == 1021 || $monster == 1027 || $monster == 1043 || $monster == 1075 || $monster == 1136 || $monster == 1137 || $monster == 1168 || $monster == 1171 || $monster == 1172 || $monster == 1173 || $monster == 1181 || $monster == 1182 || $monster == 1183 || $monster == 1184 || $monster == 1185 || $monster == 1187 || $monster == 1210 || $monster == 1217 || $monster == 1218 || $monster == 1220 || ($monster >= 1221 && $monster <= 1230) || $monster == 1232 || $monster == 1233 || ($monster >= 1235 && $monster <= 1241) || $monster == 1244 || $monster == 1245 || $monster == 1284 || ($monster >= 1324 && $monster <= 1363) || ($monster >= 1393 && $monster <= 1399) || $monster == 1407 || $monster == 1411 || $monster == 1414 || $monster == 1419 || $monster == 1421 || $monster == 1422 || $monster == 1424 || $monster == 1425 || $monster == 1426 || $monster == 1428 || $monster == 1432 || ($monster >= 1435 && $monster <= 1437) || $monster == 1440 || $monster == 1441 || $monster == 1444 || $monster == 1445 || ($monster >= 1447 && $monster <= 1454) || $monster == 1496 || $monster == 1456 || $monster == 1459 || $monster == 1460 || $monster == 1463 || ($monster >= 1465 && $monster <= 1470) || $monster == 1472 || $monster == 1475 || $monster == 1476 || $monster == 1478 || $monster == 1479 || $monster == 1496 || $monster == 1501 || $monster == 1502 || ($monster >= 1518 && $monster <= 1521) || ($monster >= 1523 && $monster <= 1530) || $monster == 1532 || $monster == 1533 || ($monster >= 1539 && $monster <= 1544) || ($monster >= 1548 && $monster <= 1557) || $monster == 1559 || $monster == 1561 || $monster == 1563 || $monster == 1565 || ($monster >= 1567 && $monster <= 1571) || ($monster >= 1573 && $monster <= 1577) || ($monster >= 1579 && $monster <= 1581) || $monster == 1585 || ($monster >= 1588 && $monster <= 1612) || $monster == 1626 || ($monster >= 1664 && $monster <= 1667) || $monster == 1674 || $monster == 1683 || ($monster >= 1689 && $monster <= 1691) || ($monster >= 1722 && $monster <= 1733) || ($monster >= 1739 && $monster <= 1750) || ($monster >= 1756 && $monster <= 1767) || ($monster >= 1786 && $monster <= 1795) || ($monster >= 1798 && $monster <= 1828) || ($monster >= 1840 && $monster <= 1863) || $monster == 1872 || $monster == 1873 || ($monster >= 1875 && $monster <= 1879) || ($monster >= 1887 && $monster <= 1893) || ($monster >= 1895 && $monster <= 1898) || ($monster >= 1895 && $monster <= 1916) || ($monster >= 1926 && $monster <= 1955) || ($monster >= 1958 && $monster <= 1973) || ($monster >= 1980 && $monster <= 1985) || $monster == 1996 || ($monster >= 2000 && $monster <= 2012) || ($monster >= 2025 && $monster <= 2067) || ($monster >= 2075 && $monster <= 2082) || ($monster >= 2093 && $monster <= 2130) || $monster == 2135 || ($monster >= 2138 && $monster <= 2150) || ($monster >= 2157 && $monster <= 2190) || $monster == 2193 || $monster == 2195 || $monster == 2196 || $monster == 2200 || $monster == 2205 || $monster == 2206 || $monster == 2207 || ($monster >= 2209 && $monster <= 2220) || ($monster >= 2242 && $monster <= 2308) || $monster == 2318 || ($monster >= 2321 && $monster <= 2329) || ($monster >= 2330 && $monster <= 2362) || ($monster >= 2372 && $monster <= 2474) ); I was wondering if someone could help me to write this part in a simpler way? So it is more organized and I could keep the unwanted IDs organized. Because currently I think I am missing some of the IDs and the script has some mini glitches due to that. Thank you for any help. Just use script below. /* To change times, edit the OnClock labels below. */ prontera,100,100,4 script Disguise Event 795,{ set .@GMLevel,99; // GM level required to access NPC. set .@n$,"[^0000FFDisguise NPC^000000]"; if (getgmlevel()>=.@GMLevel) { mes .@n$; mes "Select an option."; next; switch(select("Turn ON/OFF Event:Event Settings")) { case 1: mes .@n$; if (.EventON) { mes "The Event is currently: [^0000FFON^000000]"; mes "Would you like to turn it OFF?"; } else { mes "The Event is currently: [^FF0000OFF^000000]"; mes "Would you like to turn it ON?"; } if(select("Yes:No")==2) close; if (.EventON) { set .EventON,0; set .Timer,0; setnpctimer 0; stopnpctimer; announce "A GM has decided to turn the Disguise Event off. As a result no further prizes will be given.",bc_map | bc_blue; deletepset 1; setnpcdisplay "Disguise Event",795; close; } set .EventON,1; set .Timer,1; setnpctimer 0; initnpctimer; set .ResetCounter,.ResetCounter+1; announce "The Disguise Event will begin in 3 minutes.",bc_all | bc_blue; announce "The Event is being held in Viber Town.",bc_all | bc_blue; close; case 2: mes .@n$; mes "Pick a setting to modify."; next; switch(select("Monster Display:Number of Rounds:Prize Settings")) { case 1: setarray .@r$[0],"Disguise as all monsters.","Disguise as MVPs only."; mes .@n$; mes "Choose a disguise rule."; next; set .Rule, select(implode(.@r$,":")); mes .@n$; mes "The Disguise Rule has been set:"; mes " > ^0055FF"+.@r$[.Rule-1]+"^000000"; close; case 2: mes .@n$; mes "Input the number of rounds you want the event to last."; mes "Current number: [^0000FF"+.Rounds+"^000000]"; next; input .@Rounds; set .Rounds,.@Rounds; mes .@n$; mes "The number of rounds has been changed to "+.Rounds+"."; close; case 3: mes .@n$; mes "Input the Item ID of the prize given each round."; mes "Current item: [^0000FF"+getitemname(.Prize)+"^000000] (ID #"+.Prize+")"; next; input .@Prize; mes .@n$; if (getitemname(.@Prize)=="" || getitemname(.@Prize)=="null") { mes "That item does not exist. Please try again."; close; } set .Prize,.@Prize; mes "Input the amount to be given."; next; input .@amount; mes .@n$; if (.@amount<=0 || .@amount>=10000) { mes "That amount is invalid. Using default ammount of 1."; set .@amount,1; next; mes .@n$; } set .PrizeAmt,.@amount; mes "The Prize has been changed successfully."; mes "Prize: "+.PrizeAmt+"x [^0000FF"+getitemname(.Prize)+"^000000]"; close; } } } if (.EventON) end; mes .@n$; mes "Welcome."; mes "How may I be of assistance?"; if(select("Information:Nothing, just passing through.")==2) close; next; mes .@n$; mes "This event is quite simple."; mes "At the start of the event, I will"; mes "disguise myself as a random"; mes "monster. You have to shout"; mes "that monter's name out loud."; next; mes "If you are correct, you will receive"; mes "a prize. If not, keep trying!"; mes "That's all that there is to this event."; close; OnInit: set .EventON,0; set .Wait,0; set .Winner,0; set .ResetCounter,0; set .Rounds,10; set .Prize,501; set .PrizeAmt,10; set .Rule,1; setarray .MVP[0],1038,1039,1046,1059,1086,1087,1112,1115,1147,1150,1157,1159,1190,1251,1252,1272,1312,1373, 1389,1399,1418,1492,1502,1511,1583,1623,1630,1646,1647,1648,1649,1650,1651,1658,1685,1688, 1708,1719,1734,1751,1768,1779,1785,1802,1832,1871,1874,1885,1917,1980,2022,2068,2087,2131, 2156,2165; set .BlackList$, "1003,1006,1017,1021,1022,1027,1043,1075,1136,1137,1168," + "1171,1172,1173,1181,1187,1210,1217,1218,1222,1223,1224,1225,1226,1227,1228," + "1233,1284,1407,1411,1414,1495,1501,1900,1996,2000,2001,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,2083,2084,2085," + "2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099," + "2100,2101,2012,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113," + "2114,2115,2116,2117,2118,2119,2120,2121,2123,2124,2125,1496,"; end; OnClock0000: set .ResetCounter,.ResetCounter+1; set .EventON,1; set .Timer,1; set .Wait,1; announce "The Disguise Event will begin in 3 minutes.",bc_all | bc_blue; announce "The Event is being held in Viber Town.",bc_all | bc_blue; setnpctimer 0; initnpctimer; end; OnTimer10000: if (.Timer || .Change) end; set .Wait,0; goto iDisguise; end; OnTimer30000: if (.Timer) end; set .Change,0; setnpcdisplay "Disguise Event",795; npctalk "You took too long to guess what I was. Please wait 10 seconds while I disguise again."; specialeffect EF_DETECT2; set $MonsterName$,""; deletepset 1; stopnpctimer; setnpctimer 0; initnpctimer; end; OnTimer60000: if (.Timer!=1) end; announce "The Disguise Event will begin in 2 minutes.",bc_all | bc_blue; announce "The Event is being held in Prontera.",bc_all | bc_blue; end; OnTimer120000: if (.Timer!=1) end; announce "The Disguise Event will begin 1 minute.",bc_all | bc_blue; announce "The Event is being held in Prontera.",bc_all | bc_blue; end; OnTimer180000: if (.Timer!=1) end; announce "The Disguise Event has begun!",bc_all | bc_blue; announce "The Event is being held in Prontera.",bc_all | bc_blue; set .Timer,0; stopnpctimer; setnpctimer 0; initnpctimer; iDisguise: if (.Rule==1) { set .Winner,0; set .Monster,1000+rand(1,995); if (compare(","+.BlackList$+"," , ","+.Monster+",")) goto iDisguise; if (.Monster==.LastMonster) goto iDisguise; set .LastMonster,.Monster; set $MonsterName$,getmonsterinfo(.Monster,0); } if (.Rule==2) { set .Winner,0; set .Monster,rand(49); set $MonsterName$,getmonsterinfo(.MVP[.Monster],0); } deletepset 1; defpattern 1,"([^:]+):.\\s*"+$MonsterName$+".*", "iCorrect"; activatepset 1; if (.Rule==1) setnpcdisplay "Disguise Event",.Monster; if (.Rule==2) setnpcdisplay "Disguise Event",.MVP[.Monster]; set .Change,1; setnpctimer 0; end; iCorrect: if (.Winner) { dispbottom "Someone has already won this round."; end; } set .Winner,1; set .RoundCount,.RoundCount+1; deletepset 1; activatepset 1; getitem .Prize,.PrizeAmt; announce strcharinfo(0)+" is correct! I was disguised as: "+$MonsterName$+"",bc_map | bc_blue; if (.RoundCount>=.Rounds) { setnpcdisplay "Disguise Event",795; set .RoundCount,0; set .Change,0; set .EventON,0; setnpctimer 0; stopnpctimer; npctalk "Thank you all for playing. That was the last round of the Disguise Event. Come play again later."; end; } setnpcdisplay "Disguise Event",795; set .Change,0; setnpctimer 0; end; } Quote Link to comment Share on other sites More sharing options...
Dori Posted June 19, 2015 Group: Members Topic Count: 105 Topics Per Day: 0.02 Content Count: 332 Reputation: 15 Joined: 12/11/11 Last Seen: August 8, 2017 Author Share Posted June 19, 2015 (edited) Thanks, but I would like to use my script. But may be I can learn a few things from your script....until someone helps with my question. Edit: Nevermind, figured it. Edited June 19, 2015 by Phenex Quote Link to comment Share on other sites More sharing options...
Question
Dori
This is a disguise script made by a friend of mine.
This part right here, blocks all the monster IDs that does not exist in the mob_db.txt or the ID you don't want the npc to choose:
while ($monster == 1003 || $monster == 1006 || $monster == 1017 || $monster == 1021 || $monster == 1027 || $monster == 1043 || $monster == 1075 || $monster == 1136 || $monster == 1137 || $monster == 1168 || $monster == 1171 || $monster == 1172 || $monster == 1173 || $monster == 1181 || $monster == 1182 || $monster == 1183 || $monster == 1184 || $monster == 1185 || $monster == 1187 || $monster == 1210 || $monster == 1217 || $monster == 1218 || $monster == 1220 || ($monster >= 1221 && $monster <= 1230) || $monster == 1232 || $monster == 1233 || ($monster >= 1235 && $monster <= 1241) || $monster == 1244 || $monster == 1245 || $monster == 1284 || ($monster >= 1324 && $monster <= 1363) || ($monster >= 1393 && $monster <= 1399) || $monster == 1407 || $monster == 1411 || $monster == 1414 || $monster == 1419 || $monster == 1421 || $monster == 1422 || $monster == 1424 || $monster == 1425 || $monster == 1426 || $monster == 1428 || $monster == 1432 || ($monster >= 1435 && $monster <= 1437) || $monster == 1440 || $monster == 1441 || $monster == 1444 || $monster == 1445 || ($monster >= 1447 && $monster <= 1454) || $monster == 1496 || $monster == 1456 || $monster == 1459 || $monster == 1460 || $monster == 1463 || ($monster >= 1465 && $monster <= 1470) || $monster == 1472 || $monster == 1475 || $monster == 1476 || $monster == 1478 || $monster == 1479 || $monster == 1496 || $monster == 1501 || $monster == 1502 || ($monster >= 1518 && $monster <= 1521) || ($monster >= 1523 && $monster <= 1530) || $monster == 1532 || $monster == 1533 || ($monster >= 1539 && $monster <= 1544) || ($monster >= 1548 && $monster <= 1557) || $monster == 1559 || $monster == 1561 || $monster == 1563 || $monster == 1565 || ($monster >= 1567 && $monster <= 1571) || ($monster >= 1573 && $monster <= 1577) || ($monster >= 1579 && $monster <= 1581) || $monster == 1585 || ($monster >= 1588 && $monster <= 1612) || $monster == 1626 || ($monster >= 1664 && $monster <= 1667) || $monster == 1674 || $monster == 1683 || ($monster >= 1689 && $monster <= 1691) || ($monster >= 1722 && $monster <= 1733) || ($monster >= 1739 && $monster <= 1750) || ($monster >= 1756 && $monster <= 1767) || ($monster >= 1786 && $monster <= 1795) || ($monster >= 1798 && $monster <= 1828) || ($monster >= 1840 && $monster <= 1863) || $monster == 1872 || $monster == 1873 || ($monster >= 1875 && $monster <= 1879) || ($monster >= 1887 && $monster <= 1893) || ($monster >= 1895 && $monster <= 1898) || ($monster >= 1895 && $monster <= 1916) || ($monster >= 1926 && $monster <= 1955) || ($monster >= 1958 && $monster <= 1973) || ($monster >= 1980 && $monster <= 1985) || $monster == 1996 || ($monster >= 2000 && $monster <= 2012) || ($monster >= 2025 && $monster <= 2067) || ($monster >= 2075 && $monster <= 2082) || ($monster >= 2093 && $monster <= 2130) || $monster == 2135 || ($monster >= 2138 && $monster <= 2150) || ($monster >= 2157 && $monster <= 2190) || $monster == 2193 || $monster == 2195 || $monster == 2196 || $monster == 2200 || $monster == 2205 || $monster == 2206 || $monster == 2207 || ($monster >= 2209 && $monster <= 2220) || ($monster >= 2242 && $monster <= 2308) || $monster == 2318 || ($monster >= 2321 && $monster <= 2329) || ($monster >= 2330 && $monster <= 2362) || ($monster >= 2372 && $monster <= 2474) );
I was wondering if someone could help me to write this part in a simpler way? So it is more organized and I could keep the unwanted IDs organized.
Because currently I think I am missing some of the IDs and the script has some mini glitches due to that.
Thank you for any help.
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.