首先以下所有函數或方法,都需要在腳本對話中做適當的處理才能夠使用,所謂的處理就是修改一些函數的調用格式,目前最通用也最常用的調用方式就是 cm.函數名(調用參數) 打頭的調用方式。
下面舉例說明:
public void dispose() { NPCScriptManager.getInstance().dispose(this); }
這個函數是NPC對話裡最常用的函數,它的用途是強制關閉NPC對話窗口,一般在NPC腳本對話的最後面都要加上這個函數,避免NPC出現假死情況。
那麼它的調用方式需要進行處理:cm.dispose(); 這樣修改才能夠被NPC腳本執行。
//強制關閉NPC對話 cm.dispose(); public void dispose() {} //顯示一個帶“繼續”按鈕的對話窗口 cm.sendNext("[text]"); public void sendNext(String text) {} //顯示一個帶“返回”按鈕的對話窗口 cm.sendPrev("[text]"); public void sendPrev(String text) { } //顯示一個帶“繼續”和“返回”按鈕的對話窗口 cm.sendNextPrev("[text]"); public void sendNextPrev(String text) { } //顯示一個帶“好”按鈕的對話窗口 cm.sendOk("[text]"); public void sendOk(String text) { } //顯示一個帶“是”和“否”按鈕的對話窗口,選“否”結束對話,否則做相反處理。 cm.sendYesNo("[text]"); public void sendYesNo(String text) { } //顯示一個帶“接受”和“拒絕”按鈕的對話窗口,選“拒絕”結束對話,否則做相反處理。 cm.sendAcceptDecline("[text]"); public void sendAcceptDecline(String text) { } //顯示一個無按鈕的對話窗口 cm.sendAcceptSimple("[text]"); public void sendSimple(String text) { } //顯示一個選擇性的對話窗口 cm.sendStyle("[Text]", [variable]); //需要聲明一個變量 public void sendStyle(String text, int styles[]) { } //顯示一個要求玩家輸入數字的彈出界面 text是顯示文字,def是默認數字,min是最小數字,max是最大數字 public void sendGetNumber(String text, int def, int min, int max) { } //顯示一個要求玩家輸入文本的彈出界面 txt是文字內容 public void sendGetText(String text) { } //得到玩家輸入的文字內容 public void setGetText(String text) { } //重新設置玩家輸入餓文字內容 public String getText() { } //關閉指定地圖的某個傳送點 cm.closePortal(地圖ID, "[傳送點名稱]") public void closePortal(int mapid, String pName) { } //打開指定地圖的某個傳送點 cm.openPortal(地圖ID, "[傳送點名稱]") public void openPortal(int mapid, String pName) { } //贈送成對效果的戒指給指定玩家 cm.makeRing("[玩家角色名]", 戒指ID) public void makeRing(String partner, int ringId) { } //關閉指定的地圖門 cm.closeDoor(地圖ID) 好像老扎門口/鬧鐘門口用的比較多 public void closeDoor(int mapid) { } //打開指定的地圖門 cm.openDoor(地圖ID) 好像老扎門口/鬧鐘門口用的比較多 public void openDoor(int mapid) { } //打開指定的商店 cm.openShop(商店ID) public void openShop(int id) { } //打開指定的NPC對話 cm.openNpc(NPCID) public void openNpc(int id) { } //判斷整個組隊的所有成員是否在當前地圖裡 cm.isPartyAllHere() public boolean isPartyAllHere() { } //改變玩家職業 cm.changeJob(職業) public void changeJob(MapleJob job) { } //得到玩家職業 cm.getJob() public MapleJob getJob() { } //開始一個任務 cm.startQuest(任務ID) 這裡是原版遊戲的任務ID,通過WZ裡查詢。 public void startQuest(int id) { } //完成一個任務 cm.completeQuest(任務ID) public void completeQuest(int id) { } //解除一個任務 cm.forfeitQuest(任務ID) public void forfeitQuest(int id) { } //取得玩家當前背包金幣數量值 cm.getMeso() public int getMeso() { } //給予或取走玩家指定數量金幣 cm.gainMeso(錢數) 注意這裡錢數如果是負數,那麼是取走玩家的錢 public void gainMeso(int gain) { } //給予或取走玩家指定數量經驗值 cm.gainExp(經驗數) 注意這裡經驗數如果是負數,那麼是扣掉玩家的經驗數 public void gainExp(int gain) { } //返回當前的NPC public int getNpc() { } //取得玩家當前的角色等級值 cm.getLevel() public int getLevel() { } //卸載戴在玩家身上的所有物品 cm.unequipEverything() public void unequipEverything() { } //讓玩家學會指定技能 cm.teachSkill([技能id],[技能當前級別],[技能最大級別]); public void teachSkill(int id, int level, int masterlevel) { } //清理玩家所學會的所有技能 cm.clearSkills() 轉生時候要用的 public void clearSkills() { } //得到玩家角色數據 public MapleCharacter getChar() { } //得到玩家客戶端數據 public MapleClient getC() { }
public void rechargeStars() { }
public EventManager getEventManager(String event) { } //得到玩家顯示效果?cm.showEffect(String effect) public void showEffect(String effect) { } //在當前地圖播放音樂 cm.playSound(String sound) public void playSound(String sound) { }
//增加或減少好友最大容量 cm.updateBuddyCapacity(好友數) 這裡注意,如果是負數就是減少好友最大容量 public void updateBuddyCapacity(int capacity) { } //達到玩家當前的好友最大容量數 cm.getBuddyCapacity() public int getBuddyCapacity() { } //設置當前玩家的角色髮型 cm.setHair(髮型ID) 在發廊用 public void setHair(int hair) { } //設置當前玩家的角色臉型 cm.setFace(臉型ID) 在整容用 public void setFace(int face) { } //設置當前玩家的角色膚色 cm.setSkin(膚色ID) 在美容用 @SuppressWarnings("static-access") public void setSkin(int color) { } //傳送當前玩家所在組隊的所有成員到指定地圖 cm.warpParty(地圖ID) public void warpParty(int mapId) { } //傳送當前玩家所在組隊的所有成員到指定地圖並給予經驗值 cm.warpPartyWithExp(地圖ID,經驗值) 一般是通關後的獎勵經驗 public void warpPartyWithExp(int mapId, int exp) { } //傳送當前玩家所在組隊的所有成員到指定地圖並給予經驗值和遊戲幣 cm.warpPartyWithExpMeso(地圖ID,經驗值,遊戲幣) 一般是通關後的獎勵經驗 public void warpPartyWithExpMeso(int mapId, int exp, int meso) { } //傳送玩家到一個地圖的隨機位置 cm.warpRandom(地圖ID) public void warpRandom(int mapid) { } //得到當前玩家背包裡某種物品的數量 cm.itemQuantity(物品id)
public int itemQuantity(int itemid) { } //為當前玩家開設一個遠征隊伍 cm.createMapleSquad(MapleSquadType type) public MapleSquad createMapleSquad(MapleSquadType type) { } //得到當前玩家指定索引的遠征隊伍成員數據 cm.getSquadMember(MapleSquadType type, int index) public Maple
|