Ichigo Chaozen Posted March 21, 2013 Author Posted March 21, 2013 I wanna script npc Disguise Event ~ Quote
Ichigo Chaozen Posted March 21, 2013 Author Posted March 21, 2013 (edited) Help me for FIX this script ~ //==============================================================================// //--- Created by GmOcean -------------------------------------------------------// //--- You may modify this script at your own risk. However any modifications ---// //--- To this script are made at your own discretion and I will not provide ----// //--- any support to modified scripts. You Also are forbidden to release the ---// //--- modified script as your own. You can however post suggestions and I will -// //--- Take them into consideration. You may also post the modified script up ---// //--- In the Script Support section, as long as I am given Credit as the -------// //--- Original Script Creator. Thank You for following these few requests ------// //--- And Enjoy the Script ~! --------------------------------------------------// //-------------------------------- Script Version == v5.0 -------------// //==============================================================================// louyang,191,142,5 script Disguise Event 795,2,2,{ //--- Basic Script Configuration Options ---// set .@npcname$,"[^228B22 Disguise NPC ^000000]"; //<- NPC Name. set $@GMLevel,60; //<- GM Level needed to be considered a GM. //--- The Script ---// if (getgmlevel()>=$@GMLevel){goto GM_Player;} if ($@EventON){end;} mes .@npcname$; mes "Welcome, how may i be of assistance."; menu "Information",iInfo,"Nothing, just passing through.",iNothing; iInfo: next; mes .@npcname$; mes "This event is actually quite simple"; mes "At the start of the event, I will disguise myself"; mes "into a monster randomly. You will then merely have to shout that monsters name outloud."; next; mes "If you get it correct, you get a prize. If not, then keep trying."; mes "That is all there is to know about this event."; close; iNothing: close; GM_Player: mes .@npcname$; mes "Please select an Option to modify."; menu "Turn ^FF0000ON^000000 / [^0000FFOFF^000000 Event",iEvent,"Event Settings",iSettings; iEvent: next; mes .@npcname$; if ($@EventON){mes "The event is currently: [^0000FF ON ^000000]"; mes "Would you like to turn it OFF?";} if (!$@EventON){mes "The event is currently: [^FF0000 OFF ^000000]"; mes "Would you like to turn it ^0000FFON^000000?";} menu "Yes",iYes,"No",iNothing; iYes: 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 event is being held in Louyang.",bc_all | bc_blue; close; iSettings: next; mes .@npcname$; mes "Please select a setting to modify."; menu "Monster Display",iMonster,"Number of Rounds",iRounds,"Prize Settings",iPrize; iMonster: callfunc "Monster_Display"; iRounds: callfunc "Rounds"; iPrize: callfunc "Prize"; OnInit: defpattern 1,"([^:]+):.\\s*OMFGBBQLEETSAUCEGMOCEANRULESHAI!!.*", "iCorrect"; activatepset 1; set $@EventON,0; set $@Wait,0; set $@Winner,0; set $Points,$Points; set $@ResetCounter,0; set $Rounds,$Rounds; set $Prize,$Prize; set $PrizeAmt,$PrizeAmt; set $Rule,$Rule; 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; setarray $@BlackList[0], 1003,1006,1017,1021,1022,1027,1043,1075,1136,1137,1168,1171,1172,1173,1181,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; setarray $@BlackList2[0],2119,2120,2121,2123,2124,2125,1496; end; OnClock0010: OnClock0050: OnClock0130: 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; setnpctimer 0; initnpctimer; end; OnTimer10000: if ($@Timer){end;} if ($@Change){end;} set $@Wait,0; goto iDisguise; //donpcevent "DisguiseEvent::OnDisguise"; 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 725; set $MonsterName$,"OMFGBBQLEETSAUCEGMOCEANRULESHAI!!"; deletepset 1; stopnpctimer; setnpctimer 0; initnpctimer; end; OnTimer60000: if ($@Timer!=1){end;} if ($@Timer==1) {announce "The disguise event will begin in 2 minutes.",bc_all | bc_blue; end;} OnTimer120000: if ($@Timer!=1){end;} if ($@Timer==1) {announce "The disguise event will begin 1 minute.",bc_all | bc_blue; end;} OnTimer180000: if ($@Timer!=1){end;} if ($@Timer==1) {announce "The disguise event has begun!",bc_all | bc_blue; set $@Timer,0; stopnpctimer; setnpctimer 0; initnpctimer; goto iDisguise; //donpcevent "DisguiseEvent::OnDisguise"; end;} announce "Something went wrong with the disguise event.",bc_all | bc_blue; announce "Please notify a GM ASAP. Thank you.",bc_all | bc_blue; end; iDisguise: if ($Rule==1) {set $@Winner,0; set $@Monster,1000+rand(1,995); for(set .@BL,0; .@BL<getarraysize($@BlackList); set .@BL,.@BL+1) {if ($@Monster==$@BlackList[.@BL] || $@Monster==$@BlackList2[.@BL]) {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; //Hint //npctalk ""+$@Monster+", "+$MonsterName$+""; end; iCorrect: if ($@Winner){dispbottom "Someone has already won this round."; end;} set $@Winner,1; set $@RoundCount,$@RoundCount+1; deletepset 1; defpattern 1,"([^:]+):.*\\sOMFGBBQLEETSAUCEGMOCEANRULESHAI!!.*", "iFailCheater"; 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; iFailCheater: end; } //--- The Functions ---// function script Rounds { next; mes "Please Input the number of rounds you want the event to last."; mes "Current Number of Rounds: [^0000FF"+$Rounds+"^000000]"; input .@Rounds; set $Rounds,.@Rounds; next; mes "The number of rounds has been changed successfully."; mes "Number of Rounds: [^0000FF"+$Rounds+"^000000]"; mes "Come again."; close; } function script Prize { next; mes "Please Input the ItemID of the prize that will be given each round."; mes "Current Items is: [^0000FF"+getitemname($Prize)+"^000000] ItemID - ^0000FF"+$Prize+"^000000"; input .@Prize; if (getitemname(.@Prize)=="" || getitemname(.@Prize)=="null") {next; mes "That item does not exist. Please try again."; close;} set $Prize,.@Prize; next; mes "Please Input the Ammount that is to be given."; input .@Ammount; if (.@Ammount<=0 || .@Ammount>=1) {next; mes "That ammount is invalid. Using default ammount of 1.";} set $PrizeAmt,.@Ammount; next; mes "The Prize has been changed successfully."; mes "Prize: [^0000FF"+getitemname($Prize)+"^000000]x(^0000FF"+$PrizeAmt+"^000000)"; close; } function script Monster_Display { setarray .@Rule[0],0,1,2; setarray .@Desc$[0],"","Transform as all monsters.","Transform as MvP's only."; next; mes "Please select a disguise Rule."; mes "Rule 1 - Transform as all monsters."; mes "Rule 2 - Transform as MvP's only."; menu "Rule 1:Rule 2",iRule; iRule: set $Rule,.@Rule[@menu]; next; mes "The disguise Rule, has been changed successfully."; mes "Current Rule: ^0000FF"+$Rule+"^000000 - ^0000FF"+.@Desc$[@menu]+"^000000"; close; } Error at this ~ //--- The Functions ---// function script Rounds { next; mes "Please Input the number of rounds you want the event to last."; mes "Current Number of Rounds: [^0000FF"+$Rounds+"^000000]"; input .@Rounds; set $Rounds,.@Rounds; next; mes "The number of rounds has been changed successfully."; mes "Number of Rounds: [^0000FF"+$Rounds+"^000000]"; mes "Come again."; close; } function script Prize { next; mes "Please Input the ItemID of the prize that will be given each round."; mes "Current Items is: [^0000FF"+getitemname($Prize)+"^000000] ItemID - ^0000FF"+$Prize+"^000000"; input .@Prize; if (getitemname(.@Prize)=="" || getitemname(.@Prize)=="null") {next; mes "That item does not exist. Please try again."; close;} set $Prize,.@Prize; next; mes "Please Input the Ammount that is to be given."; input .@Ammount; if (.@Ammount<=0 || .@Ammount>=1) {next; mes "That ammount is invalid. Using default ammount of 1.";} set $PrizeAmt,.@Ammount; next; mes "The Prize has been changed successfully."; mes "Prize: [^0000FF"+getitemname($Prize)+"^000000]x(^0000FF"+$PrizeAmt+"^000000)"; close; } function script Monster_Display { setarray .@Rule[0],0,1,2; setarray .@Desc$[0],"","Transform as all monsters.","Transform as MvP's only."; next; mes "Please select a disguise Rule."; mes "Rule 1 - Transform as all monsters."; mes "Rule 2 - Transform as MvP's only."; menu "Rule 1:Rule 2",iRule; iRule: set $Rule,.@Rule[@menu]; next; mes "The disguise Rule, has been changed successfully."; mes "Current Rule: ^0000FF"+$Rule+"^000000 - ^0000FF"+.@Desc$[@menu]+"^000000"; close; } [ Error ]: npc_parsesrcfile: Unknow syntax in file 'npc/custom/disguise.txt' , line '207' . Stopping . . . * w1= function script Rounds * w2= * w3= * w4= Please Help Me For this Script .. Edited March 21, 2013 by Ichigo Chaozen Quote
frenzmu06 Posted March 21, 2013 Posted March 21, 2013 it is on the latest svncheck the folders under npc/custom Quote
zein Posted March 21, 2013 Posted March 21, 2013 https://rathena.svn.sourceforge.net/svnroot/rathena/trunk/npc/custom/events/disguise.txt 1 Quote
Ichigo Chaozen Posted March 21, 2013 Author Posted March 21, 2013 (edited) Still Got Error sir ..Error at this ~ [ Error ]: Loading NPC file: npc/custom/disguise.txt case 1: setarray .@r$[0],"Disguise as all monsters.","Disguise as MVPs only."; mes .@n$; mes "Choose a disguise rule."; next; *61 set .Rule, select(implode(.@r$,":")); mes .@n$; mes "The Disguise Rule has been set:"; mes " > ^0055FF"+.@r$[.Rule-1]+"^000000"; close; case 2: And This ~ script error on npc/custom/disguise.txt line 61 parse_callfunc: expected ')' to close argument list . . . set .Rule, select(implode(.@r$,":")); mes .@n$; mes "The Disguise Rule has been set:"; mes " > ^0055FF"+.@r$[.Rule-1]+"^000000"; close; case 2: Edited March 21, 2013 by Ichigo Chaozen Quote
Emistry Posted March 22, 2013 Posted March 22, 2013 what problem....and where your script... explain ur problems Quote
Ichigo Chaozen Posted March 22, 2013 Author Posted March 22, 2013 (edited) I Already Have Fix Script ~ I'll Share My Script "Disguise Event" disguise.txt Edited March 22, 2013 by Ichigo Chaozen Quote
Question
Ichigo Chaozen
I have Problem With this ~
10 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.