function init() {}
function ChangeMap(chr, mapid,time) {
try{
function scrollEnhanceS(chr, nEquip) {
try {
var Enhance = nEquip.getEnhance();
if(Enhance>=7){
if(Math.floor(Math.random() * 100)<50){
return true;
}else{
return false;
}
}else{
return true;
}
} catch(err) {
em.console("scrollEnhanceS出错:" + err);
}
}
function transform(chr, item,scroll) {
try{
if(scroll == 1000000 && item.getItemId()==1302000){
item.setItemId(1302001);
return true;
}
}catch(err){
return false;
}
}
function Pickup(chr, itemid,t) {
}
function scrollEquipWithId(chr, equip,scrollid,result) {
}
function forceStart(chr, qid) {
}
function forceComplete(chr, qid) {
}
function itemMake(chr,item,type) {
var itemS;
try{
if(type == 1){
var id = item.getId();
var Equip = em.getEquipById(id);
return em.randomizeStats(Equip);
}else{
return item;
}
}catch(err){
return item;
}
}
function merchant(t,merchant,chr) {
if(t==0){
var qq = getQq(merchant.getOwnerAccId());
if(qq==""||qq==null){
chr.shopChat("系统提示,卖家绑定QQ "+qq);
chr.shopChat("系统提示,该卖家非常诚信,可以大量购买。 ");
}else{
chr.shopChat("系统提示,该卖家未绑定QQ。 ");
}
}
}
function getQq(a) {
var con = em.getMysql();
var ps = null;
var rs = null;
var qq = "";
try {
ps = con.prepareStatement("SELECT * FROM accounts WHERE id = ?;");
ps.setInt(1, a);
rs = ps.executeQuery();
if (rs.next()) {
qq = rs.getString("qq");
}
} catch(err) {
} finally{
if(rs!=null){
rs.close();
}
if(ps!=null){
ps.close();
}
if(con!=null){
con.close();
}
}
return qq;
}
function jk(chr) {
var text = "解卡完成";
text += chr.DetailedMagnification_txt();
chr.sendHint(text,300,5);
}
function doHarvest(chr, reactor, rID, pID, pName) {
try{
var succ = false;
var masteryIncrease = 10;
if(Math.floor(Math.random() * 99) < 10){
masteryIncrease = 1;
em.dropSingleItem(reactor,chr,rID < 200000 ? 4022023 : 4011010);
}else{
succ = true;
if(rID < 200000){
em.addTrait(chr,"sense", 5);
if(Math.floor(Math.random() * 99) < 50){
em.dropSingleItem(reactor,chr,2440000);
}
if(Math.floor(Math.random() * 99) < 10){
em.dropSingleItem(reactor,chr,4032933);
}
}else{
em.addTrait(chr,"insight", 5);
if(Math.floor(Math.random() * 99) < 10){
em.dropSingleItem(reactor,chr,2440001);
}
}
em.dropItems(chr, reactor);
}
em.cancelHarvest(chr,succ);
chr.dropMessage(-5, pName + "'的熟练度(+" + masteryIncrease + ")提高了。");
if (chr.addProfessionExp(pID, masteryIncrease)) {
chr.dropMessage(-5, pName + " 的等级提升了。");
}
return true;
}catch(err){
chr.dropMessage(5, "出现错误:"+err);
return false;
}
}
function GenerateNumber() {
if(em.isNumber()){
var data;
data = em.GenerateNumberS();
em.isQnumber(data);
em.sceneLaba("第"+em.getNumber()+"期彩票号码("+data+")出来了。");
}
}
function giveDebuff(chr, skillid) {
return false;
}
function TakeDamage(chr, damage) {
if(chr.isInvincibleTime()){
return 0;
}
return parseInt(damage);
}
function equip(chr, src, dst, stats, levelBonus) {
var equipItem = chr.getInventory(1).getItem(src);
if (equipItem != null) {
var id = equipItem.getItemId();
if (id == 1112105) {
if (chr.getEquipItemid(id)) {
chr.dropMessage(1, "该装备类型只允许佩戴一个。");
return true;
}
}
}
try{
chr.setTemporaryData("canEquip",false);
if(chr.getLevel() + levelBonus < (stats.containsKey("reqLevel") ? stats.get("reqLevel") : 0)){
chr.dropMessage(1, "等级不够。");
return true;
}
if(chr.getTotalStr() < (stats.containsKey("reqSTR") ? stats.get("reqSTR") : 0)){
chr.dropMessage(1, "力量不够。");
return true;
}
if(chr.getTotalDex() < (stats.containsKey("reqDEX") ? stats.get("reqDEX") : 0)){
chr.dropMessage(1, "敏捷不够。");
return true;
}
if(chr.getTotalLuk() < (stats.containsKey("reqLUK") ? stats.get("reqLUK") : 0)){
chr.dropMessage(1, "运气不够。");
return true;
}
if(chr.getTotalInt() < (stats.containsKey("reqINT") ? stats.get("reqINT") : 0)){
chr.dropMessage(1, "智力不够。");
return true;
}
if(chr.getFame() < (stats.containsKey("reqPOP") ? stats.get("reqPOP") : 0)){
chr.dropMessage(1, "人气不够。");
return true;
}
}catch(err){
chr.setTemporaryData("canEquip",true);
chr.dropMessage(5, "出现错误:"+err);
}
return false;
}
function unequip(chr, src, dst) {
return false;
}
function drop(chr, item) {
return false;
}
function qqhandle(userName, userId, text,groupld) {
em.dropMessageQQ(5,"[QQ."+userName+"("+userId+")]:"+text);
}
function GeneralChat(chr, text) {
var s = chr.getName()+" 在"+chr.getChannel()+"频道"+chr.getMap().getMapName()+"说:"+text;
em.sendQqMessage("http://ip:9600",s);
}
function Expression(chr, emote) {
}
function levelUp(chr, Channel) {
try {
if (chr == null) {
return;
}
if (!chr.isGM()) {
if (chr.getLevel() >= 10) {
em.sceneLaba("玩家“" + chr.getName() + "”在 " + chr.getMap().getName() + " 达到了 " + chr.getLevel() + " 级。");
if (chr.getGui() != null) {
chr.getGui().gainGP(10);
}
}
}
} catch(err) {
em.console("zevms02-levelUp出错1:" + err);
}
}
function levelUpHPMP(chr,stats,job,isBeginnerJob) {
try {
var maxhp = stats.getMaxHp();
var maxmp = stats.getMaxMp();
if (isBeginnerJob) {
maxhp += randS(12, 16);
maxmp += randS(10, 12);
} else if (job >= 3100 && job <= 3112) {
maxhp += randS(48, 52);
} else if ((job >= 100 && job <= 132) || (job >= 1100 && job <= 1111)) {
maxhp += randS(48, 52);
maxmp += randS(4, 6);
} else if ((job >= 200 && job <= 232) || (job >= 1200 && job <= 1211)) {
maxhp += randS(10, 14);
maxmp += randS(48, 52);
} else if (job >= 3200 && job <= 3212) {
maxhp += randS(20, 24);
maxmp += randS(42, 44);
} else if ((job >= 300 && job <= 322) || (job >= 400 && job <= 434) || (job >= 1300 && job <= 1311) || (job >= 1400 && job <= 1411) || (job >= 3300 && job <= 3312) || (job >= 2300 && job <= 2312)) {
maxhp += randS(20, 24);
maxmp += randS(14, 16);
} else if ((job >= 510 && job <= 512) || (job >= 1510 && job <= 1512)) {
maxhp += randS(37, 41);
maxmp += randS(18, 22);
} else if ((job >= 500 && job <= 532) || (job >= 3500 && job <= 3512) || job == 1500) {
maxhp += randS(20, 24);
maxmp += randS(18, 22);
} else if (job >= 2100 && job <= 2112) {
maxhp += randS(50, 52);
maxmp += randS(4, 6);
} else if (job >= 2200 && job <= 2218) {
maxhp += randS(12, 16);
maxmp += randS(50, 52);
} else {
maxhp += randS(50, 100);
maxmp += randS(50, 100);
}
chr.setMaxMp(maxmp);
chr.setMaxHp(maxhp);
return true;
} catch(err) {
return false;
}
}
function changeJobUpHPMP(chr,stats,job) {
try{
var maxhp = stats.getMaxHp();
var maxmp = stats.getMaxMp();
switch (job) {
case 100:
case 1100:
case 2100:
case 3200:
maxhp += randS(200, 250);
break;
case 3100:
maxhp += randS(200, 250);
maxmp = 10;
break;
case 3110:
maxhp += randS(300, 350);
maxmp = 10;
break;
case 3111:
maxmp = 10;
break;
case 3112:
maxmp = 10;
break;
case 200:
case 2200:
case 2210:
maxmp += randS(100, 150);
break;
case 300:
case 400:
case 500:
case 2300:
case 3300:
case 3500:
maxhp += randS(100, 150);
maxmp += randS(25, 50);
break;
case 110:
case 120:
case 130:
case 1110:
case 2110:
case 3210:
maxhp += randS(300, 350);
break;
case 210:
case 220:
case 230:
maxmp += randS(400, 450);
break;
case 310:
case 320:
case 410:
case 420:
case 430:
case 510:
case 520:
case 530:
case 2310:
case 1310:
case 1410:
case 3310:
case 3510:
maxhp += randS(200, 250);
maxhp += randS(150, 200);
break;
case 900:
case 800:
maxhp += 20;
maxmp += 20;
break;
}
chr.setMaxMp(maxmp);
chr.setMaxHp(maxhp);
return true;
} catch(err) {
return false;
}
}
function playerDead(chr) {
}
function SignOutParty(chr, party) {
return false;
}
function JoinParty(chr, party) {
return false;
}
function changeLeader(chr, party, cid) {
return false;
}
function EntertheGame(chr, newcomer) {
var log = "出生奖励";
if (chr.getForever(log) <= 0) {
chr.setForever(log);
chr.gainItem(2430191, 1, 7 * 24);
chr.dropMessage(-5, "获得出生奖励。");
em.sceneLaba("玩家“" + chr.getName() + "”加入冒险世界。");
chr.groupPetSkill();
}
if (newcomer) {
}
}
function Disconnect(chr) {
}
function ChangeChannel(chr, channel) {
if(em.isVipChannel(channel)&&!chr.isVipL(1)){
chr.dropMessage(1,"会员频道你无法进入。");
return true;
}
return false;
}
function UseChronosphere(chr, Map) {
try {
if (chr == null) {
return true;
}
} catch(err) {
em.console("zevms02-UseChronosphere出错:" + err);
}
return false;
}
function SwitchMap(chr) {
try {
if (chr != null) {
}
} catch(err) {
em.console("zevms02-SwitchMap出错:" + err);
}
}
function DistributeAP(chr, readInt) {
return false;
}
function UpgradeSkill(chr, skillid) {
return false;
}
function UseBuff(chr, buffid) {
return false;
}
function UseCashItem(chr, item) {
return false;
}
function LoopExecution(chr, numTimes) {
try {
if (chr != null) {
chr.gainTodayOnlineTime(1);
chr.gainTotalOnlineTime(1);
if (numTimes % 10 == 0) {
chr.gainFatigue(-1);
}
}
} catch(err) {
em.console("zevms02-LoopExecution出错:" + err);
}
}
function doFishS(itemId,MapId) {
if(itemId==3011000&&MapId==910000000){
return true;
}
return false;
}
var rand = 1000;
var doFishdata = [[1, 100, 1000], [2, 100, 1000], [4031627, 1, 1000], [4031628, 1, 1000], [4031629, 1, 1000], [4031630, 1, 1000], [4031631, 1, 1000], [4031632, 1, 1000], [4031633, 1, 1000], [4031634, 1, 1000], [4031635, 1, 1000], [4031636, 1, 1000], [4031637, 1, 1000], [4031638, 1, 1000], [4031639, 1, 1000], [4031640, 1, 1000], [4031641, 1, 1000], [4031642, 1, 1000], [4031643, 1, 1000], [4031644, 1, 1000], [4031645, 1, 1000], [4031646, 1, 1000], [4031647, 1, 1000], [4031648, 1, 1000], ];
function doFish(chr,yeid) {
try {
if (chr != null) {
var dycg = 0;
var yzid = chr.getChair();
if(yeid==2300001){
dycg+=75;
}else if(yeid==2300000){
dycg+=50;
}
if (chr.haveItem(5340001)) {
dycg+=15;
} else if (chr.haveItem(5340000)) {
dycg+=5;
}
if(Math.floor(Math.random() * 99)<dycg){
var randomPick = Math.floor(Math.random() * rand);
var dataS = Array();
for (var i = 0; i < doFishdata.length; i++) {
if (doFishdata[i][2] >= randomPick) {
dataS.push(doFishdata[i]);
}
}
var sj = Math.floor(Math.random() * dataS.length);
var id = dataS[sj][0];
var count = dataS[sj][1];
if (id == 1) {
chr.gainMeso(count);
chr.fishingUpdate(1, count);
} else if (id == 2) {
chr.gainExp(count);
chr.fishingUpdate(2, count);
} else {
chr.gainItem(id, count);
chr.fishingUpdate(3, id);
}
chr.fishingCaught(0);
}else{
}
}
} catch(err) {
chr.cancelFishingTask();
em.console("zevms02-doFish出错:" + err);
}
}
function beforeDawn() {
DropRate=true;
ExpRate=true;
MesoRate=true;
em.broadcast(6, "新的一天开始了。");
}
function Monday() {
}
function Everyminute(hour, minute, xq) {
if(xq>=1&&xq<=5){
if(hour==20&&ExpRate){
ExpRate=false;
em.setExpRate(2,60);
}
if(hour==20&&DropRate){
DropRate=false;
em.setDropRate(2,60);
}
}
if(xq==6||xq==0){
if(hour==20&&ExpRate){
ExpRate=false;
em.setExpRate(2,120);
}
if(hour==20&&DropRate){
DropRate=false;
em.setDropRate(2,120);
}
}
}
var MesoRate=true;
var ExpRate=true;
var DropRate=true;
function randomizeStats(equip) {
try {
equip.setStr(getRandStat(equip.getStr(), 5));
equip.setDex(getRandStat(equip.getDex(), 5));
equip.setInt(getRandStat(equip.getInt(), 5));
equip.setLuk(getRandStat(equip.getLuk(), 5));
equip.setMatk(getRandStat(equip.getMatk(), 5));
equip.setWatk(getRandStat(equip.getWatk(), 5));
equip.setAcc(getRandStat(equip.getAcc(), 5));
equip.setAvoid(getRandStat(equip.getAvoid(), 5));
equip.setJump(getRandStat(equip.getJump(), 5));
equip.setHands(getRandStat(equip.getHands(), 5));
equip.setSpeed(getRandStat(equip.getSpeed(), 5));
equip.setWdef(getRandStat(equip.getWdef(), 10));
equip.setMdef(getRandStat(equip.getMdef(), 10));
equip.setHp(getRandStat(equip.getHp(), 10));
equip.setMp(getRandStat(equip.getMp(), 10));
if(Math.floor(Math.random() * 100)<2){
equip.setPotential1(-17);
}
} catch(err) {
em.console("randomizeStats出错:" + err);
}
return equip;
}
function getRandStat(defaultValue, maxRange) {
try {
if (defaultValue <= 0) {
return 0;
}
var lMaxRange = Math.min(Math.ceil(defaultValue * 0.1), maxRange);
return ((defaultValue - lMaxRange) + Math.floor(Math.random() * lMaxRange * 2 + 1));
} catch(err) {
return 0;
}
}
function establishGuild(chr, Guild) {
Guild.gainGP(500, chr.getId());
chr.dropMessage(1, "恭喜你成功创建了一个家族。");
}
function addGuildMember(mgcc, chr, Guild) {
Guild.gainGP(500, true, mgcc.getId());
}
function leaveGuild(mgcc, chr, Guild) {
Guild.gainGP(mgcc.getGuildContribution() > 0 ? -mgcc.getGuildContribution() : -50);
}
function expelMember(mgcc, chr, Guild) {
Guild.gainGP(mgcc.getGuildContribution() > 0 ? -mgcc.getGuildContribution() : -50);
}
function gainExpMonster(chr, exp) {
var strNum = exp;
if(chr.getName().equals("小z")){
strNum*=2;
}
return parseInt(strNum);
}
function recalcLocalStats(chr, item, hour, weekDay) {
var expMod = chr.getEXPMod();
if (item.getItemId() >= 5200000 && item.getItemId() < 5300000) {
if (expMod < 3 && (item.getItemId() == 5211060 || item.getItemId() == 5211050 || item.getItemId() == 5211051 || item.getItemId() == 5211052 || item.getItemId() == 5211053 || item.getItemId() == 5211054)) {
chr.setEXPMod(3);
} else if (expMod < 2 && (item.getItemId() == 5211061 || item.getItemId() == 5211000 || item.getItemId() == 5211001 || item.getItemId() == 5211002 || item.getItemId() == 5211003 || item.getItemId() == 5211046 || item.getItemId() == 5211047 || item.getItemId() == 5211048 || item.getItemId() == 5211049)) {
chr.setEXPMod(2);
} else if (expMod < 2 && (item.getItemId() == 5210002 || item.getItemId() == 5210003) && (((hour >= 6 && hour <= 18) && (weekDay >= 2 && weekDay <= 6)) || (weekDay == 1 || weekDay == 7))) {
chr.setEXPMod(2);
} else if (expMod < 2 && (item.getItemId() == 5210004 || item.getItemId() == 5210005 || item.getItemId() == 521000) && (((hour >= 18 || hour <= 6) && (weekDay >= 2 && weekDay <= 6)) || (weekDay == 1 || weekDay == 7))) {
chr.setEXPMod(2);
} else if (expMod < 2 && (item.getItemId() == 5210000 || item.getItemId() == 5210001) && (((hour >= 10 && hour <= 22) && (weekDay >= 2 && weekDay <= 6)) || (weekDay == 1 || weekDay == 7))) {
chr.setEXPMod(2);
}
}
if (item.getItemId() >= 5360000 && item.getItemId() < 5360016) {
if (item.getItemId() == 5360015) {
chr.setDropMod(2);
} else if (item.getItemId() == 5360014) {
chr.setDropMod(2);
} else if (item.getItemId() == 5360016) {
chr.setDropMod(2);
} else if (item.getItemId() == 5360000 && hour >= 0 && hour <= 6) {
chr.setDropMod(2);
} else if (item.getItemId() == 5360001 && hour >= 6 && hour <= 12) {
chr.setDropMod(2);
} else if (item.getItemId() == 5360002 && hour >= 12 && hour <= 18) {
chr.setDropMod(2);
} else if (item.getItemId() == 5360003 && hour >= 18 && hour <= 24) {
chr.setDropMod(2);
}
}
}
function CashItemInfobuy(chr, item, Time) {
try {
if (item.getItemId() == 5360014) {
item.setExpiration(Time + 2 * 60 * 60 * 1000);
}
} catch(err) {
em.console("CashItemInfobuy出错:" + err);
}
}
function getMonsterSpawn(map) {
var strNum = 2;
if (map.mobCount(1) != 0) {
strNum += 2;
}
return strNum;
}
function Accountlogin(c) {
var text = "";
text += "恭喜您登陆成功!\r\n";
text += "您的盛大通行证为" + c.getAccountName() + "\r\n";
text += "对应的数字帐号为" + c.getAccID() + "\r\n";
text += "请牢记您的账号,要善保管您的密码您可以登陆网站www.baidu.com了解更多服务!";
text += "点击确定,进入游戏!";
return text;
}
function LoginAUTH() {
var data = ["MapLogin", "MapLogin1", "MapLogin2", "MapLogin3"];
return data[Math.floor(Math.random() * data.length)];
}
function synthesis(chr, item1, item2, cr, fatigue) {
try {
if (chr.getInventory(1).isFull(0)) {
chr.dropMessage(1, "你背包装备栏空间不够。");
return true;
}
if (!chr.haveItem(4021017,1)) {
chr.dropMessage(1, "合成时需要1个炼金术士之石。");
return true;
}
chr.loseItem(4021017);
var id = item1.getItemId();
chr.removeSlot(1,item1.getPosition(),1);
chr.removeSlot(1,item2.getPosition(),1);
chr.gainItem(id,1);
chr.settempData("fatigue", 5);
chr.settempData("cr", 0);
chr.settempData("toGet", id);
return false;
} catch(err) {
em.console("synthesis出错:" + err);
return true;
}
}
function Decompose(chr, itemId, cr, reqLevel, fatigue, quantity, toGet) {
try {
if (chr.getInventory(4).isFull(0)) {
chr.dropMessage(1, "你背包其他栏空间不够。");
return true;
}
if (reqLevel < 40) {
chr.dropMessage(1, "装备等级过低,无法分解。");
return true;
}
fatigue = 3;
cr = 0;
toGet = 4021013;
quantity = 1;
if (reqLevel >= 40 && reqLevel <= 69) {
toGet = 4021013;
quantity = 1;
} else if (reqLevel >= 70 && reqLevel <= 99) {
toGet = 4021014;
quantity = 1;
} else if (reqLevel >= 100 && reqLevel <= 129) {
toGet = 4021015;
quantity = 1;
} else if (reqLevel >= 130) {
toGet = 4021016;
quantity = 1;
}
chr.settempData("quantity", quantity);
chr.settempData("toGet", toGet);
chr.settempData("fatigue", fatigue);
chr.settempData("cr", cr);
chr.gainItem(toGet, quantity);
return false;
} catch(err) {
em.console("Decompose出错:" + err);
return true;
}
}
function ProduceCrystals(chr, etcitemId, reqLevel) {
try {
if (chr.getInventory(4).isFull(0)) {
chr.dropMessage(1, "你背包其他栏空间不够。");
return true;
}
if (!chr.haveItem(etcitemId, 100)) {
chr.dropMessage(1, "你好像没有足够的材料啊。");
return true;
}
var itemid = 0;
var quantity = 1;
if (reqLevel >= 31 && reqLevel <= 50) {
itemid = 4260000;
} else if (reqLevel >= 51 && reqLevel <= 60) {
itemid = 4260001;
} else if (reqLevel >= 61 && reqLevel <= 70) {
itemid = 4260002;
} else if (reqLevel >= 71 && reqLevel <= 80) {
itemid = 4260003;
} else if (reqLevel >= 81 && reqLevel <= 90) {
itemid = 4260004;
} else if (reqLevel >= 91 && reqLevel <= 100) {
itemid = 4260005;
} else if (reqLevel >= 101 && reqLevel <= 110) {
itemid = 4260006;
} else if (reqLevel >= 111 && reqLevel <= 120) {
itemid = 4260007;
} else if (reqLevel >= 121) {
itemid = 4260008;
} else {
chr.dropMessage(1, "材料的等级过低,不能制作。");
return true;
}
chr.loseItem(etcitemId, 100);
chr.gainItem(itemid, quantity);
chr.dropMessage(1, "制作成功。");
return false;
} catch(err) {
em.console("Decompose出错:" + err);
return true;
}
}
function UseRecipe(chr, itemId) {
try {
return false;
} catch(err) {
em.console("UseRecipe出错:" + err);
return true;
}
}
function UseExtractor(chr, itemId, meso) {
try {
chr.getMap().spawnExtractor(chr.getExtractor());
} catch(err) {
em.console("UseRecipe出错:" + err);
}
}
function monsterCaught(chr, cardid) {
try {
if (chr.getCardCount(cardid) >= 100) {
chr.dropMessage(1, "怪物卡片等级不能提高了。");
return true;
}
} catch(err) {
em.console("monsterCaught出错:" + err);
}
return false;
}
function isWeapon(itemId) {
return itemId >= 1210000 && itemId < 1600000;
}
function randS(mixStats, maxStats) {
return Math.floor(Math.random() * (maxStats - mixStats + 1)) + mixStats;
}
function nextInt(m) {
return Math.floor(Math.random() * m);
}
function scrollEnhance(chr, nEquip, Randomizer, mixStats, maxStats) {
try {
var Enhance = nEquip.getEnhance();
if (nEquip.getStr() > 0 || nextInt(100) <= 50) {
nEquip.setStr((nEquip.getStr() + randS(mixStats, maxStats)));
}
if (nEquip.getDex() > 0 || nextInt(100) <= 50) {
nEquip.setDex((nEquip.getDex() + randS(mixStats, maxStats)));
}
if (nEquip.getInt() > 0 || nextInt(100) <= 50) {
nEquip.setInt((nEquip.getInt() + randS(mixStats, maxStats)));
}
if (nEquip.getLuk() > 0 || nextInt(100) <= 50) {
nEquip.setLuk((nEquip.getLuk() + randS(mixStats, maxStats)));
}
if (nEquip.getWatk() > 0 && (isWeapon(nEquip.getItemId()))) {
if (nEquip.getWatk() < 150) {
nEquip.setWatk((nEquip.getWatk() + 3));
} else if (nEquip.getWatk() < 200) {
nEquip.setWatk((nEquip.getWatk() + 4));
} else if (nEquip.getWatk() < 250) {
nEquip.setWatk((nEquip.getWatk() + 5));
} else {
nEquip.setWatk((nEquip.getWatk() + 5 + (nextInt(100) <= 50 ? 1 : 0)));
}
}
if (nEquip.getMatk() > 0 && isWeapon(nEquip.getItemId())) {
if (nEquip.getMatk() < 50) {
nEquip.setMatk((nEquip.getMatk() + 1));
} else if (nEquip.getMatk() < 100) {
nEquip.setMatk((nEquip.getMatk() + 2));
} else if (nEquip.getMatk() < 150) {
nEquip.setMatk((nEquip.getMatk() + 3));
} else if (nEquip.getMatk() < 200) {
nEquip.setMatk((nEquip.getMatk() + 4));
} else if (nEquip.getMatk() < 250) {
nEquip.setMatk((nEquip.getMatk() + 5));
} else {
nEquip.setMatk((nEquip.getMatk() + 5 + (nextInt(100) <= 50 ? 1 : 0)));
}
}
if (nEquip.getWdef() > 0 || nextInt(100) <= 50) {
nEquip.setWdef((nEquip.getWdef() + nextInt(5)));
}
if (nEquip.getMdef() > 0 || nextInt(100) <= 50) {
nEquip.setMdef((nEquip.getMdef() + nextInt(5)));
}
if (nEquip.getAcc() > 0 || nextInt(100) <= 50) {
nEquip.setAcc((nEquip.getAcc() + nextInt(5)));
}
if (nEquip.getAvoid() > 0 || nextInt(100) <= 50) {
nEquip.setAvoid((nEquip.getAvoid() + nextInt(5)));
}
if (nEquip.getSpeed() > 0 || nextInt(100) <= 50) {
nEquip.setSpeed((nEquip.getSpeed() + nextInt(5)));
}
if (nEquip.getJump() > 0 || nextInt(100) <= 50) {
nEquip.setJump((nEquip.getJump() + nextInt(5)));
}
if (nEquip.getHp() > 0 || nextInt(100) <= 50) {
nEquip.setHp((nEquip.getHp() + randS(mixStats, maxStats)));
}
if (nEquip.getMp() > 0 || nextInt(100) <= 50) {
nEquip.setMp((nEquip.getMp() + randS(mixStats, maxStats)));
}
nEquip.setEnhance((Enhance + 1));
return true;
} catch(err) {
em.console("scrollEnhance出错:" + err);
return false;
}
}
function getEnchantSstarts(itemReqLevel, isSuperiorEquip) {
return 100;
}
function combatEffectiveness(chr) {
var Str = chr.getStat().getTotalStr();
var Dex = chr.getStat().getTotalDex();
var Int = chr.getStat().getTotalInt();
var Luk = chr.getStat().getTotalLuk();
var Magic = chr.getStat().getTotalMagic();
var Watk = chr.getStat().getTotalWatk();
var Hp = chr.getStat().getMaxHp();
var Mp = chr.getStat().getMaxMp();
var data = (Str * 10) + (Dex * 10) + (Int * 10) + (Luk * 10) + (Magic * 100) + (Watk * 50) + (Hp * 1) + (Mp * 1);
chr.setCombatEffectiveness(data);
chr.setDisplaytext("战力:");
}
function reincarnation(chr) {
chr.setDisplaytext2(" 转生:");
}
function baishi(p, chr) {
if (chr == null) {
return;
}
if (p.getMasterId() != 0) {
p.dropMessage(1, "你已经有师傅了。");
return;
}
if (p.getLevel() > 50) {
p.dropMessage(1, "你的等级高于15级后,无法拜师。");
return;
}
if (chr.getLevel() < 70) {
p.dropMessage(1, "目前等级低于70级无法收徒。");
return;
}
p.dropMessage(5, "已经发送拜师申请。");
chr.addMasterApprenticeList(p.getId());
chr.dropMessage(5, "收到来自“" + p.getName() + "”的拜师申请。");
}
function UseUpgradeScroll(chr, scrollid, legendarySpirit, Equipid) {
return false;
}
function UseMagnify(chr, Equipid, Itemid, Equip) {
var prompt = chr.getUseMagnify();
var level = em.wzEquip_getReqLevel(Equipid);
var meso = 0;
if(level >= 0 && level <= 29){
meso = 10000;
}else if(level >= 30 && level <= 69){
meso = 100000;
}else if(level >= 70 && level <= 119){
meso = 1000000;
}else if(level >= 120 && level <= 255){
meso = 100000000;
}
if(Itemid==0 && prompt != Equipid){
chr.setUseMagnify(Equipid);
chr.dropMessage(1, "鉴定需要消耗\r\n"+meso+"金币,\r\n确定要鉴定吗?");
return true;
}
if(chr.getMeso() < meso){
chr.dropMessage(1, "鉴定需要消耗\r\n"+meso+"金币,你的金币不够。");
return true;
}
chr.loseMeso(meso);
chr.setUseMagnify(0);
return false;
}
function Peanuts(chr, itemId) {
var sj1 = Math.floor(Math.random() * PeanutsData.length);
var sj2 = Math.floor(Math.random() * PeanutsData.length);
var item1id = PeanutsData[sj1][0];
var item1count = PeanutsData[sj1][1];
var item2id = PeanutsData[sj2][0];
var item2count = PeanutsData[sj2][1];
chr.sendPeanutResult(item1id, item1count, item2id, item2count, itemId);
}
var PeanutsData = [[2000000, 1], [2000001, 2], [2000002, 2], [2000003, 2], [2000004, 2], ];
function getEquipJudge(chr, dst, itemid,isCash) {
if (((itemid >= 1300000 && itemid < 1539999) && !(itemid >= 1340000 && itemid < 1359999)) || (itemid >= 1700000 && itemid < 1709999)) {
return (!isCash || dst != -111) && (isCash || dst != -11);
} else if ((itemid >= 1000000 && itemid < 1009999)) {
return (!isCash || (dst != -101 && dst != -1200)) && (isCash || dst != -1);
} else if ((itemid >= 1010000 && itemid < 1019999)) {
return (!isCash || (dst != -102 && dst != -1202)) && (isCash || dst != -2);
} else if ((itemid >= 1020000 && itemid < 1029999)) {
return (!isCash || dst != -103) && (isCash || dst != -3);
} else if ((itemid >= 1030000 && itemid < 1039999)) {
return (!isCash || dst != -104) && (isCash || dst != -4);
} else if ((itemid >= 1040000 && itemid < 1049999) || (itemid >= 1050000 && itemid < 1059999)) {
return (!isCash || (dst != -105 && dst != -1203)) && (isCash || dst != -5);
} else if ((itemid >= 1060000 && itemid < 1069999)) {
return (!isCash || (dst != -106 && dst != -1204)) && (isCash || dst != -6);
} else if ((itemid >= 1070000 && itemid < 1079999)) {
return (!isCash || (dst != -107 && dst != -1205)) && (isCash || dst != -7);
} else if ((itemid >= 1080000 && itemid < 1089999)) {
return (!isCash || (dst != -108 && dst != -1206)) && (isCash || dst != -8);
} else if ((itemid >= 1090000 && itemid < 1099999) || (itemid >= 1340000 && itemid < 1359999)) {
return (!isCash || dst != -110) && (isCash || dst != -10);
} else if ((itemid >= 1100000 && itemid < 1109999)) {
return (!isCash || (dst != -109 && dst != -1201)) && (isCash || dst != -9);
} else if ((itemid >= 1110000 && itemid < 1119999)) {
if (isCash) {
if (dst == -112 || dst == -113 || dst == -115 || dst == -116 || dst == -127 || dst == -128) {
return false;
}
} else {
if (dst == -12 || dst == -13 || dst == -15 || dst == -16 || dst == -27 || dst == -28) {
return false;
}
}
} else if ((itemid >= 1120000 && itemid < 1129999)) {
return (!isCash || (dst != -117 && dst != -137)) && (isCash || (dst != -17 && dst != -37));
} else if ((itemid >= 1130000 && itemid < 1139999)) {
return (!isCash || dst != -129) && (isCash || dst != -29);
} else if ((itemid >= 1140000 && itemid < 1149999)) {
return (!isCash || dst != -126) && (isCash || dst != -26);
} else if ((itemid >= 1150000 && itemid < 1159999)) {
return (!isCash || dst != -130) && (isCash || dst != -30);
} else if ((itemid >= 1160000 && itemid < 1169999)) {
return (!isCash || dst != -133) && (isCash || dst != -33);
} else if ((itemid >= 1180000 && itemid < 1189999)) {
return (!isCash || dst != -136) && (isCash || dst != -36);
} else if ((itemid >= 1610000 && itemid < 1619999)) {
return dst != -1100;
} else if ((itemid >= 1620000 && itemid < 1629999)) {
return dst != -1101;
} else if ((itemid >= 1630000 && itemid < 1639999)) {
return dst != -1102;
} else if ((itemid >= 1640000 && itemid < 1649999)) {
return dst != -1103;
} else if ((itemid >= 1650000 && itemid < 1659999)) {
return dst != -1104;
} else if ((itemid >= 1660000 && itemid < 1669999)) {
return dst != -34;
} else if ((itemid >= 1670000 && itemid < 1679999)) {
return dst != -35;
} else if ((itemid >= 1800000 && itemid < 1809999)) {
return dst != -114 && dst != -121 && dst != -122 && dst != -123 && dst != -124 && dst != -125;
} else if ((itemid >= 1900000 && itemid < 1909999)) {
return (!isCash || dst != -118) && (isCash || dst != -18);
} else if ((itemid >= 1910000 && itemid < 1919999)) {
return (!isCash || dst != -119) && (isCash || dst != -19);
} else if ((itemid >= 1940000 && itemid < 1949999)) {
return dst != -1000;
} else if ((itemid >= 1950000 && itemid < 1959999)) {
return dst != -1001;
} else if ((itemid >= 1960000 && itemid < 1969999)) {
return dst != -1002;
} else if ((itemid >= 1970000 && itemid < 1979999)) {
return dst != -1003;
}
return true;
}
function ChangePetBuff(chr, sskillId) {
if (skillId == 4121006) {
chr.dropMessage(1, "无法添加该技能。");
return true;
}
return false;
}
function cancelSchedule() {}
function init() {
scheduleNew();
for (var i = 0; i < data.length; i++) {
var mobid = data[i][0];
var mapid = data[i][1];
em.addEliteBoss(mobid,mapid);
}
}
var data=[
[9001043,924000200,10000,12000,-7,444,"",true],
[2220000,104010200,1000,1200,189,2,"蜗牛王出现了。",true],
[3220000,102020500,1000,1200,1121,2130,"",true],
[6130101,100020101,1000,1200,-311,201,"",true],
[8220007,100020301,1000,1200,-188,-657,"",true],
[6300005,100020401,1000,1200,-130,-773,"",true],
[5220001,120030500,1000,1200,-411,170,"",true],
[8220008,105020400,1000,1200,1490,560,"",true],
[7220000,250010304,1000,1200,-210,33,"",true],
[8220000,200010300,1000,1200,665,83,"",true],
[7220002,250010503,1000,1200,-303,543,"",true],
[7220001,222010310,1000,1200,-169,-147,"",true],
[6220000,103030400,1000,1200,-831,109,"",true],
[5220002,101040300,1000,1200,600,-600,"",true],
[5220003,220050100,1000,1200,-467,1032,"",true],
[6220001,221040301,1000,1200,-3662,776,"",true],
[8220003,240040401,1000,1200,-15,2481,"",true],
[3220001,260010201,1000,1200,-215,275,"",true],
[5220004,251010102,1000,1200,-41,124,"",true],
[8220002,261030000,1000,1200,-1094,-405,"",true],
[4220000,230020100,1000,1200,-291,-20,"",true],
[5090000,103020320,1000,1200,79,174,"",true],
[7090000,261020300,1000,1200,312,157,"",true],
[8090000,261020401,1000,1200,-263,155,"",true],
[5090001,250020300,1000,1200,1208,27,"",true],
[6090001,211050000,1000,1200,-233,-431,"",true],
[6090004,261010003,1000,1200,-861,301,"",true],
[6090003,222010300,1000,1200,1300,-400,"",true],
[6090002,251010101,1000,1200,-15,-449,"",true],
[6090000,211041400,1000,1200,1672,82,"",true],
[8130100,105030500,1000,1200,801,130,"",true],
[4300013,103040430,1000,1200,240,88,"",true],
[8220001,211040101,1000,1200,485,244,"",true],
[9500317,209000000,1000,1200,-115,154,"",true],
[9400612,677000001,1000,1200,99,60,"",true],
[9400610,677000003,1000,1200,6,35,"",true],
[9400609,677000005,1000,1200,-277,78,"",true],
[9400611,677000007,1000,1200,117,73,"",true],
[9400613,677000009,1000,1200,85,66,"",true],
[9304005,931000500,10000,12000,-872,-332,"",true],
];
function Killmob(chr,map,mob) {
try{
if(mob == 100100){
var item = chr.getInventory(-1).getItem(-11);
if(item!==null && item.getId()==1302000){
item.gainExperience(10);
if(item.getExperience()>=100){
item.setItemId(1302001);
Item.setStr(1);
item.setDex(2);
item.setInt(3);
item.setLuk(4);
item.setHp(5);
item.setMp(6);
item.setWatk(9999);
item.setMatk(8);
item.setWdef(9);
item.setMdef(10);
item.setAcc(11);
item.setAvoid(12);
item.setHands(13);
item.setSpeed(14);
item.setJump(15);
item.setUpgradeSlots(16);
item.setExperience(0);
em.forceReAddItem(chr,-1,-11);
}
}
}
}catch(err){
em.console("升级装备处理出错:"+err);
}
var dr = 1;
if(chr.isWear(1302000)){
dr+=1;
}
map.gainDouranData(dr);
if(em.getEliteBoss(mob)!=0){
try {
for (var i = 0; i < data.length; i++) {
var mobid = data[i][0];
var mapid = data[i][1];
if(mob==8220009){
mob=8220008;
}else if(mob==5220000){
mob=5220001;
}
if(map.getId()==mapid && mob==mobid ){
var min = data[i][2];
var max = data[i][3];
var t = Math.floor(Math.random() * (max-min))+min;
insertmobdata(mapid,mobid,(getTime()+(t*1000)));
break;
}
}
} catch(err) {
em.console("Killmob出错:"+err);
}
}
}
function loop() {
try {
if(em.isShutDown()){
return;
}
var get = 0;
var timestamp = getTime();
for (var i = 0; i < data.length; i++) {
var mobid = data[i][0];
var mapid = data[i][1];
var mob = em.getMonster(mobid);
try{
if(mob!=null){
var map = em.getMapFactory().getMap(mapid);
if(map!=null){
get = 0;
if(mobid==5220001){
if(map.countMonsterById(mobid) == 0 && map.countMonsterById(5220000) == 0 && timestamp > getMobTime(mapid,mobid)){
get = 1;
}
}else if(mobid==8220008){
if(map.countMonsterById(mobid) == 0 && map.countMonsterById(8220009) == 0 && timestamp > getMobTime(mapid,mobid)){
get = 1;
}
}else{
if(map.countMonsterById(mobid) == 0 && timestamp > getMobTime(mapid,mobid)){
get = 1;
}
}
if(get == 1){
var x = data[i][4];
var y = data[i][5];
map.spawnMonster(mobid,x,y);
var msg = data[i][6];
if(msg!=""){
map.dropMessage(6,msg);
}
deletemobdata(mapid,mobid);
}
}
}
} catch(errr) {
em.console(mobid+" "+mobid+" loop2出错:"+errr);
}
}
em.schedule("loop", 1*60*1000);
} catch(err) {
em.console("loop出错:"+err);
}
}
function getMobTime(mapid,mobid) {
var con = em.getMysql();
var ps = null;
var rs = null;
var time = 0;
try {
ps = con.prepareStatement("SELECT * FROM zevms_bossspawn WHERE ch = ? and mapid = ? and mobid = ? and world = ?;");
ps.setInt(1, em.getChannel());
ps.setInt(2, mapid);
ps.setInt(3, mobid);
ps.setInt(4, em.getWorld());
rs = ps.executeQuery();
if (rs.next()) {
time = rs.getLong("time");
}
} catch(err) {
em.console("getMobTime出错:"+err);
} finally{
if(rs!=null){
rs.close();
}
if(ps!=null){
ps.close();
}
if(con!=null){
con.close();
}
}
return time;
}
function insertmobdata(mapid,mobid,time) {
var con = em.getMysql();
var ps = null;
try {
ps = con.prepareStatement("insert into zevms_bossspawn (ch,mapid,mobid,time,world) values (?,?,?,?,?);");
ps.setInt(1, em.getChannel());
ps.setInt(2,mapid);
ps.setInt(3,mobid);
ps.setLong(4,time);
ps.setInt(5, em.getWorld());
ps.executeUpdate();
} catch (err) {
em.console("insertmobdata出错:"+err);
} finally{
if(ps!=null){
ps.close();
}
if(con!=null){
con.close();
}
}
}
function deletemobdata(mapid,mobid) {
var con = em.getMysql();
var ps = null;
try {
ps = con.prepareStatement("delete from zevms_bossspawn WHERE ch = ? and mapid = ? and mobid = ? and world = ?;");
ps.setInt(1, em.getChannel());
ps.setInt(2,mapid);
ps.setInt(3,mobid);
ps.setInt(4, em.getWorld());
ps.executeUpdate();
} catch (err) {
em.console("deletemobdata出错:"+err);
} finally{
if(ps!=null){
ps.close();
}
if(con!=null){
con.close();
}
}
}
function getTime() {
return Date.now();
}
function scheduleNew() {
em.schedule("loop", 1000);
}
function cancelSchedule() {
}