- Back to Home »
- 楓之谷教學 »
- 【楓之谷私服教學】大部分服務端通用的函數作用大全 作者:零排放
【前言】
在對岸網站看到,滿詳細的解說教學,有在玩腳本的朋友可以多加運用。
這邊排版整理後分享給大家
【正文】
cm.warpBack(200090070,104000000,80); //時間傳送
cm.getPlayer().addFame(20); //加人氣
cm.worldMessage(6,""); //全服
cm.mapMessage(6,""); //地圖
cm.playerMessage(6," "); //個人
cm.worldMessage2(11, "[公告] : 德瑪西亞");
1//彈窗
2//白底字
3//紅底紅字
4//普通藍色
5678910//普通紅色
11//白底粉紅色
12//紅底黑色
1藍色屏幕中彈窗//2聊天欄白底//4頂端黃色//5聊天欄紅色//6聊天欄藍色
cm.haveItem(xxxxxxx,xx); //判斷玩家背包是否有此道具
cm.gainItem(xxxxxxx,xx); //給予或者收取指定物品
cm.gainExp(); //給予收取經驗
cm.gainExp_PQ(200, 1.5); //給予經驗-----------待檢
cm.givePartyExp(12000); //給予團隊經驗
cm.getMeso(); //給予收取金幣
cm.getNX(); //給予收取點券
cm.givePartyItems(4001161, 0, true); //減去團隊道具
cm.openNpc(9900004,0); //打開NPC
cm.warp(xxxxxxxxx, 0); //個人傳送
cm.warpParty(xxxxxxxxx,x); //團隊傳送
cm.resetMap(xxxxxxx); //傳送 ----------------------待檢
cm.openShop(xxx); //打開一個商店
cm.changeJob(jobid); //改變職業
cm.changeMusic("Bgm00/xxxx"); //改變當前BGM
cm.startQuest(questid); //開始任務
cm.completeQuest(questid); //完成任務
cm.forfeitQuest(questid); //解除任務
cm.setBossLog(); //增加BossLog表值
cm.設置天氣(5120001); //改變地圖特效
cm.teachSkill(21001003,0,20); //給予技能
cm.克隆(); //出分身
cm.openWeb(); //打開網址
cm.spawnMob_map(9400613, 677000009 , 33, 66); //指定地圖召喚怪物
cm.spawnMonster(9400432,1445,-22); //當前地圖召喚怪物
cm.gainEquiPproperty(0,0,0,0,0,0,0,0,0,0,0); //增加第一件裝備屬性
//次數/w攻擊/m攻擊/力量/敏捷/智力/運氣/HP/MP/命中/迴避/
cm.removeAll(xxxxxxx); //從玩家背包銷毀指定物品
cm.gainGP(xx); //GP給予家族值 --------------待檢
cm.useItem(2210016); //直接使用道具
cm.showEffect(true, "quest/party/clear"); //播放動畫
cm.playSound(true, "arty1/Clear"); //播放音效
var xueliang=cm.getPlayer().getMaxHp();
cm.getPlayer().setMaxHp(xueliang+20); //增加玩家血量
cm.showInstruction(" ", 200, 3); //頭頂白色文本框
.toFixed(0)//小數點顯示
cm.setPlayer().setFame(1);//人氣設置
cm.getPlayer().addFame(1);//人氣
/////判斷類,取玩家值/////
cm.getPlayer().name//判斷角色表數值
getSkillLevel();判斷技能等級
cm.getSkillLevel(2001005)==6
!pi.haveMonster(9300216) //判斷這個地圖這個怪存在?
pi.getPlayer().getMap().getMonsterById(9300216) != null //判斷這個地圖這個怪存在?
cm.getPlayer().getInventory(pi.getInvType(-1)).findById(1003036) ==null //是否帶有此裝備
cm.getPlayer().haveItem(4000463, 20) //判斷隊伍道具
cm.getMap().getAllMonstersThreadsafe().size() //判斷地圖怪物數量
cm.getMap(xxxxxxxxx).getCharactersSize() //判斷指定地圖玩家數量
cm.getPlayer().getMapId() //取指定地圖
cm.getPlayer().getMarriageId() //判斷是否結婚
cm.getParty() == null //判斷組隊
cm.isLeader() //判斷是隊長
cm.getMembers().size() //取得隊友人數
cm.getPlayer().getParty(); //取得當前地圖隊友
checkLevelsAndMap(1, 200) == 1 //判斷隊友等級
cm.getClient().getChannel() //取得頻道值
cm.是否是認證玩家() //取認證表值
cm.getText(); //取文本
cm.getPlayer().getJob() //取得玩家職業
cm.getPlayer().getCSPoints(1) //取玩家點券值
cm.getPlayer().getCSPoints(2) //取玩家抵用券值
cm.getPlayer().getMeso() //取玩家金幣
cm.getPlayer().getLevel() //取玩家等級
cm.getChar().getName() //取玩家角色名稱
cm.getPlayer().getExp(); //取玩家經驗
cm.getPlayer().getGMLevel() > xx //判斷GM等級
cm.getBossLog() //取BossLog表值
cm.getName() //判斷玩家名字
cm.getMapId(); //判斷地圖
cm.getJob(); //判斷玩家職業
cm.getLevel(); //判斷玩家等級
cm.isGM(); //是否GM
cm.getPlayer().getGender() //取得玩家性別 0=男 1=女
!victim.hasEquipped(xxxxxx) //判斷自己是否有指定裝備
!victim.canHold(xxxxxxx) //判斷自己是否有指定裝備
!cm.getPlayer().hasEquipped(xxxxxxx) //判斷隊友是否有指定裝備
!cm.canHold(xxxxxxx) //判斷隊友是否有指定裝備
cm.getXXX(); //[XXX]值的順序為:HP, MP, STR,DEX, INT, LUK//取玩家屬性值
cm.getPlayerStat() //取玩家當前狀態值
cm.getPlayer().hasEquipped(xxxxxxx) //判斷玩家身上是否裝備指定物品
cm.getPlayer().getRemainingSp() //判斷玩家SP點
cm.getPlayer().getRemainingAp() //判斷玩家AP點
cm.getPlayer().isGM()//是否GM
/////副本/////
var FantMap = cm.getMap(280030000);
FantMap.resetFully(); //重置目標地圖
///////隨機取值//////
var rand=Math.floor(Math.random()*100); //取概率
var r = Math.ceil(Math.random() * xxx); //隨機取一個值
//////屏幕中的喇叭//////
cm.broadcastServerMsg(5121005, "xxxxxxxxx",true); //屏幕中的全服喇叭
////文本類型///////
#k 黑色字
#e 粗體字
#b 藍色字
#d 紫色字
#g 綠色字
#r 紅色字
#n 普通字(移除粗體)
#c[itemid]# 顯示為玩家物品欄裡指定物品的數量
#f[imagelocation]# 引用.wz文件裡的圖片
#h # 顯示為玩家名字
#l - Selection close.選擇關閉? (不知道什麼意思)
#L[number]# - Selection open.選擇打開?
#m[mapid]# 顯示為地圖名稱
#o[mobid]# 顯示為怪物名稱
#p[npcid]# 顯示為NPC名稱
#q[skillid]# 顯示為技能名稱
#s[skillid]# 顯示為技能圖標
#t[itemid]# 顯示為物品名稱
#z[itemid]# 顯示為物品名稱
#v[itemid]# 顯示為物品圖標
#i[itemid]# 顯示為物品圖片
#x 顯示為0%(不知道什麼意思)
#B[%]# 顯示為一個進度條
\r\n 在下一行顯示
\t 空格
//////判斷背包是否足夠////////
if (cm.getInventory(1).isFull()){
cm.sendOk("#b請保證裝備欄位至少有2個空格,否則無法抽取.");
cm.dispose();
return;
} else if (cm.getInventory(2).isFull()){
cm.sendOk("#b請保證消耗欄位至少有2個空格,否則無法抽取.");
cm.dispose();
return;
} else if (cm.getInventory(3).isFull()){
cm.sendOk("#b請保證設置欄位至少有2個空格,否則無法抽取.");
cm.dispose();
return;
} else if (cm.getInventory(4).isFull()){
cm.sendOk("#b請保證其他欄位至少有2個空格,否則無法抽取.");
cm.dispose();
return;
} else if (cm.getInventory(5).isFull()){
cm.sendOk("#b請保證特殊欄位至少有2個空格,否則無法抽取.");
cm.dispose();
return;
}
/////引入時間////
cm.獲取當前星期() //判斷星期
var ca = java.util.Calendar.getInstance();
var year = ca.get(java.util.Calendar.YEAR); //獲得年份
cm.getyear ()
var m ca.get(java.util.Calendar.MONTH) + 1; //獲得月份
cm.getmonth()
var day = ca.get(java.util.Calendar.DATE);//獲取日
cm.getday()
var hour = ca.get(java.util.Calendar.HOUR_OF_DAY); //獲得小時
cm.getHour()
var minute = ca.get(java.util.Calendar.MINUTE);//獲得分鐘
cm.getminute()
var sec ca.get(java.util.Calendar.SECOND); //獲得秒
cm.getsecondr()
var weekday = ca.get(java.util.Calendar.DAY_OF_WEEK);