//============================================================================== // RagnarokOnline Original MVP Spawn Script Ver1.0 by Blaze //============================================================================== prontera.gat,0,0,0 script MVPSpawn -1,-1,-1,{ OnInit: // **********↓ 初期設定 ↓********** // 1列を1組にしてそれぞれ設定( , で区切る) // 湧かせるマップ名(gat指定) setarray 'map$,"moc_pryd04.gat","prt_maze03.gat","gef_dun02.gat"; // 子分モンスターのMobID setarray 'follow,1029,1101,1061; // 子分モンスターの数(この数の子分を倒すとボス湧き) setarray 'num,30,20,20; // ボスモンスターのMobID setarray 'boss,1038,1039,1046; // ボスを倒した時、次に子分が湧く時間(分単位、0で即湧き) setarray 'pop,60,120,120; // **********↑ ここまで ↑********** initnpctimer; copyarray 'mob,'num,getarraysize('num); copyarray 'time,'pop,getarraysize('pop); for(set '@i,0; '@i < getarraysize('map$); set '@i,'@i+1) areamonster 'map$['@i],0,0,500,500,"--ja--",'follow['@i],'num['@i],"MVPSpawn::OnKilled1"; end; OnKilled1: set '@dummy,getmapxy('@map$,'@dummy,'@dummy,0); for(set '@i,0; '@i < getarraysize('map$); set '@i,'@i+1) { if('@map$ == 'map$['@i]) { set 'mob['@i],'mob['@i]-1; if('mob['@i] == 0) areamonster 'map$['@i],0,0,500,500,"--ja--",'boss['@i],1,"MVPSpawn::OnKilled2"; } } end; OnKilled2: set '@dummy,getmapxy('@map$,'@dummy,'@dummy,0); for(set '@i,0; '@i < getarraysize('map$); set '@i,'@i+1) { if('@map$ == 'map$['@i]) { if('time['@i] == 0) { set 'mob['@i],'num['@i]; areamonster 'map$['@i],0,0,500,500,"--ja--",'follow['@i],'num['@i],"MVPSpawn::OnKilled1"; } else set 'flag['@i],1; } } end; OnTimer60000: for(set '@j,0; '@j < getarraysize('time); set '@j,'@j+1) { if('flag['@j]) set 'time['@j],'time['@j]-1; if('time['@j] == 0) { set 'mob['@j],'num['@j]; set 'time['@j],'pop['@j]; set 'flag['@j],0; areamonster 'map$['@j],0,0,500,500,"--ja--",'follow['@j],'num['@j],"MVPSpawn::OnKilled1"; } } initnpctimer; end; }