В этом уроке мы рассмотрим как сделать графу в которую могут зайти персонажи тока относящуюся к ним. То есть если вы "Разбойник" то в раздел ''Друид'' вы зайти не сможете.
function ArenaSeason_OnGossipSelect(unit, event, player, id, intid, code)
if (intid == 1) then if (player:GetPlayerClass() == "Death Knight") then unit:VendorAddItem(51413, 1, 0) unit:VendorAddItem(51414, 1, 0) unit:VendorAddItem(51415, 1, 0) unit:VendorAddItem(51416, 1, 0) unit:VendorAddItem(51418, 1, 0) player:SendVendorWindow(unit) else player:SendAreaTriggerMessage("Хорошая попытка! Вы не |cff800000[Рыцарь Смерти]|r!") player:GossipComplete() end end
if (intid == 2) then if (player:GetPlayerClass() == "Druid") then unit:VendorAddItem(51419, 1, 0) unit:VendorAddItem(51420, 1, 0) unit:VendorAddItem(51421, 1, 0) unit:VendorAddItem(51422, 1, 0) unit:VendorAddItem(51424, 1, 0) unit:VendorAddItem(51425, 1, 0) unit:VendorAddItem(51426, 1, 0) unit:VendorAddItem(51427, 1, 0) unit:VendorAddItem(51428, 1, 0) unit:VendorAddItem(51430, 1, 0) unit:VendorAddItem(51433, 1, 0) unit:VendorAddItem(51434, 1, 0) unit:VendorAddItem(51435, 1, 0) unit:VendorAddItem(51436, 1, 0) unit:VendorAddItem(51438, 1, 0) player:SendVendorWindow(unit) else player:SendAreaTriggerMessage("Хорошая попытка! Вы не |cffbf4000[Друид]|r!") player:GossipComplete() end end
if (intid == 3) then if (player:GetPlayerClass() == "Hunter") then unit:VendorAddItem(51458, 1, 0) unit:VendorAddItem(51459, 1, 0) unit:VendorAddItem(51460, 1, 0) unit:VendorAddItem(51461, 1, 0) unit:VendorAddItem(51462, 1, 0) player:SendVendorWindow(unit) else player:SendAreaTriggerMessage("Хорошая попытка! Вы не |cff004000[Охотник]|r!") player:GossipComplete() end end
if (intid == 4) then if (player:GetPlayerClass() == "Mage") then unit:VendorAddItem(51463, 1, 0) unit:VendorAddItem(51464, 1, 0) unit:VendorAddItem(51465, 1, 0) unit:VendorAddItem(51466, 1, 0) unit:VendorAddItem(51467, 1, 0) player:SendVendorWindow(unit) else player:SendAreaTriggerMessage("Хорошая попытка! Вы не |cff0080bf[Маг]|r!") player:GossipComplete() end end
if (intid == 5) then if (player:GetPlayerClass() == "Paladin") then unit:VendorAddItem(51468, 1, 0) unit:VendorAddItem(51469, 1, 0) unit:VendorAddItem(51470, 1, 0) unit:VendorAddItem(51471, 1, 0) unit:VendorAddItem(51473, 1, 0) unit:VendorAddItem(51474, 1, 0) unit:VendorAddItem(51475, 1, 0) unit:VendorAddItem(51476, 1, 0) unit:VendorAddItem(51477, 1, 0) unit:VendorAddItem(51479, 1, 0) player:SendVendorWindow(unit) else player:SendAreaTriggerMessage("Хорошая попытка! Вы не |cffff4080[Паладин]|r!") player:GossipComplete() end end
if (intid == 6) then if (player:GetPlayerClass() == "Priest") then unit:VendorAddItem(51482, 1, 0) unit:VendorAddItem(51483, 1, 0) unit:VendorAddItem(51484, 1, 0) unit:VendorAddItem(51485, 1, 0) unit:VendorAddItem(51486, 1, 0) unit:VendorAddItem(51487, 1, 0) unit:VendorAddItem(51488, 1, 0) unit:VendorAddItem(51489, 1, 0) unit:VendorAddItem(51490, 1, 0) unit:VendorAddItem(51491, 1, 0) player:SendVendorWindow(unit) else player:SendAreaTriggerMessage("Хорошая попытка! Вы не |cffffffff[Жрец]|r!") player:GossipComplete() end end
if (intid == 7) then if (player:GetPlayerClass() == "Rogue") then unit:VendorAddItem(51492, 1, 0) unit:VendorAddItem(51493, 1, 0) unit:VendorAddItem(51494, 1, 0) unit:VendorAddItem(51495, 1, 0) unit:VendorAddItem(51496, 1, 0) player:SendVendorWindow(unit) else player:SendAreaTriggerMessage("Хорошая попытка! Вы не |cffffff20[Разбойник]|r!") player:GossipComplete() end end
if (intid == 8) then if (player:GetPlayerClass() == "Shaman") then unit:VendorAddItem(51497, 1, 0) unit:VendorAddItem(51498, 1, 0) unit:VendorAddItem(51499, 1, 0) unit:VendorAddItem(51500, 1, 0) unit:VendorAddItem(51502, 1, 0) unit:VendorAddItem(51503, 1, 0) unit:VendorAddItem(51504, 1, 0) unit:VendorAddItem(51505, 1, 0) unit:VendorAddItem(51506, 1, 0) unit:VendorAddItem(51508, 1, 0) unit:VendorAddItem(51509, 1, 0) unit:VendorAddItem(51510, 1, 0) unit:VendorAddItem(51511, 1, 0) unit:VendorAddItem(51512, 1, 0) unit:VendorAddItem(51514, 1, 0) player:SendVendorWindow(unit) else player:SendAreaTriggerMessage("Хорошая попытка! Вы не |cff0000ff[Шаман]|r!") player:GossipComplete() end end
if (intid == 9) then if (player:GetPlayerClass() == "Warlock") then unit:VendorAddItem(51536, 1, 0) unit:VendorAddItem(51537, 1, 0) unit:VendorAddItem(51538, 1, 0) unit:VendorAddItem(51539, 1, 0) unit:VendorAddItem(51540, 1, 0) player:SendVendorWindow(unit) else player:SendAreaTriggerMessage("Хорошая попытка! Вы не |cff8000ff[Чернокнижник]|r!") player:GossipComplete() end end
if (intid == 10) then if (player:GetPlayerClass() == "Warrior") then unit:VendorAddItem(51541, 1, 0) unit:VendorAddItem(51542, 1, 0) unit:VendorAddItem(51543, 1, 0) unit:VendorAddItem(51544, 1, 0) unit:VendorAddItem(51545, 1, 0) player:SendVendorWindow(unit) else player:SendAreaTriggerMessage("Хорошая попытка! Вы не |cff804000[Воин]|r!") player:GossipComplete() end end
if (player:GetPlayerClass() == "Death Knight") then
if (player:GetPlayerClass() == "Druid") then
if (player:GetPlayerClass() == "Hunter") then
if (player:GetPlayerClass() == "Mage") then
if (player:GetPlayerClass() == "Paladin") then
if (player:GetPlayerClass() == "Priest") then
if (player:GetPlayerClass() == "Rogue") then
if (player:GetPlayerClass() == "Shaman") then
if (player:GetPlayerClass() == "Warlock") then
if (player:GetPlayerClass() == "Warrior") then
Тут я думаю все предельно ясно.
Code
player:GetPlayerClass() -- Это запросом смотрит какой класс у вас.
Code
== "Death Knight")then -- Это означает. Если вы Рыцарь Смерти то вам откроет скрипт доступ. Если нет то он просто закроет меню вендора.
Далее мы рассмотрим:
Code
player:SendAreaTriggerMessage("Хорошая попытка! Вы не |cff804000[Рыцарь Смерти]|r!") player:GossipComplete()
player:SendAreaTriggerMessage("Хорошая попытка! Вы не |cff804000[Друид]|r!") player:GossipComplete()
player:SendAreaTriggerMessage("Хорошая попытка! Вы не |cff804000[Охотник]|r!") player:GossipComplete()
И так далее...
Что мы тут видим:
Code
SendAreaTriggerMessage() -- Это значение пишет вам как глобальный анонс ( Видите его тока вы ) если вы входите в ту графу которая относится не вашему классу.
Ну и:
Code
GossipComplete() -- Это значение закрывает окно вендора если вы выбрали раздел не для своего класса.
Вот пока и все. Далее урок будет как сделать этого вендора доступным тока с 80 Уровня.
Желаю вам удачи в создании своих собственных скриптов.