-
當前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
chatrandom怎么用(chatrandomplus)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于chatrandom怎么用的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com
本文目錄:
一、魔獸世界各種宏命令對應(yīng)的中文解釋!
宏命令全教程+WOW各種命令使用大全(轉(zhuǎn),整)
一:基礎(chǔ)教程
1.什么是宏命令?
玩過EQ的都知道一點宏的知識,比如組隊時用來告訴隊友你的行動,告訴目標等。最簡單的比如puller 常用的: /v %t過來了,大家集中火力。 法師常用的: /v 我要催眠%t,大家不要打醒他 這些宏個性鮮明,是EQ的一大樂趣之一。
然而EQ畢竟是N年前的游戲,宏也比較簡單,和它比起來。WOW的宏就復(fù)雜和強大的多了。它的函數(shù)就有上千種,如果都掌握,能實現(xiàn)許多匪夷所思的功能。
一個宏可以完成一個相對比較復(fù)雜的命令.比如戰(zhàn)斗中發(fā)布命令,如果打字當然不算麻煩,但在戰(zhàn)斗中卻很要命.浪費了時間和生命.一個簡單的宏便可以用一個鍵來完成這一切.
2.宏命令的設(shè)置流程:
首先,回車,再敲/MACRO??匆娏税??會彈出一個窗口,上面有New(新建宏命令)和Complete(完成宏命令)兩個按鍵。點New,又會彈出一個窗口,哇,花花綠綠的,里面包括了WOW幾乎所有的技能圖標,隨你喜歡,隨便選一個!它就是你設(shè)置的宏命令的圖標了,給它取個名字吧!方便你用的時候好找。然后回到第一個窗口,在它上面有一個輸入菜單(別告訴我找不到…它可是占了這個窗口的一半多…)在里面輸入特定的內(nèi)容,然后點Complete。接下來你要做的就是把這個代表你宏命令的圖標用鼠標左鍵拉到快捷欄里,想怎么用就怎么用…
3.下面就是怎樣設(shè)置宏的內(nèi)容了,簡單的設(shè)置大家可以看我們網(wǎng)站上"基礎(chǔ)"篇的宏介紹.
相信很多人都知道WOW中的斜杠"/"和表情命令.宏可以將這些命令按照自己對條件的設(shè)置串聯(lián)起來,比如:/Kneel是讓你跪下來的動作而/say就是最基礎(chǔ)的對話動作
我們現(xiàn)在用一個宏把他們串起來:
第一行內(nèi)容:“/Kneel”
第二行內(nèi)容:“/say 如果你不嫁給我,那么我就一輩子不起來…” ”
這樣你的人物就會先下跪再說:"如果你不嫁給我,那么我就一輩子不起來…"
宏可以應(yīng)用所有WOW中已經(jīng)定義了的斜杠"/"和表情命令,更要命的是,宏甚至可以應(yīng)用人物的魔法和技能,
只需要在宏的定義過程中應(yīng)用"/cast"命令,下面是已知的一些常用命令:
/Assist 這是個援助進攻的命令。當你的隊伍同時面對幾個敵人時,只要點擊自己的隊友(一般是隊伍中的戰(zhàn)士),然后使用這個命令,你的目標就會變成戰(zhàn)士所選中的目標。大家集中火力消滅一個起!
/Cast 這是個使用技能的命令。當你在宏命令里輸入/Cast 技能名(技能等級)或者只要按住Shift同時用鼠標點擊一下你想要輸入的技能的圖標。例如當你是一個戰(zhàn)士,想制作一個使用戰(zhàn)斗怒吼的宏時,你可以輸入/Cast Battle Shout(Rank 1)或者是直接按住Shift點擊Battle Shout這個技能的圖標。當然你可以在一個宏的不同行上輸入幾個技能,那么當你使用這個宏時,幾個技能就會一起釋放出來,再用不著你像章魚一樣同時按下幾個鍵了 。
%t 這個符號也許會經(jīng)常出現(xiàn)在你的宏命令里,它是一個代碼,代表你當前所選中的人名。例如,你在宏里寫下這么一句。(注意:后面要加一空格。) “/g %t ,今天天氣真好,有沒興趣和我一起上山采蘑菇…”
如果你點中一位名叫苯笨的玩家,那么當你按下這個宏時,你就會說:“笨笨,今天天氣真好,有沒興趣和我一起上山采蘑菇…”
/Target 這是一個自動選擇目標的命令,你可以在宏里輸入/Target (xxx),那么當你按下這個宏時,你將自動選定這個叫xxx的目標。
/in 這是一個延時命令,時間以秒為單位.同時它不支持攻擊指令.格式:/in 3 dance 三秒后跳舞,如/in 3 dance,就是在3秒后跳舞,
/say start!
/in 3 say 3s later
/in 6 say 6s later
二:進階教程
一些有用的 Macro
1。允許你在窗口和全屏狀態(tài)之間切換
/script SetCVar("gxWindow", 1 - GetCVar("gxWindow"));
/console gxRestart
2。對于法師,必須要有的:將“X”換為你目前的變形術(shù)等級(下同);用它替換掉變形術(shù)技能。當你在隊伍之外時使用它會得到“你不在隊伍中?!钡男畔?,但在隊伍中的時候其它同伴會了解到你將釋放的變形術(shù)目標。
/p Sheeping >>> %t <<<
/cast Polymorph (Rank X)
3。作為一個術(shù)士,這是在隊伍中使用的宏:首先將目標轉(zhuǎn)為拖怪手或者坦克正在攻擊的目標,然后命令寵物向前攻擊,跟著一個虛弱詛咒。
/assist 隊伍中的拖怪手或者坦克的名字
/script PetAttack();
/cast Curse of Weakness (Rank X)
4。從背包和袋子里切換身上的武器
/script if ( not CursorHasItem() ) then PickupContainerItem(, );
PickupInventoryItem( ); end
bag# - 使用哪一個袋子的物品(0、1、2、3、4。0是背包)
slot# - 袋子里的位置(從0至左上)
equip# - 16 是主要武器, 17 是副武器
5。這個宏治療隊伍里你指定的人,如果你不在隊伍中它會治療你自己。然后會自動將目標切換回你最后一個敵人。它同時還會使用隊聊提醒隊友你會治療哪一個人。
/script if (UnitName("target") ~=nil and UnitIsFriend("player","target")) then
CastSpellByName("Heal(Rank X)") SendChatMessage("Incoming Heal to %T", "arty") else
TargetUnit("player") CastSpellByName("Heal(Rank X)") TargetLastEnemy(); end
6。加速任務(wù)顯示速度
/script QUEST_DEscriptION_GRADIENT_CPS = 600000
/script RegisterForSave("QUEST_DEscriptION_GRADIENT_CPS")
/script DEFAULT_CHAT_FRAME:AddMessage("quest text will scroll faster now");
7。消除等待接受任務(wù)的時間
/script AcceptQuest()
8。這個宏可以在路上自動護送玩家做任務(wù)。
/assist [player name]
/cast 法術(shù)(Rank X)
/target [player name]
/follow [player name]
9。切換主副武器,詳情看第四條
/script PickupInventoryItem(16); PickupInventoryItem(17);
10。在沒有目標或者目標是敵人的時候給自己加增益魔法或治療。
CastSpellByName("Spell Name(Rank X)");
if ((SpellIsTargeting()) and (not UnitIsFriend("player","target")))
then
SpellTargetUnit("player");
end;
TargetLastEnemy();
11。切換雙手武器與單手+盾或者雙手揮舞武器
/script PickupInventoryItem(17);if(CursorHasItem()) then PickupContainerItem
(4,2)ickupContainerItem(4,1)ickupInventoryItem(16);else PickupContainerItem
(4,1)ickupInventoryItem(16)ickupContainerItem(4,2)ickupInventoryItem(17);end
12。設(shè)定“真實鼠標視野”
/script CameraOrSelectOrMoveStart(arg1);
想取消就再次輸入。
13。切換近程技能欄和遠程技能欄
/script CURRENT_ACTIONBAR_PAGE = 2;
/script ChangeActionBarPage();
/cast aspectofmon key (just use the left click)
/script CURRENT_ACTIONBAR_PAGE = 1;
/script ChangeActionBarPage();
/cast aspectofhawk (just use the left click)
14。牧師對隊友的一鍵加血,比如一號鍵給第一隊友加血,二號鍵給第二隊友加血,免除了還要鼠標確
定目標的操作。依次類推,從第一個人到最后一個
給隊友1加血:
/script TargetUnit(GetPartyMember(1))
CastSpellByName(Heal(Rank X)) TargetLastEnemy()
給隊友2加血:
/script TargetUnit(GetPartyMember(2)) CastSpellByName(Heal(Rank X)) TargetLastEnemy()
給隊友3加血:
/script TargetUnit(GetPartyMember(3)) CastSpellByName(Heal(Rank X)) TargetLastEnemy()
15。一鍵解決喂養(yǎng)寵物:這個宏會從最左邊的袋子里的第一個位置拿出食物喂養(yǎng)寵物,如果所在的位置
沒有食物,它會自動打開袋子。
/script if (not PlayerFrame.inCombat) then if (not GetContainerItemLink(4, 1)) then
OpenBag(4); else CastSpellByName("Feed Pet"); PickupContainerItem(4, 1); end end
16。術(shù)士宏
1)如果目標生命大于20,釋放抽取生命法術(shù),否則使用靈魂抽取。
/script if (UnitHealth("target")>20) then CastSpellByName("Drain Life(Rank X)") else
CastSpellByName("Drain Soul(Rank 2)") end;
2)虛弱詛咒版本
/script if (UnitMana("target")>0) then CastSpellByName("Curse of Tongues(Rank X)") else
CastSpellByName("Curse of Weakness(Rank X)") end;
17.先治療自己,然后自動選中上次的敵人
/target Pugar //選擇自己,假設(shè)自己的名字是Pugar
/cast Lesser Heal (Rank 1) //施展次級治療rank1
/script TargetLastEnemy(); //重新選擇剛剛選擇的敵人
/script AttackTarget(); //攻擊,等同于右鍵點擊敵人
18.對于一個術(shù)士很有用的宏:首先將目標轉(zhuǎn)為拖怪手或者坦克正在攻擊的目標,然后命令寵物向前攻擊
,跟著一個虛弱詛咒。
/assist 隊伍中的拖怪手或者坦克的名字
/script PetAttack();
/cast Curse of Weakness (Rank X)
19.等治療完之后提醒別人注意下自己有可能被怪打,不加延時的話,就沒這個效果了。
/p healing %T, need 3s, don"t run away
/cast heal (rank 1)
/in 4 p cured %T 300HP,please notice the enemies turn on me^_^
20.在路上自動護送朋友做任務(wù)。
/assist [player name]
/cast 法術(shù)(Rank X)
/target [player name]
/follow [player name]
三:高級教程
WOW的宏函數(shù)庫可以去這兩個地方查:
http://www.cosmosui.org/texts/BlizzardCommands.xml
http://www.wowwiki.com/index.php/World_of_Warcraft_API
函數(shù)的使用比較簡單,學(xué)習(xí)過編程的都比較容易上手,基本的用法是在函數(shù)前加/script 來使用。比如
/script CURRENT_ACTIONBAR_PAGE = X;
/script ChangeActionBarPage();
就是將你的快捷欄翻到第X頁。
函數(shù)庫中有許多函數(shù)都是非常有用和方便的,比如一次打開所有包包:
/script OpenAllBags();
配合關(guān)閉包包的函數(shù),一次關(guān)閉所有包的宏也可以實現(xiàn):
/script CloseBag(0);
/script CloseBag(1);
/script CloseBag(2);
/script CloseBag(3);
/script CloseBag(4);
怎么樣,下次你賣東西的時候不會一個個開包關(guān)包了吧?
使用函數(shù)還不是最恐怖的,恐怖的是WOW的宏是可以用條件判斷的,看下面這兩個:
/script if ( GetComboPoints() >= 3 ) then CastSpellByName("Rip(Rank 2)"); else if (
UnitMana("player") >= 40 ) then CastSpellByName("Rake(Rank 1)"); end end
據(jù)說這個包含if,then的宏可以讓盜賊實現(xiàn)自動根據(jù)combo點數(shù)來使用技能(未測試),其中還使用了角
色MANA值的調(diào)用,恐怖吧?還有這個查找spell的宏:
function GetSpellIdByItsName(myWantedSpell, myWantedRank)
local spellId = 1;
local spellBook = "spell";
local spellName, rankName;
spellName, rankName = GetSpellName(spellId, spellBook);
while (spellName ) do
if ( ( spellName == myWantedSpell ) and ( ( not myWantedRank ) or ( rankName = myWantedRank
) ) ) then return spellId; end
spellName, rankName = GetSpellName(spellId, spellBook);
end
return -1;
end
里面可以自己定義function,還使用了while,do這樣的循環(huán),是不是讓你想到了N種應(yīng)用的可能呢?
遺憾的是,目前官方似乎沒有提供延時的宏,所以在戰(zhàn)斗中使用多種有延時的技能是無法實現(xiàn)的(無延時的技能可以實現(xiàn)同時使用),類似換其他武器-使用技能或法術(shù)-換回武器這樣的功能也無法實現(xiàn),
(所謂用宏實現(xiàn)劍盾戰(zhàn)士換雙手武器MS再換回來是行不通的),不過使用COSMOS的朋友可以用/in 來實現(xiàn)非戰(zhàn)斗指令的延時,比如
/in 3 say hi 就會在3秒后說句hi。
/in 6 /script MoveForwardStart(arg1);
就會在6秒后向前跑。
雖然法術(shù)和技能無法用/in指令來延時,但這樣已經(jīng)很強大了,比如,你可以編出各種運動的宏,如兜后,轉(zhuǎn)身等。PVP時估計是必不可少的。
下面是一個玩家寫的雙手武器戰(zhàn)士自動逃跑的宏:
/script UseContainerItem(0, 2);ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown
(12);ActionButtonUp(12);
/cast Thunder Clap(Rank 1);
/script TurnLeftStart(arg1);
/in 1 /script TurnLeftStop(arg1);ToggleAutoRun();
使用這個宏的條件:在大包包第二格放了回復(fù)藥,快捷欄第11,12分別是一單手一盾的快捷方式。
使用這個宏后,角色自動喝回復(fù)藥,裝備上盾,使用Thunder Clap(這三個動作同時進行),向后轉(zhuǎn)180度后開自動跑步鍵逃走。其中技能等可以根據(jù)需要自己改。怎么樣,是不是很夸張啊,哈哈。
還有一些有用的宏:
切換裝備,
雙手切換單手并換第二個快捷欄,快捷欄第11,12分別是一單手一盾的快捷方式
/script ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown(12);ActionButtonUp(12);
/script CURRENT_ACTIONBAR_PAGE = 2;
/script ChangeActionBarPage();
單手切換雙手并換回第一快捷欄,快捷欄12是一雙手武器快捷方式
/script ActionButtonDown(12);ActionButtonUp(12);
/script CURRENT_ACTIONBAR_PAGE = 1;
/script ChangeActionBarPage();
幾個簡單的宏
1. 對自己使用繃帶
/script TargetUnit("Player");
/use Mageweave Bandage
/script TargetLastEnemy();
* 這里用的時 Mageweave Bandage ,你可以改成適合你自己的繃帶名
* use 是 Cosmos 支持的命令,你必須安裝 Cosmos 才能使用這個宏,如果你沒有 Cosmos,使用下面的宏(繃帶必須放在主背包第一格)
/script TargetUnit("Player");
/script UseContainerItem(0,1);
/script TargetLastEnemy();
2. 對敵人的 Pet 使用技能
/script TargetUnitsPet("target");
/cast Blind
/script TargetLastEnemy();
* Blind 是技能名,你可以用自己的技能,這里用了盜賊的 Blind
** /script 是使用 腳本 的命令,可供使用的命令參考附件
** 可以用 Shift + 點擊 技能書里圖標的方式在宏中添加釋放技能的命令
** 可以用 Shift + 點擊 物品的方式在宏中添加物品名
3. 打開所有背包
/script OpenBag(0);
/script OpenBag(1);
/script OpenBag(2);
/script OpenBag(3);
/script OpenBag(4);
打開所有背包,可能
/script OpenAllBags()
一樣搞定
熱鍵Shift + B 也是可以的
4.戰(zhàn)士用,雙手武器切換單手武器+盾:
首先在快捷欄10、11、12(也就是0、 -、 =的位置)拖上雙手武器、單手武器、盾的快捷方式;
雙手武器:
/script ActionButtonDown(10);ActionButtonUp(10);
單手武器+盾:
/script ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown(12);ActionButtonUp(12);
以下命令全部中空格用下劃線_來表示
%后面的都是變量
=各種命令分類收集=
參數(shù)設(shè)置
%t
切換當前目標命令
/target_%name
/assist_%name
/script_TargetLastEnemy();
游戲動作
/cast_%skillname(rank_%d)
/f
/script_UseAction(n%d, %d);
設(shè)置延遲命令
/pause_%d
聊天常用命令
/s_
/p_
/g_
/raid_
=應(yīng)用部分說明=
聊天部分命令我就省略了...重點說明游戲中實際關(guān)系到游戲操作的命令
首先%t是指當前目標名稱,%t大多是用在聊天中...比如:
...
你好,%t
我開始攻擊%t,大家請注意...
Pull
/script TargetNearestEnemy();
/p Pulling %t
/script AttackTarget();
/v inc
Assist
/assist %t
/script AttackTarget();
UsePoison
/script UseContainerItem(bag,slot); PickupInventoryItem(16);
UseContainerItem(bag,slot);
PickupInventoryItem(17);
/in 1740 /script DEFAULT_CHAT_FRAME:AddMessage("Poison wearing off in one minute")
_________________________
1. 常用指令
2. 隊長指令
3. 聊天指令
4. 聊天頻道指令
5. 公會指令
6. 表情指令
1. 常用指令
/help
列出常用指令幫助
/assist [名字]
協(xié)助你當前所選擇的目標,或者指定的目標
/cast spell
施放指定的法術(shù),可以包含法術(shù)的等級。比如: "/cast Slow Fall", "/cast Polymorph(Rank 2)"
/afk [文字]
開啟AFK模式顯示你要離開一會兒,再輸一次/afk關(guān)閉AFK模式。
/combatlog
導(dǎo)出你的戰(zhàn)斗信息到(wow目錄)LogsPlayerCombatLog.txt 文件里。
/dnd [文字]
開啟DND模式表示“請勿打擾”,再輸一次/dnd關(guān)閉DND模式。
/duel [名字]
要求與你鎖定的目標決斗,或者要求與指定的目標決斗。
/yield
(/forfeit) 在決斗時投降。
/emote 文字
(/em, /me) 表示接下來的文字是動作。
/exit
退出游戲。
/follow
(/f) 自動跟隨當前目標。
/ignore 名字
忽略目標玩家。
/inspect
(/ins) 查看目標玩家的裝備。
/logout
(/camp) 坐下并且登出。
/macro
打開宏設(shè)置界面。
/macrohelp
給出關(guān)于設(shè)置宏的幫助。
/played
顯示你游戲人物的在線時間。
/pvp
在接下來的5分鐘內(nèi)開啟PVP模式。
/raid 文字
(/r) 在RAID頻道里說話。
/random 數(shù)字 [數(shù)字2]
(/rnd, /rand) 扔出一個從1到某個數(shù)字范圍內(nèi)的隨機數(shù)字,或者是兩個數(shù)字范圍之間的隨機數(shù)字。
/remfriend 名字
(/removefriend) 把一個好友從你的好友列表里去掉。
/split 數(shù)量
把一部分的錢平均分給你的隊友。
/target 名字
(/tar) 從當前目標轉(zhuǎn)向你所指定的玩家。
/time
顯示當前游戲的服務(wù)器時間。
/trade
(/tr) 與當前選擇的目標交易
/who [文字[ 文字2...]] [數(shù)字[-數(shù)字2]] [r-"種族"] [c-"職業(yè)"] [z-"區(qū)域"] [g-"公會"]
如果沒有添加任何后綴的話,列出在當前區(qū)域與你等級相近的所有在線玩家。文字指定玩家的名字,公會,職業(yè),種族或者所在的區(qū)域;數(shù)字表示指定列出玩家的等級范圍。
/bug
提交出錯報告。
/suggest
提交建議。
/note 文字
提交一條信息。
/script LUA-command
用于UI設(shè)計者。
/console command
用于一些游戲的內(nèi)部指令,比如"gxrestart", "reloadui" and "quit".
/console 設(shè)置名 [新設(shè)置]
用于調(diào)整游戲設(shè)置。
2.隊長指令
/invite [名字]
(/inv) 邀請目標玩家到你的隊伍里。
/uninvite [名字]
(/un) 從你的隊伍里移除目標玩家。
/ffa
把掠奪方式設(shè)置成“自由掠奪”。
/master [名字]
指定目標玩家在“計劃分配”的掠奪方式中擔當分配者。
/roundrobin
把掠奪方式設(shè)置成”輪流掠奪“。
3. 聊天指令
/guild 文字
(/g) 在公會頻道內(nèi)說話。
/party 文字
(/p) 在隊伍頻道內(nèi)說話。
/reply 文字
(/r, R) 回復(fù)最后一個玩家給你的密語。
/say 文字
(/s) 跟周圍的玩家說話。
/yell 文字
(/shout) 喊叫(比/say傳的距離要遠)
/whisper 名字 信息
(/w, /tell) 給目標玩家密語。
播放一段聲音!每種語音都有兩到三種變化。而且你的角色不同,語音也不一樣。
/v help
/v inc
/v charge
/v flee
/v attack
/v oom
/v fol
/v wait
/v heal
/v cheer
/v fire
/v rasp
4. 聊天頻道指令
/chat
(/chathelp) 列出聊天指令。
/join 頻道 [密碼]
(/chan, /channel) 加入(或者創(chuàng)建)一個特殊聊天頻道。
/leave 頻道|#
(/chatleave, /chatexit) 離開這個特殊聊天頻道,或者離開指定號碼的聊天頻道。
/# 文字
(/c, /csay) 在聊天頻道內(nèi)說話,#表示所要說話的頻道號碼。
/announcements 頻道|#
(/ann) 開啟/關(guān)閉指定聊天頻道的公告。
/ban 頻道|# 名字
禁止目標玩家進入指定的頻道。
/unban 頻道|# 名字
解除目標玩家的禁令。
/chatlist
(/chatwho, /chatinfo) 列出所有的聊天頻道和他們的號碼。
/chatinvite 頻道|# 名字
(/cinvite) 邀請目標玩家到一個指令的聊天頻道里。
/ckick 頻道|# 名字
把目標玩家從指定頻道中踢出去。
/moderator 頻道|# 名字
(/mod) 把目標玩家設(shè)成指定聊天頻道的管理員。
/unmoderator 頻道|# 名字
(/unmod) 解除目標玩家在指定聊天頻道里的管理員身份。
/moderate 頻道|#
開啟指定聊天頻道的管理模式。
/mute 頻道|# 名字
(/squelch, /unvoice) 把目標玩家在指定的聊天頻道里禁言。
/unmute 頻道|# 名字
(/unsquelch, /voice) 解除目標玩家在指定的聊天頻道里的禁言。
/password 頻道|# [密碼]
(/pass) 設(shè)置,改變或者去除聊天頻道的密碼。
/owner 頻道|# [名字]
顯示或者改變所建立的聊天頻道名字。
5. 公會指令
/ginfo
給出關(guān)于你的公會的基本信息。
/g 文字
(/guild) 在公會頻道里說話
/o 文字
對所有公會里的管理員說話。
/ginvite 名字
(/guildinvite) 邀請目標玩家加入到你的公會里。
/gremove 名字
(/guildremove) 從你的公會里移除目標玩家。
/gpromote 名字
(/guildpromote) 提升在你公會里的目標玩家公會等級。
/gdemote 名字
(/guilddemote) 降低在你公會里的目標玩家公會等級。
/gmotd 信息
(/guildmotd) 設(shè)置今天的公會公告。
/gquit
(/guildquit) 離開你的公會。
/groster
(/guildroster) 給出整個公會成員的列表(只限管理員和會長使用)。
/gleader name
(/guildleader) 把目標玩家設(shè)為會長(只限會長使用)。
/gdisband
(/guilddisband) 解散公會(只限會長使用)。
我的答案字數(shù)太多。我只好刪減了點~
呵呵。玩WOW的都是朋友!
二、魔獸世界宏的問題 懂的進
一:基礎(chǔ)教程
1.什么是宏命令?
玩過EQ的都知道一點宏的知識,比如組隊時用來告訴隊友你的行動,告訴目標等。最簡單的比如puller 常用的: /v %t過來了,大家集中火力。 法師常用的: /v 我要催眠%t,大家不要打醒他 這些宏個性鮮明,是EQ的一大樂趣之一。
然而EQ畢竟是N年前的游戲,宏也比較簡單,和它比起來。WOW的宏就復(fù)雜和強大的多了。它的函數(shù)就有上千種,如果都掌握,能實現(xiàn)許多匪夷所思的功能。
一個宏可以完成一個相對比較復(fù)雜的命令.比如戰(zhàn)斗中發(fā)布命令,如果打字當然不算麻煩,但在戰(zhàn)斗中卻很要命.浪費了時間和生命.一個簡單的宏便可以用一個鍵來完成這一切.
2.宏命令的設(shè)置流程:
首先,回車,再敲/MACRO??匆娏税桑繒棾鲆粋€窗口,上面有New(新建宏命令)和Complete(完成宏命令)兩個按鍵。點New,又會彈出一個窗口,哇,花花綠綠的,里面包括了WOW幾乎所有的技能圖標,隨你喜歡,隨便選一個!它就是你設(shè)置的宏命令的圖標了,給它取個名字吧!方便你用的時候好找。然后回到第一個窗口,在它上面有一個輸入菜單(別告訴我找不到…它可是占了這個窗口的一半多…)在里面輸入特定的內(nèi)容,然后點Complete。接下來你要做的就是把這個代表你宏命令的圖標用鼠標左鍵拉到快捷欄里,想怎么用就怎么用…
3.下面就是怎樣設(shè)置宏的內(nèi)容了,簡單的設(shè)置大家可以看我們網(wǎng)站上'基礎(chǔ)'篇的宏介紹.
相信很多人都知道WOW中的斜杠'/'和表情命令.宏可以將這些命令按照自己對條件的設(shè)置串聯(lián)起來,比如:/Kneel是讓你跪下來的動作而/say就是最基礎(chǔ)的對話動作
我們現(xiàn)在用一個宏把他們串起來:
第一行內(nèi)容:“/Kneel”
第二行內(nèi)容:“/say 如果你不嫁給我,那么我就一輩子不起來…” ”
這樣你的人物就會先下跪再說:'如果你不嫁給我,那么我就一輩子不起來…'
宏可以應(yīng)用所有WOW中已經(jīng)定義了的斜杠'/'和表情命令,更要命的是,宏甚至可以應(yīng)用人物的魔法和技能,
只需要在宏的定義過程中應(yīng)用'/cast'命令,下面是已知的一些常用命令:
/Assist 這是個援助進攻的命令。當你的隊伍同時面對幾個敵人時,只要點擊自己的隊友(一般是隊伍中的戰(zhàn)士),然后使用這個命令,你的目標就會變成戰(zhàn)士所選中的目標。大家集中火力消滅一個起!
/Cast 這是個使用技能的命令。當你在宏命令里輸入/Cast 技能名(技能等級)或者只要按住Shift同時用鼠標點擊一下你想要輸入的技能的圖標。例如當你是一個戰(zhàn)士,想制作一個使用戰(zhàn)斗怒吼的宏時,你可以輸入/Cast Battle Shout(Rank 1)或者是直接按住Shift點擊Battle Shout這個技能的圖標。當然你可以在一個宏的不同行上輸入幾個技能,那么當你使用這個宏時,幾個技能就會一起釋放出來,再用不著你像章魚一樣同時按下幾個鍵了 。
%t 這個符號也許會經(jīng)常出現(xiàn)在你的宏命令里,它是一個代碼,代表你當前所選中的人名。例如,你在宏里寫下這么一句。(注意:后面要加一空格。) “/g %t ,今天天氣真好,有沒興趣和我一起上山采蘑菇…”
如果你點中一位名叫苯笨的玩家,那么當你按下這個宏時,你就會說:“笨笨,今天天氣真好,有沒興趣和我一起上山采蘑菇…”
/Target 這是一個自動選擇目標的命令,你可以在宏里輸入/Target (xxx),那么當你按下這個宏時,你將自動選定這個叫xxx的目標。
/in 這是一個延時命令,時間以秒為單位.同時它不支持攻擊指令.格式:/in 3 dance 三秒后跳舞,如/in 3 dance,就是在3秒后跳舞,
/say start!
/in 3 say 3s later
/in 6 say 6s later
二:進階教程
一些有用的 Macro
1。允許你在窗口和全屏狀態(tài)之間切換
/script SetCVar('gxWindow', 1 - GetCVar('gxWindow'));
作者: 我想做斑竹 2006-1-9 17:52 回復(fù)此發(fā)言
--------------------------------------------------------------------------------
2 宏命令完全入門手冊[申精]
/console gxRestart
2。對于法師,必須要有的:將“X”換為你目前的變形術(shù)等級(下同);用它替換掉變形術(shù)技能。當你在隊伍之外時使用它會得到“你不在隊伍中。”的信息,但在隊伍中的時候其它同伴會了解到你將釋放的變形術(shù)目標。
/p Sheeping >>> %t <<<
/cast Polymorph (Rank X)
3。作為一個術(shù)士,這是在隊伍中使用的宏:首先將目標轉(zhuǎn)為拖怪手或者坦克正在攻擊的目標,然后命令寵物向前攻擊,跟著一個虛弱詛咒。
/assist 隊伍中的拖怪手或者坦克的名字
/script PetAttack();
/cast Curse of Weakness (Rank X)
4。從背包和袋子里切換身上的武器
/script if ( not CursorHasItem() ) then PickupContainerItem(, );
PickupInventoryItem( ); end
bag# - 使用哪一個袋子的物品(0、1、2、3、4。0是背包)
slot# - 袋子里的位置(從0至左上)
equip# - 16 是主要武器, 17 是副武器
5。這個宏治療隊伍里你指定的人,如果你不在隊伍中它會治療你自己。然后會自動將目標切換回你最后一個敵人。它同時還會使用隊聊提醒隊友你會治療哪一個人。
/script if (UnitName('target') ~=nil and UnitIsFriend('player','target')) then
CastSpellByName('Heal(Rank X)') SendChatMessage('Incoming Heal to %T', 'Party') else
TargetUnit('player') CastSpellByName('Heal(Rank X)') TargetLastEnemy(); end
6。加速任務(wù)顯示速度
/script QUEST_DEscriptION_GRADIENT_CPS = 600000
/script RegisterForSave('QUEST_DEscriptION_GRADIENT_CPS')
/script DEFAULT_CHAT_FRAME:AddMessage('quest text will scroll faster now');
7。消除等待接受任務(wù)的時間
/script AcceptQuest()
8。這個宏可以在路上自動護送玩家做任務(wù)。
/assist [player name]
/cast 法術(shù)(Rank X)
/target [player name]
/follow [player name]
9。切換主副武器,詳情看第四條
/script PickupInventoryItem(16); PickupInventoryItem(17);
10。在沒有目標或者目標是敵人的時候給自己加增益魔法或治療。
CastSpellByName('Spell Name(Rank X)');
if ((SpellIsTargeting()) and (not UnitIsFriend('player','target')))
then
SpellTargetUnit('player');
end;
TargetLastEnemy();
11。切換雙手武器與單手+盾或者雙手揮舞武器
/script PickupInventoryItem(17);if(CursorHasItem()) then PickupContainerItem
(4,2);PickupContainerItem(4,1);PickupInventoryItem(16);else PickupContainerItem
(4,1);PickupInventoryItem(16);PickupContainerItem(4,2);PickupInventoryItem(17);end
12。設(shè)定“真實鼠標視野”
/script CameraOrSelectOrMoveStart(arg1);
想取消就再次輸入。
13。切換近程技能欄和遠程技能欄
/script CURRENT_ACTIONBAR_PAGE = 2;
/script ChangeActionBarPage();
/cast aspectofmon key (just use the left click)
/script CURRENT_ACTIONBAR_PAGE = 1;
/script ChangeActionBarPage();
/cast aspectofhawk (just use the left click)
14。牧師對隊友的一鍵加血,比如一號鍵給第一隊友加血,二號鍵給第二隊友加血,免除了還要鼠標確
定目標的操作。依次類推,從第一個人到最后一個
給隊友1加血:
/script TargetUnit(GetPartyMember(1))
CastSpellByName(Heal(Rank X)) TargetLastEnemy()
作者: 我想做斑竹 2006-1-9 17:52 回復(fù)此發(fā)言
--------------------------------------------------------------------------------
3 宏命令完全入門手冊[申精]
給隊友2加血:
/script TargetUnit(GetPartyMember(2)) CastSpellByName(Heal(Rank X)) TargetLastEnemy()
給隊友3加血:
/script TargetUnit(GetPartyMember(3)) CastSpellByName(Heal(Rank X)) TargetLastEnemy()
15。一鍵解決喂養(yǎng)寵物:這個宏會從最左邊的袋子里的第一個位置拿出食物喂養(yǎng)寵物,如果所在的位置
沒有食物,它會自動打開袋子。
/script if (not PlayerFrame.inCombat) then if (not GetContainerItemLink(4, 1)) then
OpenBag(4); else CastSpellByName('Feed Pet'); PickupContainerItem(4, 1); end end
16。術(shù)士宏
1)如果目標生命大于20,釋放抽取生命法術(shù),否則使用靈魂抽取。
/script if (UnitHealth('target')>20) then CastSpellByName('Drain Life(Rank X)') else
CastSpellByName('Drain Soul(Rank 2)') end;
2)虛弱詛咒版本
/script if (UnitMana('target')>0) then CastSpellByName('Curse of Tongues(Rank X)') else
CastSpellByName('Curse of Weakness(Rank X)') end;
17.先治療自己,然后自動選中上次的敵人
/target Pugar //選擇自己,假設(shè)自己的名字是Pugar
/cast Lesser Heal (Rank 1) //施展次級治療rank1
/script TargetLastEnemy(); //重新選擇剛剛選擇的敵人
/script AttackTarget(); //攻擊,等同于右鍵點擊敵人
18.對于一個術(shù)士很有用的宏:首先將目標轉(zhuǎn)為拖怪手或者坦克正在攻擊的目標,然后命令寵物向前攻擊
,跟著一個虛弱詛咒。
/assist 隊伍中的拖怪手或者坦克的名字
/script PetAttack();
/cast Curse of Weakness (Rank X)
19.等治療完之后提醒別人注意下自己有可能被怪打,不加延時的話,就沒這個效果了。
/p healing %T, need 3s, don't run away
/cast heal (rank 1)
/in 4 p cured %T 300HP,please notice the enemies turn on me^_^
20.在路上自動護送朋友做任務(wù)。
/assist [player name]
/cast 法術(shù)(Rank X)
/target [player name]
/follow [player name]
三:高級教程
WOW的宏函數(shù)庫可以去這兩個地方查:
http://www.cosmosui.org/texts/BlizzardCommands.xml
http://www.wowwiki.com/index.php/World_of_Warcraft_API
函數(shù)的使用比較簡單,學(xué)習(xí)過編程的都比較容易上手,基本的用法是在函數(shù)前加/script 來使用。比如
/script CURRENT_ACTIONBAR_PAGE = X;
/script ChangeActionBarPage();
就是將你的快捷欄翻到第X頁。
函數(shù)庫中有許多函數(shù)都是非常有用和方便的,比如一次打開所有包包:
/script OpenAllBags();
配合關(guān)閉包包的函數(shù),一次關(guān)閉所有包的宏也可以實現(xiàn):
/script CloseBag(0);
/script CloseBag(1);
/script CloseBag(2);
/script CloseBag(3);
/script CloseBag(4);
怎么樣,下次你賣東西的時候不會一個個開包關(guān)包了吧?
使用函數(shù)還不是最恐怖的,恐怖的是WOW的宏是可以用條件判斷的,看下面這兩個:
/script if ( GetComboPoints() >= 3 ) then CastSpellByName('Rip(Rank 2)'); else if (
UnitMana('player') >= 40 ) then CastSpellByName('Rake(Rank 1)'); end end
據(jù)說這個包含if,then的宏可以讓盜賊實現(xiàn)自動根據(jù)combo點數(shù)來使用技能(未測試),其中還使用了角
色MANA值的調(diào)用,恐怖吧?還有這個查找spell的宏:
function GetSpellIdByItsName(myWantedSpell, myWantedRank)
local spellId = 1;
作者: 我想做斑竹 2006-1-9 17:52 回復(fù)此發(fā)言
--------------------------------------------------------------------------------
4 宏命令完全入門手冊[申精]
local spellBook = 'spell';
local spellName, rankName;
spellName, rankName = GetSpellName(spellId, spellBook);
while (spellName ) do
if ( ( spellName == myWantedSpell ) and ( ( not myWantedRank ) or ( rankName = myWantedRank
) ) ) then return spellId; end
spellName, rankName = GetSpellName(spellId, spellBook);
end
return -1;
end
里面可以自己定義function,還使用了while,do這樣的循環(huán),是不是讓你想到了N種應(yīng)用的可能呢?
遺憾的是,目前官方似乎沒有提供延時的宏,所以在戰(zhàn)斗中使用多種有延時的技能是無法實現(xiàn)的(無延時的技能可以實現(xiàn)同時使用),類似換其他武器-使用技能或法術(shù)-換回武器這樣的功能也無法實現(xiàn),
(所謂用宏實現(xiàn)劍盾戰(zhàn)士換雙手武器MS再換回來是行不通的),不過使用COSMOS的朋友可以用/in 來實現(xiàn)非戰(zhàn)斗指令的延時,比如
/in 3 say hi 就會在3秒后說句hi。
/in 6 /script MoveForwardStart(arg1);
就會在6秒后向前跑。
雖然法術(shù)和技能無法用/in指令來延時,但這樣已經(jīng)很強大了,比如,你可以編出各種運動的宏,如兜后,轉(zhuǎn)身等。PVP時估計是必不可少的。
下面是一個玩家寫的雙手武器戰(zhàn)士自動逃跑的宏:
/script UseContainerItem(0, 2);ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown
(12);ActionButtonUp(12);
/cast Thunder Clap(Rank 1);
/script TurnLeftStart(arg1);
/in 1 /script TurnLeftStop(arg1);ToggleAutoRun();
使用這個宏的條件:在大包包第二格放了回復(fù)藥,快捷欄第11,12分別是一單手一盾的快捷方式。
使用這個宏后,角色自動喝回復(fù)藥,裝備上盾,使用Thunder Clap(這三個動作同時進行),向后轉(zhuǎn)180度后開自動跑步鍵逃走。其中技能等可以根據(jù)需要自己改。怎么樣,是不是很夸張啊,哈哈。
還有一些有用的宏:
切換裝備,
雙手切換單手并換第二個快捷欄,快捷欄第11,12分別是一單手一盾的快捷方式
/script ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown(12);ActionButtonUp(12);
/script CURRENT_ACTIONBAR_PAGE = 2;
/script ChangeActionBarPage();
單手切換雙手并換回第一快捷欄,快捷欄12是一雙手武器快捷方式
/script ActionButtonDown(12);ActionButtonUp(12);
/script CURRENT_ACTIONBAR_PAGE = 1;
/script ChangeActionBarPage();
幾個簡單
作者: 我想做斑竹 2006-1-9 17:52 回復(fù)此發(fā)言
--------------------------------------------------------------------------------
5 回復(fù):宏命令完全入門手冊[申精]
為完 陸續(xù)跟心
作者: 我想做斑竹 2006-1-9 17:54 回復(fù)此發(fā)言
--------------------------------------------------------------------------------
6 回復(fù):宏命令完全入門手冊[申精]
1. 對自己使用繃帶
/use Mageweave Bandage
/script TargetLastEnemy();
* 這里用的時 Mageweave Bandage ,你可以改成適合你自己的繃帶名
* use 是 Cosmos 支持的命令,你必須安裝 Cosmos 才能使用這個宏,如果你沒有 Cosmos,使用下面的宏(繃帶必須放在主背包第一格)
/script TargetUnit('Player');
/script UseContainerItem(0,1);
/script TargetLastEnemy();
2. 對敵人的 Pet 使用技能
/script TargetUnitsPet('target');
/cast Blind
/script TargetLastEnemy();
* Blind 是技能名,你可以用自己的技能,這里用了盜賊的 Blind (我是盜賊啦,呵呵)
** /script 是使用 腳本 的命令,可供使用的命令參考附件
** 可以用 Shift + 點擊 技能書里圖標的方式在宏中添加釋放技能的命令
** 可以用 Shift + 點擊 物品的方式在宏中添加物品名
3. 打開所有背包
/script OpenBag(0);
/script OpenBag(1);
/script OpenBag(2);
/script OpenBag(3);
/script OpenBag(4);
打開所有背包,可能
/script OpenAllBags()
一樣搞定:P
熱鍵Shift + B 也是可以的
4.戰(zhàn)士用,雙手武器切換單手武器+盾:
首先在快捷欄10、11、12(也就是0、 -、 =的位置)拖上雙手武器、單手武器、盾的快捷方式;
雙手武器:
/script ActionButtonDown(10);ActionButtonUp(10);
單手武器+盾:
/script ActionButtonDown(11);ActionButtonUp(11);ActionButtonDown(12);ActionButtonUp(12);
以下命令全部中空格用下劃線_來表示
%后面的都是變量
=各種命令分類收集=
參數(shù)設(shè)置
%t
切換當前目標命令
/target_%name
/assist_%name
/script_TargetLastEnemy();
游戲動作
/cast_%skillname(rank_%d)
/f
/script_UseAction(n%d, %d);
設(shè)置延遲命令
/pause_%d
聊天常用命令
/s_
/p_
/g_
/raid_
=應(yīng)用部分說明=
聊天部分命令我就省略了...重點說明游戲中實際關(guān)系到游戲操作的命令
首先%t是指當前目標名稱,%t大多是用在聊天中...比如:
...
你好,%t
我開始攻擊%t,大家請注意...
Pull
/script TargetNearestEnemy();
/p Pulling %t
/script AttackTarget();
/v inc
Assist
/assist %t
/script AttackTarget();
UsePoison
/script UseContainerItem(bag,slot); PickupInventoryItem(16);
UseContainerItem(bag,slot);
PickupInventoryItem(17);
/in 1740 /script DEFAULT_CHAT_FRAME:AddMessage('Poison wearing off in one minute')
_________________________
1. 常用指令
2. 隊長指令
3. 聊天指令
4. 聊天頻道指令
5. 公會指令
6. 表情指令
1. 常用指令
/help
列出常用指令幫助
/assist [名字]
協(xié)助你當前所選擇的目標,或者指定的目標
/cast spell
施放指定的法術(shù),可以包含法術(shù)的等級。比如: '/cast Slow Fall', '/cast Polymorph(Rank 2)'
/afk [文字]
開啟AFK模式顯示你要離開一會兒,再輸一次/afk關(guān)閉AFK模式。
/combatlog
導(dǎo)出你的戰(zhàn)斗信息到(wow目錄)LogsPlayerCombatLog.txt 文件里。
/dnd [文字]
開啟DND模式表示“請勿打擾”,再輸一次/dnd關(guān)閉DND模式。
/duel [名字]
要求與你鎖定的目標決斗,或者要求與指定的目標決斗。
/yield
(/forfeit) 在決斗時投降。
/emote 文字
(/em, /me) 表示接下來的文字是動作。
/exit
退出游戲。
/follow
(/f) 自動跟隨當前目標。
/ignore 名字
忽略目標玩家。
/inspect
(/ins) 查看目標玩家的裝備。
/logout
(/camp) 坐下并且登出。
/macro
打開宏設(shè)置界面。
/macrohelp
給出關(guān)于設(shè)置宏的幫助。
/played
顯示你游戲人物的在線時間。
/pvp
在接下來的5分鐘內(nèi)開啟PVP模式。
作者: 我想做斑竹 2006-1-9 17:59 回復(fù)此發(fā)言
--------------------------------------------------------------------------------
7 回復(fù):宏命令完全入門手冊[申精]
/raid 文字
(/r) 在RAID頻道里說話。
/random 數(shù)字 [數(shù)字2]
(/rnd, /rand) 扔出一個從1到某個數(shù)字范圍內(nèi)的隨機數(shù)字,或者是兩個數(shù)字范圍之間的隨機數(shù)字。
/remfriend 名字
(/removefriend) 把一個好友從你的好友列表里去掉。
/split 數(shù)量
把一部分的錢平均分給你的隊友。
/target 名字
(/tar) 從當前目標轉(zhuǎn)向你所指定的玩家。
/time
顯示當前游戲的服務(wù)器時間。
/trade
(/tr) 與當前選擇的目標交易
/who [文字[ 文字2...]] [數(shù)字[-數(shù)字2]] [r-'種族'] [c-'職業(yè)'] [z-'區(qū)域'] [g-'公會']
如果沒有添加任何后綴的話,列出在當前區(qū)域與你等級相近的所有在線玩家。文字指定玩家的名字,公會,職業(yè),種族或者所在的區(qū)域;數(shù)字表示指定列出玩家的等級范圍。
/bug
提交出錯報告。
/suggest
提交建議。
/note 文字
提交一條信息。
/script LUA-command
用于UI設(shè)計者。
/console command
用于一些游戲的內(nèi)部指令,比如'gxrestart', 'reloadui' and 'quit'.
/console 設(shè)置名 [新設(shè)置]
用于調(diào)整游戲設(shè)置。
2.隊長指令
/invite [名字]
(/inv) 邀請目標玩家到你的隊伍里。
/uninvite [名字]
(/un) 從你的隊伍里移除目標玩家。
/ffa
把掠奪方式設(shè)置成“自由掠奪”。
/master [名字]
指定目標玩家在“計劃分配”的掠奪方式中擔當分配者。
/roundrobin
把掠奪方式設(shè)置成”輪流掠奪“。
3. 聊天指令
/guild 文字
(/g) 在公會頻道內(nèi)說話。
/party 文字
(/p) 在隊伍頻道內(nèi)說話。
/reply 文字
(/r, R) 回復(fù)最后一個玩家給你的密語。
/say 文字
(/s) 跟周圍的玩家說話。
/yell 文字
(/shout) 喊叫(比/say傳的距離要遠)
/whisper 名字 信息
(/w, /tell) 給目標玩家密語。
播放一段聲音!每種語音都有兩到三種變化。而且你的角色不同,語音也不一樣。
/v help
/v inc
/v charge
/v flee
/v attack
/v oom
/v fol
/v wait
/v heal
/v cheer
/v fire
/v rasp
4. 聊天頻道指令
/chat
(/chathelp) 列出聊天指令。
/join 頻道 [密碼]
(/chan, /channel) 加入(或者創(chuàng)建)一個特殊聊天頻道。
/leave 頻道|#
(/chatleave, /chatexit) 離開這個特殊聊天頻道,或者離開指定號碼的聊天頻道。
/# 文字
(/c, /csay) 在聊天頻道內(nèi)說話,#表示所要說話的頻道號碼。
/announcements 頻道|#
(/ann) 開啟/關(guān)閉指定聊天頻道的公告。
/ban 頻道|# 名字
禁止目標玩家進入指定的頻道。
/unban 頻道|# 名字
解除目標玩家的禁令。
/chatlist
(/chatwho, /chatinfo) 列出所有的聊天頻道和他們的號碼。
/chatinvite 頻道|# 名字
(/cinvite) 邀請目標玩家到一個指令的聊天頻道里。
/ckick 頻道|# 名字
把目標玩家從指定頻道中踢出去。
/moderator 頻道|# 名字
(/mod) 把目標玩家設(shè)成指定聊天頻道的管理員。
/unmoderator 頻道|# 名字
(/unmod) 解除目標玩家在指定聊天頻道里的管理員身份。
/moderate 頻道|#
開啟指定聊天頻道的管理模式。
/mute 頻道|# 名字
(/squelch, /unvoice) 把目標玩家在指定的聊天頻道里禁言。
/unmute 頻道|# 名字
(/unsquelch, /voice) 解除目標玩家在指定的聊天頻道里的禁言。
/password 頻道|# [密碼]
(/pass) 設(shè)置,改變或者去除聊天頻道的密碼。
/owner 頻道|# [名字]
顯示或者改變所建立的聊天頻道名字。
5. 公會指令
/ginfo
給出關(guān)于你的公會的基本信息。
/g 文字
(/guild) 在公會頻道里說話
/o 文字
對所有公會里的管理員說話。
/ginvite 名字
(/guildinvite) 邀請目標玩家加入到你的公會里。
/gremove 名字
(/guildremove) 從你的公會里移除目標玩家。
/gpromote 名字
(/guildpromote) 提升在你公會里的目標玩家公會等級。
作者: 我想做斑竹 2006-1-9 17:59 回復(fù)此發(fā)言
--------------------------------------------------------------------------------
8 回復(fù):宏命令完全入門手冊[申精]
/gdemote 名字
(/guilddemote) 降低在你公會里的目標玩家公會等級。
/gmotd 信息
(/guildmotd) 設(shè)置今天的公會公告。
/gquit
(/guildquit) 離開你的公會。
/groster
(/guildroster) 給出整個公會成員的列表(只限管理員和會長使用)。
/gleader name
(/guildleader) 把目標玩家設(shè)為會長(只限會長使用)。
/gdisband
(/guilddisband) 解散公會(只限會長使用)。
三、android wifip2p怎么用
為了使用Wi-Fi P2P,要在你的清單文件中添加 CHANGE_WIFI_STATE 、 ACCESS_WIFI_STATE 、和 INTERNET 權(quán)限。即使Wi-FiP2P不要求互聯(lián)網(wǎng)連接,但它要使用標準的Java套接字,并且Android在使用這些套接字時要求申請這些權(quán)限,因此要在清單中申請INTERNET權(quán)限。
<manifestxmlns:android="http //schemas android com/apk/res/android" package="com.example.android.nsdchat"
...
<uses-permission
android:required="true"
android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission
android:required="true"
android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission
android:required="true"
android:name="android.permission.INTERNET"/>
...
添加本地服務(wù)
如果你要提供一個本地服務(wù),那么就需要把這個服務(wù)注冊為可發(fā)現(xiàn)的。本地服務(wù)被注冊后,框架就會自動的響應(yīng)來自對等點的服務(wù)發(fā)現(xiàn)請求。
以下是創(chuàng)建本地服務(wù)的步驟:
1. 創(chuàng)建一個 WifiP2pServiceInfo 對象;
2. 填入你的服務(wù)相關(guān)的信息;
3. 調(diào)用addLocalService()方法來注冊本地服務(wù),讓其可發(fā)現(xiàn)。
private void startRegistration () { // Create a string map containing information about your service.
Map record = new HashMap();
record.put("listenport", String.valueOf(SERVER_PORT));
record.put("buddyname", "John Doe" + (int) (Math.random() * 1000));
record.put("available", "visible");
// Serviceinformation. Pass it an instance name, service type
//_protocol._transportlayer , and the map containing
//information other devices will want once they connect to this one.
WifiP2pDnsSdServiceInfo serviceInfo =
WifiP2pDnsSdServiceInfo.newInstance("_test", "_presence._tcp", record);
// Add thelocal service, sending the service info, network channel,
// andlistener that will be used to indicate success or failure of
// therequest.
mManager.addLocalService(channel, serviceInfo, new ActionListener() {
@Override
public void onSuccess() {
// Command successful! Code isn't necessarily needed here,
// Unless you want to update the UI or add logging statements.
}
@Override
public void onFailure(int arg0) {
// Command failed. Check for P2P_UNSUPPORTED, ERROR, or BUSY
}
});
}
發(fā)現(xiàn)附近的服務(wù)
Android使用回調(diào)方法來通知你的應(yīng)用程序可用的服務(wù),因此首先要做的就是要建立回調(diào)方法。創(chuàng)建一個 WifiP2pManager.DnsSdTxtRecordListener 對象來監(jiān)聽傳入的記錄。這個記錄可以是其他設(shè)備的任意廣播。當一個記錄進入時,你可以把設(shè)備地址和其他你想要的其他相關(guān)信息復(fù)制到當前方法外部的數(shù)據(jù)結(jié)構(gòu)中,以便后續(xù)可以訪問它。下面的例子假設(shè)記錄中包含一個“buddyname”字段,它帶有用戶的標識。
final HashMap < String , String > buddies = new HashMap < String , String >(); ...
private void discoverService() {
DnsSdTxtRecordListener txtListener = new DnsSdTxtRecordListener() {
@Override
/* Callbackincludes:
* fullDomain: full domainname: e.g "printer._ipp._tcp.local."
* record: TXT record dta as amap of key/value pairs.
* device: The device runningthe advertised service.
*/
public voidonDnsSdTxtRecordAvailable(
String fullDomain, Map record, WifiP2pDevice device) {
Log.d(TAG, "DnsSdTxtRecord available -" + record.toString());
buddies.put(device.deviceAddress, record.get("buddyname"));
}
};
...
}
實現(xiàn)一個 WifiP2pManager.DnsSdServiceResponseListener 接口,來獲取服務(wù)信息。這個接口會接收實際的描述和連接信息。上面的代碼中使用了 Map 對象把設(shè)備地址和用戶標識組成一對。服務(wù)響應(yīng)監(jiān)聽器使用這個接口把DNS記錄和對應(yīng)的服務(wù)信息連接到一起。實現(xiàn)上述兩個監(jiān)聽器后,使用 setDnsSdResponseListener() 方法把它們添加給 WifiP2pManager 對象。
private void discoverService () { ...
DnsSdServiceResponseListener servListener = new DnsSdServiceResponseListener() {
@Override
public voidonDnsSdServiceAvailable(String instanceName, String registrationType,
WifiP2pDevice resourceType) {
// Update the device name with the human-friendly version from
// the DnsTxtRecord, assuming one arrived.
resourceType.deviceName = buddies
.containsKey(resourceType.deviceAddress) ? buddies
.get(resourceType.deviceAddress) : resourceType.deviceName;
// Add to the custom adapter defined specifically for showing
// wifi devices.
WiFiDirectServicesList fragment = (WiFiDirectServicesList)getFragmentManager()
.findFragmentById(R.id.frag_peerlist);
WiFiDevicesAdapter adapter = ((WiFiDevicesAdapter)fragment
.getListAdapter());
adapter.add(resourceType);
adapter.notifyDataSetChanged();
Log.d(TAG, "onBonjourServiceAvailable " + instanceName);
}
};
mManager.setDnsSdResponseListeners(channel, servListener, txtListener);
...
}
現(xiàn)在創(chuàng)建一個服務(wù)請求并調(diào)用 addServiceRequest() 方法,這個方法也需要一個監(jiān)聽器來包括成功或失敗。
serviceRequest = WifiP2pDnsSdServiceRequest . newInstance (); mManager .addServiceRequest(channel,
serviceRequest,
new ActionListener() {
@Override
public void onSuccess() {
// Success!
}
@Override
public void onFailure(int code) {
// Command failed. Check forP2P_UNSUPPORTED, ERROR, or BUSY
}
});
最后,調(diào)用的 discoverServices() 方法。
mManager . discoverServices ( channel , new ActionListener () { @Override
public void onSuccess() {
// Success!
}
@Override
public void onFailure(int code) {
// Command failed. Check for P2P_UNSUPPORTED, ERROR, or BUSY
if (code == WifiP2pManager.P2P_UNSUPPORTED) {
Log.d(TAG, "P2P isn'tsupported on this device.");
else if(...)
...
}
});
如果一切順利,恭喜你大功告成。如果遇到問題,記住前面異步調(diào)用的參數(shù) WifiP2pManager.ActionListener 參數(shù),它提供了指示成功或失敗的回調(diào)方法。把調(diào)試斷點設(shè)置在 onFailure() 方法中來診斷問題。這個方法提供了錯誤代碼,以下是可能發(fā)生的錯誤:
P2P_UNSUPPORTED
運行 app 的設(shè)備上不支持 Wi-Fi P2P
BUSY
系統(tǒng)忙于處理請求
ERROR
由于內(nèi)部錯誤導(dǎo)致操作失敗
四、聊天室代碼問題
你這個是什么程序,ichat嗎?給你個參考!
<HTML>
<head><META content="聊天,語音,語聊,可視,視頻,嘉賓,訪談,深圳東方博雅科技,ICHAT,CHAT,VIDEO,AUDIO" name=Keywords><META content="iChat聊天--可視語音嘉賓聊天" name=Description>
<TITLE>用戶列表</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
body {
font-family: "宋體";
font-size: 9pt;
line-height: 12pt;
margin-left: 0px;
}
select { BACKGROUND-COLOR: #efefef; COLOR: black; FONT-FAMILY: 宋體; FONT-SIZE: 9pt; Border-width: 1px;}
a:visited { text-decoration: none}
a:link { text-decoration: none}
a:hover {
text-decoration: none;
}
.boy { color: 0000FF}
.girl { color: FF80FF}
.private { color: green}
.offline { color: gray}
.p9 {font-size: 9pt}
.p11{font-size: 11pt}
body,td,th {
font-family: 宋體;
}
a:active {
text-decoration: none;
}
.STYLE1 {
font-size: 20pt;
color: #FFFF00;
}
-->
</style>
<script language="JavaScript">
var strFormat = "<!--$ICON_FORMAT-->" ;
var strMembersTag = "<!--$MEMBERS_TAG-->" ;
var nMembersDisp = <!--$MEMBERS_DISPLAY--> ;
function ShowTips(strUser,pThis)
{
var obj = parent.Users.FindObject(strUser);
if(obj == null) return ;
var xb, cs, level;
if(obj.XB == 0)
{
xb = "女士" ;
cs = "girl" ;
}else
{
if(obj.XB == 1)
{
xb = "男士" ;
cs = "boy";
}else
{
xb = "不詳" ;
cs = "private";
}
}
if(obj.Level < 10)
level = obj.Level + " " ;
else
level = obj.Level ;
var s = "<table width=130 border=0 cellspacing=1 cellpadding=2 bgcolor=#000066><tr bgcolor="
if(obj.Online == 0) s += "#ffffe7" ;
else s += "#dedfdf" ;
s += "><td><center><table border=0 class='p9'><tr height=40 align=center><td>" ;
if(obj.Icon.length > 0)
s += strFormat.replace("<!--$OBJECT-->", obj.Icon) ;
else
s += "<font face=Wingdings size=7 color=#FF0000>J</font>" ;
s += "</td><td valign=bottom><span class='p11'><font color=#FF9900><B>" ;
s += parent.GetTitle(obj.Level) + "</B></font></span><BR>" ;
if(parent.Users.FindObject(parent.youself).Level >= level)
s += "級別:<font color=red>" + level + "級</font><BR>" ;
else
s += "<BR>" ;
s += "性別:" + "<span class='" + cs + "'>" + xb + "</span>" ;
s += "</td></tr><tr><td>姓名:</td><td class='" + cs + "'>" + obj.UserName ;
s += "</td></tr><tr><td>昵稱:</td><td class='" + cs + "'>" + obj.NickName ;
if(obj.Arming.length > 0)
{
s += "</td></tr><tr><td colspan=2 align=center>" ;
s += strFormat.replace("<!--$OBJECT-->", obj.Arming) ;
}
s += "</td></tr><tr><td colspan=2 align=center>" ;
if(obj.Admin == 2)
s += "<font color=red>★ ★管 理 員★ ★</font>" ; // 正式管理員
else
if(obj.Admin == 1)
s += "<font color=red>☆ ☆臨 管 員☆ ☆</font>" ; // 臨時管理員
s += "</td></tr></center></table></td></tr></table>" ;
Tips.innerHTML = s ;
var pTip = document.all["Tips"].style ;
pTip.left = getPos(pThis,"left") - 9 ;
pTip.top = pThis.offsetHeight + getPos(pThis,"top") ;
pTip.width = 130;
pTip.display = "" ;
if(Tips.offsetTop + Tips.offsetHeight > document.body.offsetHeight)
pTip.top = getPos(pThis,"top") - Tips.offsetHeight ;
}
function getPos(obj,type)
{
var n = 0 ;
while(obj!=null)
{ if(type=="top")
n += obj.offsetTop ;
else
n += obj.offsetLeft ;
obj = obj.offsetParent ;
}
return n;
}
function Hidden()
{
var obj = document.all["Tips"].style ;
obj.left = 0 ;
obj.top = 0 ;
obj.display = "none" ;
}
function GetComment(obj,type)
{
var xb, state ;
if(obj.XB == 0) xb = "女士" ;else{if(obj.XB == 1) xb = "男士" ;else xb = "不詳" ;}
if(obj.Online == 0) state = "聊天中…" ;else state = "暫時離開" ;
var s = "" ;
var strComment = "\t\t\t\t\t\r\n" ;
if(type == null) strComment = " **用戶資料**\r\n" ;
else s = type ;
strComment += s + "姓名:" + obj.UserName + "\r\n" ;
strComment += s + "昵稱:" + obj.NickName + "\r\n" ;
strComment += s + "性別:" + xb + "\r\n" ;
strComment += s + "狀態(tài):" + state + "\r\n" ;
strComment += s + "級別:" + obj.Level + "\r\n" ;
strComment += s + "頭銜:" + parent.GetTitle(obj.Level) ;
return strComment ;
}
function DoWhois(str)
{ var obj = parent.Users.FindObject(str);
if(obj == null) return ;
parent.whois(obj.UserName);
}
function RndUsers()
{ var r, obj , n = parent.Users.GetCount() ;
if(n > 5)
{ for(var i = 0; i < 5 ; i ++)
{ r = Math.round(Math.random()*(n-1)) ;
obj = parent.Users.GetObject(r) ;
if(obj.UserName != parent.youself) break;
}
if(i < 5)
{ if(confirm(GetComment(obj,"\t") + "\r\n\r\n" + "系統(tǒng)推薦[ " + obj.NickName + " ]和您聊天,您愿意嗎?"))
parent.cs(obj.UserName) ;
return ;
}
}
alert("非常抱歉,沒有合適的聊友向您推薦!") ;
}
function OnSort(n)
{
switch(n)
{ case 0:
return ;
case "1":
parent.Users.SortByXB() ;
break;
case "2":
parent.Users.SortByLevel() ;
break;
case "3":
parent.Users.SortByName();
break;
case "4":
parent.Users.SortByState() ;
break;
case "90":
parent.ToMusic();
return;
case "100":
parent.Loop(0);
break;
case "101":
var loop = prompt("請設(shè)定音樂播放的次數(shù),1至99為有效值,-1表示不限次數(shù)!",parent.MyMusic.Loop) ;
if(loop != null && loop < 100) parent.Loop(loop);
break;
default:
parent.Play2(n) ;
break;
}
if(n < 10) parent.start() ;
else document.userlist.SELECT1.value = "0" ;
}
</script>
</HEAD>
<BODY rightmargin=0 onkeydown="if(event.keyCode==27)return false;" oncontextmenu="return false;">
<script>this.document.bgColor=parent.skin.UserColor;</script>
<div id="Tips" style="position:absolute; left:0; top:0; width:130; display=none;"></div>
<form action="/" name="userlist">
<table width="100%" border="2" align="left"><tr>
<th background="http://139007.com/bg8.gif" scope="row"><a href="http://139007.com/phpbbs" target="_blank" class="STYLE1">荊松聊吧</a></th>
</tr><tr>
<th background="http://139007.com/3/top2_bg.gif" scope="row"><a href="http://139007.com/phpbbs" target="_blank"><img src="http://139007.com/3/js.gif" width="120" height="30" border="0"></a></th>
</tr><tr>
<th background="http://139007.com/3/top2_bg.gif" scope="row"><a href="http://139007.com/dz" target="_blank"><img src="http://139007.com/3/ly.gif" width="120" height="30" border="0"></a></th>
</tr>
</table>
<div align="center"><br>
<br>
<br>
<br>
<br><br><br><br><br>
<script>
document.write("你自己:")
me=parent.youself
objs = parent.Users.FindObject(me)
document.write("<font color=red>")
document.write(objs.UserName)
document.write(" </font>")
</script>
<BR>
[<A href="javascript:parent.start();">刷新</A>|<A href="javascript:parent.ToMusic()"><font color=red>在線點歌臺</font></A>]
<BR>
<SELECT name="SELECT1" onChange="OnSort(this.value)">
<OPTION value='0'>==顯示順序==</OPTION>
<OPTION value='1'>按女士優(yōu)先</OPTION>
<OPTION value='2'>按級別高低</OPTION>
<OPTION value='3'>按姓名長度</OPTION>
<OPTION value='4'>按在線狀態(tài)</OPTION>
<OPTION value='90' style="BACKGROUND:red; COLOR:white">*在線點歌臺*</OPTION>
<OPTION value="100">停止播放音樂</OPTION>
<OPTION value="101">設(shè)定播放次數(shù)</OPTION>
</SELECT></div><br><div align="left">
[在線用戶:<font color=red><B>
<script>document.write(parent.Users.GetCount());</script>
</B></font>人]
<hr>
<div align="left">[<A href="javascript:parent.FindFriend();"><font color=red>查尋聊友</font></A>/<A href="javascript:RndUsers();"><font color=red>自動推薦</font></A>]<br>
[<A href="http://139007.com/kj/xc/" title="本功能需要泡到一定級別才能正常使用!歡迎大家泡分體驗!" target="_blank"><font color=red>香港本港臺</font></A>]<img src=http://image.ichat.net.cn/voiceimage/video.gif><br><script language="JavaScript">
var color; //性別的顏色區(qū)分,修改性別區(qū)分顏色請編輯CSS屬性的 .boy .girl .private
var obj, UserName, NickName, XB, ICON ;
for(var i=0; i<parent.Users.GetCount(); i ++)//循環(huán)寫用戶列表
{
obj = parent.Users.GetObject(i) ;
if(obj.NickName.length > 0)
{
UserName = obj.UserName ; // 姓名
Nick = obj.NickName; // 昵稱
XB = obj.XB ; // 性別
ICON = obj.Icon ; // 頭像
if(obj.Online == 0)
{ if(XB == 0)
color="girl";
else
if(XB ==1) //判斷性別,然后用不同顏色表示
color="boy";
else color="private";
}else
color="offline" ;
document.write("[<A href=\"javascript:parent.cs('"+UserName+"')\" onmouseover=\"ShowTips('" + UserName + "'," + "this" + ");\" onmouseout=\"Hidden();\"");
document.write(" ondblclick='DoWhois(\"" + obj.UserName + "\")'>") ;
document.write("<span class='"+color+"'>") ;
if(obj.Admin == 2) document.write("<font color=#FF0000>★</font>") ; // 正式管理員
else
if(obj.Admin == 1) document.write("<font color=#FF0000>☆</font>");// 臨時管理員
document.write(Nick+"</span></A>]");
if(UserName==parent.youself) document.write("<font color=red><=</font>");//你自己
document.write("<BR>");
}
}
/* 注:變量 parent.MaxOnline 代表本房間歷史最高在線人數(shù) */
</script></div><hr>
<INPUT type="checkbox" name="ch1" onClick="parent.bTimer=this.checked;" onDblClick="parent.bTimer=this.checked;"><A href="javascript:userlist.ch1.click();">定時刷新名單</a>
<BR><BR>
<table width="100%" border="1" bgcolor="#FFFFFF">
<tr>
<th align="center" valign="top" bordercolor="" background="http://139007.com/3/top2_bg.gif" bgcolor="" scope="row"><a href="http://www.ltb888.com/1/" target="_blank"><img src="http://139007.com/3/gy.gif" width="120" height="30" border="0"></a></th>
</tr>
<tr>
<th align="center" valign="top" bordercolor="" background="http://139007.com/3/top2_bg.gif" bgcolor="" scope="row"><a href="http://139007.com/dj.htm" target="_blank"><img src="http://139007.com/3/yy.gif" width="120" height="30" border="0"></a></th>
</tr>
<tr>
<th align="center" valign="top" bordercolor="" background="http://139007.com/3/top2_bg.gif" bgcolor="" scope="row"><a href="http://www.nfd.com.tw/house/1976-99.htm" target="_blank" class="STYLE24"><img src="http://139007.com/3/ls.gif" width="120" height="30" border="0"></a></th>
</tr>
<tr>
<th align="center" valign="top" bordercolor="" background="http://139007.com/3/top2_bg.gif" bgcolor="" scope="row"><a href="http://www.dffy.com/iq/index.asp?pageid=33" target="_blank" class="STYLE24"><img src="http://139007.com/3/zw.gif" width="120" height="30" border="0"></a></th>
</tr>
<tr>
<th align="center" valign="top" bordercolor="" background="http://139007.com/3/top2_bg.gif" bgcolor="" scope="row"><a href="http://code.51boba.com" target="_blank"><img src="http://139007.com/3/wl.gif" width="120" height="30" border="0"></a></th>
</tr>
<tr>
<th height="39" align="center" valign="top" bordercolor="" background="http://139007.com/3/top2_bg.gif" bgcolor="" scope="row"><a href="http://www.singaporepools.com.sg/Lottery?page=toto" target="_blank"><img src="http://139007.com/3/xjp.gif" width="120" height="30" border="0"></a></th>
</tr>
<tr>
<th align="center" valign="top" bordercolor="" background="http://139007.com/3/top2_bg.gif" bgcolor="" scope="row"><a href="http://139007.com:8889/UserGuide" target="_blank"><img src="http://139007.com/3/dj.gif" width="120" height="30" border="0"></a></th>
</tr>
<tr>
<th align="center" valign="top" bordercolor="" background="http://139007.com/3/top2_bg.gif" bgcolor="" scope="row"><a href="http://www.ip138.com/" target="_blank"><img src="http://139007.com/3/ip.gif" width="120" height="30" border="0" class="girl"></a></th>
</tr>
</table>
</a></DIV>
<script>userlist.ch1.checked=parent.bTimer;</script>
</form>
</BODY>
</HTML>
以上就是關(guān)于chatrandom怎么用相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
chat與talk的區(qū)別(chatty和talkative的區(qū)別)
南城別墅景觀設(shè)計專家咨詢(南城別墅景觀設(shè)計專家咨詢電話號碼)