--s52,3373741864
--1. Количество разговоров с шоколадом
--2. Количество разговоров с розами
qingrenjie_chuansongren = 0 -- Запись количества передатчиков праздника влюбленных
--Передача в Деревню Романсов
function luomancun_OnTalk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex)
--Получить уровень игрока
local rolelevel = role.GetRoleLevel(MapID, InstanceID, RoleID)
if TalkIndex == -1 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206501) --"Передатчик Деревни Романсов: \nДеревня Романсов - романтическое место, о котором мечтают мужчины и женщины. Для достижения цели требуется сотрудничество между мужчинами и женщинами. Хотите войти в Деревню Романсов? \nОткрыто каждый вторник, четверг, субботу и воскресенье с 18:00 до 24:00. Не упустите время."
msg.AddMsgEvent(MsgID, 24, TargetID) --ID NPC
msg.AddMsgEvent(MsgID, 21, 4) --Кнопка подтверждения
msg.AddMsgEvent(MsgID, 1, 206502) --"Да, я хочу войти в Деревню Романсов"
msg.AddMsgEvent(MsgID, 21, 5) --Кнопка отмены
msg.AddMsgEvent(MsgID, 1, 100002) --"Отмена"
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif TalkIndex == 4 then
local sex = role.GetRoleSex(RoleID)
local level = role.GetRoleLevel(MapID, InstanceID, RoleID)
if level < 30 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206503) --Передатчик Деревни Романсов: \nТолько игроки выше 30 уровня могут войти в Деревню Романсов.
msg.AddMsgEvent(MsgID, 24, TargetID) --ID NPC
msg.AddMsgEvent(MsgID, 21, 5) --Кнопка отмены
msg.AddMsgEvent(MsgID, 1, 100001) --"Подтвердить"
msg.DispatchRoleMsgEvent(RoleID, MsgID)
else
if sex == 1 then
role.RoleGotoNewMap(MapID, InstanceID, RoleID, 3373741864, 105, 3000, 369) --Мужская зона 105, 3000, 369
elseif sex == 0 then
role.RoleGotoNewMap(MapID, InstanceID, RoleID, 3373741864, 411, 2955, 314) --Женская зона 411, 2955, 314
end
end
end
end
aux.RegisterCreatureEvent(5600026, 7, "luomancun_OnTalk")
--Проверка зоны
function Nannv_OnEnterArea(MapID, InstanceID, RoleID, objID)
local sex = role.GetRoleSex(RoleID)
if objID == 500 then --Женская зона
if sex == 1 then
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 206528) --Эта зона не соответствует вашей идентичности; она принадлежит женщинам.
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
role.RoleGotoNewMap(MapID, InstanceID, RoleID, MapID, 251, 3016, 215) --Средняя зона 251, 3016, 215
end
elseif objID == 501 then --Мужская зона
if sex == 0 then
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 206516) --Эта зона не соответствует вашей идентичности; она принадлежит мужчинам.
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
role.RoleGotoNewMap(MapID, InstanceID, RoleID, MapID, 251, 3016, 215) --Средняя зона
end
end
end
aux.RegisterMapEvent("s52", 7, "Nannv_OnEnterArea")
--Выход из инстанса
function s52_OnPlayerEnter(MapID, InstanceID, RoleID)
local Q_wupin = {}
--Предметы праздника влюбленных
Q_wupin[1] = {id = 4800062}
Q_wupin[2] = {id = 4800063}
Q_wupin[3] = {id = 4800064}
Q_wupin[4] = {id = 4800065}
Q_wupin[5] = {id = 4800066}
Q_wupin[6] = {id = 4800067}
Q_wupin[7] = {id = 4800068}
Q_wupin[8] = {id = 4800069}
Q_wupin[9] = {id = 4800070}
Q_wupin[10] = {id = 4800071}
for i = 1, 10 do
local num = role.GetRoleItemNum(RoleID, Q_wupin[i].id)
role.RemoveFromRole(MapID, InstanceID, RoleID, Q_wupin[i].id, num, 101)
end
end
--Регистрация
aux.RegisterMapEvent("s52", 3, "s52_OnPlayerEnter")
--Покинуть праздник влюбленных
function Qchukou_OnTalk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex)
if TalkIndex == -1 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206548) --"Передатчик Боевого Города: \nХотите покинуть Деревню Романсов? \nПокидая это место, вы удалите Резные инструменты, Инсектицид, Божественную росу, Высококачественный шоколадный порошок, Форму для шоколада, Высококачественный инсектицид, Ледяную розу, Огненную розу, Шоколад нулевой температуры, Эльфийский шоколад."
msg.AddMsgEvent(MsgID, 24, TargetID) --ID NPC
msg.AddMsgEvent(MsgID, 21, 4) --Кнопка подтверждения
msg.AddMsgEvent(MsgID, 1, 100001) --"Подтвердить"
msg.AddMsgEvent(MsgID, 21, 5) --Кнопка отмены
msg.AddMsgEvent(MsgID, 1, 100002) --"Отмена"
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif TalkIndex == 4 then
role.RoleGotoNewMap(MapID, InstanceID, RoleID, 3424073512, 606, 23510, 589) --
end
end
aux.RegisterCreatureEvent(5600034, 7, "Qchukou_OnTalk")
--Выращивание роз
function meigui_OnTalk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex)
local sex = role.GetRoleSex(RoleID)
local growtime = role.GetRoleScriptData(RoleID, 1, RoleDataType["Rose_Times"]) --Количество разговоров с розами
local buff = role.IsRoleHaveBuff(MapID, InstanceID, RoleID, 60005) --ID баффа 45 секунд
local a = math.random(1, 100)
local laodong_num = role.GetRoleItemNum(RoleID, 4800076) --Количество трудовых сертификатов
local day = os.date("%A")
local curhour = tonumber(os.date("%H"))
if (day == "Tuesday" or day == "Thursday" or day == "Saturday" or day == "Sunday") then
if (curhour >= 18 and curhour <= 24) then
if sex == 1 then
if buff ~= true then
if laodong_num > 0 then
if TalkIndex == -1 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206504) -- "Вы уверены, что хотите ухаживать за розой?"
msg.AddMsgEvent(MsgID, 21, 4) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 100001) -- "Подтвердить"
msg.AddMsgEvent(MsgID, 21, 5) -- Вариант 2
msg.AddMsgEvent(MsgID, 1, 100002) -- "Отмена"
msg.AddMsgEvent(MsgID, 24, TargetID)
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif TalkIndex == 4 then
if growtime < 5 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206505) -- "Уход за розами требует 1 порции [Нектара] или 1 порции [Божественной росы]; между поливами должно быть 45 секунд. \nЭффект [Божественной росы] в 5 раз больше, чем [Нектара]!"
msg.AddMsgEvent(MsgID, 21, 6) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 206506) -- "Использовать [Нектар]"
msg.AddMsgEvent(MsgID, 21, 7) -- Вариант 2
msg.AddMsgEvent(MsgID, 1, 206507) -- "Использовать [Божественную росу]"
msg.AddMsgEvent(MsgID, 24, TargetID)
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif growtime >= 5 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206508) -- "Уход за розами требует 1 порции [Инсектицида] или 1 порции [Высококачественного инсектицида]; между поливами должно быть 45 секунд. \nЭффект [Высококачественного инсектицида] в 5 раз больше, чем [Инсектицида]!"
msg.AddMsgEvent(MsgID, 21, 8) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 206509) -- "Использовать [Инсектицид]"
msg.AddMsgEvent(MsgID, 21, 9) -- Вариант 2
msg.AddMsgEvent(MsgID, 1, 206510) -- "Использовать [Высококачественный инсектицид]"
msg.AddMsgEvent(MsgID, 24, TargetID)
msg.DispatchRoleMsgEvent(RoleID, MsgID)
end
elseif TalkIndex == 6 then
local QNum = role.GetRoleItemNum(RoleID, 4800060) --Количество [Нектара]
if QNum <= 0 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206511) --"У вас нет [Нектара] и вы не можете полить розу"
msg.AddMsgEvent(MsgID, 21, 5) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 100002) -- "Уйти"
msg.DispatchRoleMsgEvent(RoleID, MsgID)
else
local FreeSize = role.GetBagFreeSize(RoleID)
if FreeSize >= 3 then
unit.AddBuff(MapID, InstanceID, RoleID, 6000501, RoleID) --Бафф 45 секунд
role.RemoveFromRole(MapID, InstanceID, RoleID, 4800060, 1, 101) --Удаление [Нектара]
local c = math.random(1, 1000)
if c <= 10 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800068, 1, -1, 8, 420) --Ледяная роза
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300032) --XX получил ледяную розу, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 10 and c <= 15 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800069, 1, -1, 8, 420) --Огненная роза
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300033) --XX получил огненную розу, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 15 and c <= 17 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800073, 1, -1, 8, 420) --Звезда романтики
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300036) --XX получил звезду романтики, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 17 and c <= 27 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800052, 1, -1, 8, 420) --Роза истинной любви
end
local level = role.GetRoleLevel(MapID, InstanceID, RoleID)
if level >= 30 and level <= 39 then
role.AddRoleExp(MapID, InstanceID, RoleID, 2000)
elseif level >= 40 and level <= 49 then
role.AddRoleExp(MapID, InstanceID, RoleID, 4000)
elseif level >= 50 and level <= 59 then
role.AddRoleExp(MapID, InstanceID, RoleID, 5000)
elseif level >= 60 and level <= 69 then
role.AddRoleExp(MapID, InstanceID, RoleID, 8000)
elseif level >= 70 and level <= 79 then
role.AddRoleExp(MapID, InstanceID, RoleID, 10000)
elseif level >= 80 then
role.AddRoleExp(MapID, InstanceID, RoleID, 15000)
end
growtime = growtime + 1
if growtime == 5 then
if a <= 95 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800062, 5, -1, 8, 420) --Резные инструменты * 5
elseif a > 95 then
local b = math.random(1, 10)
if b <= 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800065, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300030) -- получил высококачественный шоколадный порошок, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif b > 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800066, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300031) -- получил форму для шоколада, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
end
end
end
role.SetRoleScriptData(RoleID, 1, RoleDataType["Rose_Times"], growtime) --Запись количества произведенных предметов
else
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 26, 100003)
msg.AddMsgEvent(MsgID, 9, 3)
msg.DispatchRoleMsgEvent(RoleID, MsgID)
end
end
elseif TalkIndex == 7 then
local QNum = role.GetRoleItemNum(RoleID, 4800064) --Количество [Божественной росы]
if QNum <= 0 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206512) --"У вас нет [Божественной росы] и вы не можете полить розу"
msg.AddMsgEvent(MsgID, 21, 5) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 100002) -- "Уйти"
msg.DispatchRoleMsgEvent(RoleID, MsgID)
else
local FreeSize = role.GetBagFreeSize(RoleID)
if FreeSize >= 3 then
unit.AddBuff(MapID, InstanceID, RoleID, 6000501, RoleID) --Бафф 45 секунд
role.RemoveFromRole(MapID, InstanceID, RoleID, 4800064, 1, 101) --Удаление божественной росы
local c = math.random(1, 1000)
if c <= 10 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800068, 1, -1, 8, 420) --Ледяная роза
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300032) --XX получил ледяную розу, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 10 and c <= 15 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800069, 1, -1, 8, 420) --Огненная роза
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300033) --XX получил огненную розу, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 15 and c <= 17 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800073, 1, -1, 8, 420) --Звезда романтики
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300036) --XX получил звезду романтики, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 17 and c <= 27 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800052, 1, -1, 8, 420) --Роза истинной любви
end
local level = role.GetRoleLevel(MapID, InstanceID, RoleID)
if level >= 30 and level <= 39 then
role.AddRoleExp(MapID, InstanceID, RoleID, 14000)
elseif level >= 40 and level <= 49 then
role.AddRoleExp(MapID, InstanceID, RoleID, 28000)
elseif level >= 50 and level <= 59 then
role.AddRoleExp(MapID, InstanceID, RoleID, 35000)
elseif level >= 60 and level <= 69 then
role.AddRoleExp(MapID, InstanceID, RoleID, 56000)
elseif level >= 70 and level <= 79 then
role.AddRoleExp(MapID, InstanceID, RoleID, 70000)
elseif level >= 80 then
role.AddRoleExp(MapID, InstanceID, RoleID, 105000)
end
growtime = growtime + 5
if growtime >= 5 then
if a <= 95 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800062, 5, -1, 8, 420) --Резные инструменты * 5
elseif a > 95 then
local b = math.random(1, 10)
if b <= 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800065, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300030) -- получил высококачественный шоколадный порошок, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif b > 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800066, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300031) -- получил форму для шоколада, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
end
end
end
role.SetRoleScriptData(RoleID, 1, RoleDataType["Rose_Times"], growtime) --Запись количества произведенных предметов
else
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 26, 100003)
msg.AddMsgEvent(MsgID, 9, 3)
msg.DispatchRoleMsgEvent(RoleID, MsgID)
end
end
elseif TalkIndex == 8 then
local QNum = role.GetRoleItemNum(RoleID, 4800063) --Количество [Инсектицида]
if QNum <= 0 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206513) --"У вас нет [Инсектицида] и вы не можете провести обработку розы от насекомых"
msg.AddMsgEvent(MsgID, 21, 5) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 100002) -- "Уйти"
msg.DispatchRoleMsgEvent(RoleID, MsgID)
else
local FreeSize = role.GetBagFreeSize(RoleID)
if FreeSize >= 3 then
unit.AddBuff(MapID, InstanceID, RoleID, 6000501, RoleID) --Бафф 45 секунд
role.RemoveFromRole(MapID, InstanceID, RoleID, 4800063, 1, 101) --Удаление инсектицида
local c = math.random(1, 1000)
if c <= 10 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800068, 1, -1, 8, 420) --Ледяная роза
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300032) --XX получил ледяную розу, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 10 and c <= 15 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800069, 1, -1, 8, 420) --Огненная роза
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300033) --XX получил огненную розу, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 15 and c <= 17 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800073, 1, -1, 8, 420) --Звезда романтики
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300036) --XX получил звезду романтики, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 17 and c <= 27 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800052, 1, -1, 8, 420) --Роза истинной любви
elseif c > 27 and c <= 37 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800072, 1, -1, 8, 420) --Значок романтики
end
local level = role.GetRoleLevel(MapID, InstanceID, RoleID)
if level >= 30 and level <= 39 then
role.AddRoleExp(MapID, InstanceID, RoleID, 3000)
elseif level >= 40 and level <= 49 then
role.AddRoleExp(MapID, InstanceID, RoleID, 6000)
elseif level >= 50 and level <= 59 then
role.AddRoleExp(MapID, InstanceID, RoleID, 10000)
elseif level >= 60 and level <= 69 then
role.AddRoleExp(MapID, InstanceID, RoleID, 12000)
elseif level >= 70 and level <= 79 then
role.AddRoleExp(MapID, InstanceID, RoleID, 20000)
elseif level >= 80 then
role.AddRoleExp(MapID, InstanceID, RoleID, 25000)
end
growtime = growtime + 1
if growtime >= 10 then
role.RemoveFromRole(MapID, InstanceID, RoleID, 4800076, 1, 101) --Удаление трудового сертификата
if a <= 95 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800075, 1, -1, 8, 420)
growtime = 0
elseif a > 95 and a <= 99 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800075, 1, -1, 8, 420)
role.AddRoleItem(MapID, InstanceID, RoleID, 4800068, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300032) --XX получил ледяную розу, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
growtime = 0
elseif a > 99 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800075, 1, -1, 8, 420)
role.AddRoleItem(MapID, InstanceID, RoleID, 4800069, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300033) --XX получил огненную розу, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
growtime = 0
end
end
role.SetRoleScriptData(RoleID, 1, RoleDataType["Rose_Times"], growtime) --Запись количества произведенных предметов
else
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 26, 100003)
msg.AddMsgEvent(MsgID, 9, 3)
msg.DispatchRoleMsgEvent(RoleID, MsgID)
end
end
elseif TalkIndex == 9 then
local QNum = role.GetRoleItemNum(RoleID, 4800067) --Количество [Высококачественного инсектицида]
if QNum <= 0 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206514) --"У вас нет [Высококачественного инсектицида] и вы не можете провести обработку розы от насекомых"
msg.AddMsgEvent(MsgID, 21, 5) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 100002) -- "Уйти"
msg.DispatchRoleMsgEvent(RoleID, MsgID)
else
local FreeSize = role.GetBagFreeSize(RoleID)
if FreeSize >= 3 then
unit.AddBuff(MapID, InstanceID, RoleID, 6000501, RoleID) --Бафф 45 секунд
role.RemoveFromRole(MapID, InstanceID, RoleID, 4800067, 1, 101) --Удаление высококачественного инсектицида
local c = math.random(1, 1000)
if c <= 10 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800068, 1, -1, 8, 420) --Ледяная роза
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300032) --XX получил ледяную розу, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 10 and c <= 15 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800069, 1, -1, 8, 420) --Огненная роза
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300033) --XX получил огненную розу, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 15 and c <= 17 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800073, 1, -1, 8, 420) --Звезда романтики
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300036) --XX получил звезду романтики, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 17 and c <= 27 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800052, 1, -1, 8, 420) --Роза истинной любви
elseif c > 27 and c <= 37 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800072, 1, -1, 8, 420) --Значок романтики
end
local level = role.GetRoleLevel(MapID, InstanceID, RoleID)
if level >= 30 and level <= 39 then
role.AddRoleExp(MapID, InstanceID, RoleID, 21000)
elseif level >= 40 and level <= 49 then
role.AddRoleExp(MapID, InstanceID, RoleID, 42000)
elseif level >= 50 and level <= 59 then
role.AddRoleExp(MapID, InstanceID, RoleID, 70000)
elseif level >= 60 and level <= 69 then
role.AddRoleExp(MapID, InstanceID, RoleID, 84000)
elseif level >= 70 and level <= 79 then
role.AddRoleExp(MapID, InstanceID, RoleID, 140000)
elseif level >= 80 then
role.AddRoleExp(MapID, InstanceID, RoleID, 175000)
end
growtime = growtime + 5
if growtime >= 10 then
role.RemoveFromRole(MapID, InstanceID, RoleID, 4800076, 1, 101) --Удаление трудового сертификата
if a <= 95 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800075, 1, -1, 8, 420)
growtime = 0
elseif a > 95 and a <= 99 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800075, 1, -1, 8, 420)
role.AddRoleItem(MapID, InstanceID, RoleID, 4800068, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300032) --XX получил ледяную розу, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
growtime = 0
elseif a > 99 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800075, 1, -1, 8, 420)
role.AddRoleItem(MapID, InstanceID, RoleID, 4800069, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300033) --XX получил огненную розу, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
growtime = 0
end
end
role.SetRoleScriptData(RoleID, 1, RoleDataType["Rose_Times"], growtime) --Запись количества произведенных предметов
else
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 26, 100003)
msg.AddMsgEvent(MsgID, 9, 3)
msg.DispatchRoleMsgEvent(RoleID, MsgID)
end
end
end
else
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 206549) --You do not have a Romance Village Labor Certificate and cannot perform the operation.
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
end
else
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206515) --The time for the next operation has not yet arrived; please come back at the specified time.
msg.AddMsgEvent(MsgID, 21, 5) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 100002) -- "Уйти"
msg.DispatchRoleMsgEvent(RoleID, MsgID)
end
elseif sex == 0 then
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 206516) --Эта зона не соответствует вашей идентичности; она принадлежит мужчинам.
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
end
else
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 206567) --All labor in Romance Village can only be performed from 18:00 to 24:00 on Tuesdays, Thursdays, Saturdays, and Sundays. Romance Village needs to rest at other times.
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
end
else
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 206567) --All labor in Romance Village can only be performed from 18:00 to 24:00 on Tuesdays, Thursdays, Saturdays, and Sundays. Romance Village needs to rest at other times.
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
end
end
aux.RegisterCreatureEvent(6030010, 7, "meigui_OnTalk")
--Изготовление шоколада
function qiaokeli_OnTalk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex)
local sex = role.GetRoleSex(RoleID)
local growtime = role.GetRoleScriptData(RoleID, 1, RoleDataType["Rose_Times"]) --Количество разговоров с шоколадом
local buff = role.IsRoleHaveBuff(MapID, InstanceID, RoleID, 60005) --ID баффа 45 секунд
local a = math.random(1, 100)
local laodong_num = role.GetRoleItemNum(RoleID, 4800076) --Количество трудовых сертификатов
local day = os.date("%A")
local curhour = tonumber(os.date("%H"))
if (day == "Tuesday" or day == "Thursday" or day == "Saturday" or day == "Sunday") then
if (curhour >= 18 and curhour <= 24) then
if sex == 0 then
if buff ~= true then
if laodong_num > 0 then
if TalkIndex == -1 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206517) -- "Are you sure you want to make chocolate?"
msg.AddMsgEvent(MsgID, 21, 4) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 100001) -- "Подтвердить"
msg.AddMsgEvent(MsgID, 21, 5) -- Вариант 2
msg.AddMsgEvent(MsgID, 1, 100002) -- "Отмена"
msg.AddMsgEvent(MsgID, 24, TargetID)
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif TalkIndex == 4 then
if growtime < 5 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206518) -- "Изготовление шоколада требует 1 порции [Шоколадного порошка] или 1 порции [Высококачественного шоколадного порошка]; между производствами должно быть 45 секунд. \nThe effect of [High-grade Chocolate Powder] is 5 times that of [Chocolate Powder]!"
msg.AddMsgEvent(MsgID, 21, 6) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 206519) -- "Использовать [Шоколадный порошок]"
msg.AddMsgEvent(MsgID, 21, 7) -- Вариант 2
msg.AddMsgEvent(MsgID, 1, 206520) -- "Использовать [Высококачественный шоколадный порошок]"
msg.AddMsgEvent(MsgID, 24, TargetID)
msg.DispatchRoleMsgEvent(RoleID, MsgID)
elseif growtime >= 5 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206521) -- "Изготовление шоколада требует 1 порции [Резных инструментов] или 1 порции [Формы для шоколада]; между формировками должно быть 45 секунд. \nThe effect of [Chocolate Mold] is 5 times that of [Carving Tools]!"
msg.AddMsgEvent(MsgID, 21, 8) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 206522) -- "Использовать [Резные инструменты]"
msg.AddMsgEvent(MsgID, 21, 9) -- Вариант 2
msg.AddMsgEvent(MsgID, 1, 206523) -- "Использовать [Форму для шоколада]"
msg.AddMsgEvent(MsgID, 24, TargetID)
msg.DispatchRoleMsgEvent(RoleID, MsgID)
end
elseif TalkIndex == 6 then
local QNum = role.GetRoleItemNum(RoleID, 4800061) --Количество [Шоколадного порошка]
if QNum <= 0 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206524) --"У вас нет [Шоколадного порошка] и вы не можете сделать шоколад"
msg.AddMsgEvent(MsgID, 21, 5) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 100002) -- "Уйти"
msg.DispatchRoleMsgEvent(RoleID, MsgID)
else
local FreeSize = role.GetBagFreeSize(RoleID)
if FreeSize >= 3 then
unit.AddBuff(MapID, InstanceID, RoleID, 6000501, RoleID) --Бафф 45 секунд
role.RemoveFromRole(MapID, InstanceID, RoleID, 4800061, 1, 101) --Удаление шоколадного порошка
local c = math.random(1, 1000)
if c <= 10 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800070, 1, -1, 8, 420) --Шоколад нулевой температуры
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300034) --XX получил шоколад нулевой температуры, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 10 and c <= 15 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800071, 1, -1, 8, 420) --Эльфийский шоколад
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300035) --XX получил эльфийский шоколад, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 15 and c <= 17 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800073, 1, -1, 8, 420) --Звезда романтики
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300036) --XX получил звезду романтики, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 17 and c <= 27 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800051, 1, -1, 8, 420) --Шоколад истинной любви
end
local level = role.GetRoleLevel(MapID, InstanceID, RoleID)
if level >= 30 and level <= 39 then
role.AddRoleExp(MapID, InstanceID, RoleID, 2000)
elseif level >= 40 and level <= 49 then
role.AddRoleExp(MapID, InstanceID, RoleID, 4000)
elseif level >= 50 and level <= 59 then
role.AddRoleExp(MapID, InstanceID, RoleID, 5000)
elseif level >= 60 and level <= 69 then
role.AddRoleExp(MapID, InstanceID, RoleID, 8000)
elseif level >= 70 and level <= 79 then
role.AddRoleExp(MapID, InstanceID, RoleID, 10000)
elseif level >= 80 then
role.AddRoleExp(MapID, InstanceID, RoleID, 15000)
end
growtime = growtime + 1
if growtime == 5 then
if a <= 95 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800063, 5, -1, 8, 420) --Инсектицид * 5
elseif a > 95 then --High-grade Insecticide * 1 or God Dew * 1
local b = math.random(1, 10)
if b > 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800067, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300046) --XX получил высококачественный инсектицид, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif b <= 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800064, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300045) --XX получил божественную росу, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
end
end
end
role.SetRoleScriptData(RoleID, 1, RoleDataType["Rose_Times"], growtime) --Запись количества произведенных предметов
else
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 26, 100003)
msg.AddMsgEvent(MsgID, 9, 3)
msg.DispatchRoleMsgEvent(RoleID, MsgID)
end
end
elseif TalkIndex == 7 then
local QNum = role.GetRoleItemNum(RoleID, 4800065) --Количество [Высококачественного шоколадного порошка]
if QNum <= 0 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206525) --"У вас нет [Высококачественного шоколадного порошка] и вы не можете сделать шоколад"
msg.AddMsgEvent(MsgID, 21, 5) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 100002) -- "Уйти"
msg.DispatchRoleMsgEvent(RoleID, MsgID)
else
local FreeSize = role.GetBagFreeSize(RoleID)
if FreeSize >= 3 then
unit.AddBuff(MapID, InstanceID, RoleID, 6000501, RoleID) --Бафф 45 секунд
role.RemoveFromRole(MapID, InstanceID, RoleID, 4800065, 1, 101) --Удаление шоколадного порошка
local c = math.random(1, 1000)
if c <= 10 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800070, 1, -1, 8, 420) --Шоколад нулевой температуры
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300034) --XX получил шоколад нулевой температуры, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 10 and c <= 15 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800071, 1, -1, 8, 420) --Эльфийский шоколад
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300035) --XX получил эльфийский шоколад, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 15 and c <= 17 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800073, 1, -1, 8, 420) --Звезда романтики
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300036) --XX получил звезду романтики, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 17 and c <= 27 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800051, 1, -1, 8, 420) --Шоколад истинной любви
end
local level = role.GetRoleLevel(MapID, InstanceID, RoleID)
if level >= 30 and level <= 39 then
role.AddRoleExp(MapID, InstanceID, RoleID, 14000)
elseif level >= 40 and level <= 49 then
role.AddRoleExp(MapID, InstanceID, RoleID, 28000)
elseif level >= 50 and level <= 59 then
role.AddRoleExp(MapID, InstanceID, RoleID, 35000)
elseif level >= 60 and level <= 69 then
role.AddRoleExp(MapID, InstanceID, RoleID, 56000)
elseif level >= 70 and level <= 79 then
role.AddRoleExp(MapID, InstanceID, RoleID, 70000)
elseif level >= 80 then
role.AddRoleExp(MapID, InstanceID, RoleID, 105000)
end
growtime = growtime + 5
if growtime >= 5 then
if a <= 95 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800063, 5, -1, 8, 420) --Инсектицид * 5
elseif a > 95 then --High-grade Insecticide * 1 or God Dew * 1
local b = math.random(1, 10)
if b > 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800067, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300046) --XX получил высококачественный инсектицид, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif b <= 1 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800064, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300045) --XX получил божественную росу, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
end
end
end
role.SetRoleScriptData(RoleID, 1, RoleDataType["Rose_Times"], growtime) --Запись количества произведенных предметов
else
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 26, 100003)
msg.AddMsgEvent(MsgID, 9, 3)
msg.DispatchRoleMsgEvent(RoleID, MsgID)
end
end
elseif TalkIndex == 8 then
local QNum = role.GetRoleItemNum(RoleID, 4800062) --Количество [Резных инструментов]
if QNum <= 0 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206526) --"У вас нет [Резных инструментов] и вы не можете сформировать шоколад"
msg.AddMsgEvent(MsgID, 21, 5) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 100002) -- "Уйти"
msg.DispatchRoleMsgEvent(RoleID, MsgID)
else
local FreeSize = role.GetBagFreeSize(RoleID)
if FreeSize >= 3 then
unit.AddBuff(MapID, InstanceID, RoleID, 6000501, RoleID) --Бафф 45 секунд
role.RemoveFromRole(MapID, InstanceID, RoleID, 4800062, 1, 101) --Удаление шоколадного порошка
local c = math.random(1, 1000)
if c <= 10 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800070, 1, -1, 8, 420) --Шоколад нулевой температуры
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300034) --XX получил шоколад нулевой температуры, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 10 and c <= 15 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800071, 1, -1, 8, 420) --Эльфийский шоколад
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300035) --XX получил эльфийский шоколад, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 15 and c <= 17 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800073, 1, -1, 8, 420) --Звезда романтики
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300036) --XX получил звезду романтики, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 17 and c <= 27 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800051, 1, -1, 8, 420) --Шоколад истинной любви
elseif c > 27 and c <= 37 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800072, 1, -1, 8, 420) --Значок романтики
end
local level = role.GetRoleLevel(MapID, InstanceID, RoleID)
if level >= 30 and level <= 39 then
role.AddRoleExp(MapID, InstanceID, RoleID, 3000)
elseif level >= 40 and level <= 49 then
role.AddRoleExp(MapID, InstanceID, RoleID, 6000)
elseif level >= 50 and level <= 59 then
role.AddRoleExp(MapID, InstanceID, RoleID, 10000)
elseif level >= 60 and level <= 69 then
role.AddRoleExp(MapID, InstanceID, RoleID, 12000)
elseif level >= 70 and level <= 79 then
role.AddRoleExp(MapID, InstanceID, RoleID, 20000)
elseif level >= 80 then
role.AddRoleExp(MapID, InstanceID, RoleID, 25000)
end
growtime = growtime + 1
if growtime >= 10 then
role.RemoveFromRole(MapID, InstanceID, RoleID, 4800076, 1, 101) --Удаление трудового сертификата
if a <= 95 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800074, 1, -1, 8, 420) --Шоколадный торт
growtime = 0
elseif a > 95 and a <= 99 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800074, 1, -1, 8, 420) --Шоколадный торт
role.AddRoleItem(MapID, InstanceID, RoleID, 4800070, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300034) --XX получил шоколад нулевой температуры, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
growtime = 0
elseif a > 99 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800074, 1, -1, 8, 420) --Шоколадный торт
role.AddRoleItem(MapID, InstanceID, RoleID, 4800071, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300035) --XX получил эльфийский шоколад, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
growtime = 0
end
end
role.SetRoleScriptData(RoleID, 1, RoleDataType["Rose_Times"], growtime) --Запись количества произведенных предметов
else
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 26, 100003)
msg.AddMsgEvent(MsgID, 9, 3)
msg.DispatchRoleMsgEvent(RoleID, MsgID)
end
end
elseif TalkIndex == 9 then
local QNum = role.GetRoleItemNum(RoleID, 4800066) --Количество [Формы для шоколада]
if QNum <= 0 then
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206527) --"У вас нет [Формы для шоколада] и вы не можете сформировать шоколад"
msg.AddMsgEvent(MsgID, 21, 5) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 100002) -- "Уйти"
msg.DispatchRoleMsgEvent(RoleID, MsgID)
else
local FreeSize = role.GetBagFreeSize(RoleID)
if FreeSize >= 3 then
unit.AddBuff(MapID, InstanceID, RoleID, 6000501, RoleID) --Бафф 45 секунд
role.RemoveFromRole(MapID, InstanceID, RoleID, 4800066, 1, 101) --Удаление шоколадного порошка
local c = math.random(1, 1000)
if c <= 10 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800070, 1, -1, 8, 420) --Шоколад нулевой температуры
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300034) --XX получил шоколад нулевой температуры, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 10 and c <= 15 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800071, 1, -1, 8, 420) --Эльфийский шоколад
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300035) --XX получил эльфийский шоколад, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 15 and c <= 17 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800073, 1, -1, 8, 420) --Звезда романтики
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300036) --XX получил звезду романтики, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
elseif c > 17 and c <= 27 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800051, 1, -1, 8, 420) --Шоколад истинной любви
elseif c > 27 and c <= 37 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800072, 1, -1, 8, 420) --Значок романтики
end
local level = role.GetRoleLevel(MapID, InstanceID, RoleID)
if level >= 30 and level <= 39 then
role.AddRoleExp(MapID, InstanceID, RoleID, 21000)
elseif level >= 40 and level <= 49 then
role.AddRoleExp(MapID, InstanceID, RoleID, 42000)
elseif level >= 50 and level <= 59 then
role.AddRoleExp(MapID, InstanceID, RoleID, 70000)
elseif level >= 60 and level <= 69 then
role.AddRoleExp(MapID, InstanceID, RoleID, 84000)
elseif level >= 70 and level <= 79 then
role.AddRoleExp(MapID, InstanceID, RoleID, 140000)
elseif level >= 80 then
role.AddRoleExp(MapID, InstanceID, RoleID, 175000)
end
growtime = growtime + 5
if growtime >= 10 then
role.RemoveFromRole(MapID, InstanceID, RoleID, 4800076, 1, 101) --Удаление трудового сертификата
if a <= 95 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800074, 1, -1, 8, 420) --Шоколадный торт
growtime = 0
elseif a > 95 and a <= 99 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800074, 1, -1, 8, 420) --Шоколадный торт
role.AddRoleItem(MapID, InstanceID, RoleID, 4800070, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300034) --XX получил шоколад нулевой температуры, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
growtime = 0
elseif a > 99 then
role.AddRoleItem(MapID, InstanceID, RoleID, 4800074, 1, -1, 8, 420) --Шоколадный торт
role.AddRoleItem(MapID, InstanceID, RoleID, 4800071, 1, -1, 8, 420)
local MsgID = msg.BeginMsgEvent() --Регистрация broadcast handle
msg.AddMsgEvent(MsgID, 102, 300035) --XX получил эльфийский шоколад, поздравляем
msg.AddMsgEvent(MsgID, 2, RoleID)
msg.DispatchBroadcast(MsgID, 3373741864, -1, -1)
growtime = 0
end
end
role.SetRoleScriptData(RoleID, 1, RoleDataType["Rose_Times"], growtime) --Запись количества произведенных предметов
else
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 26, 100003)
msg.AddMsgEvent(MsgID, 9, 3)
msg.DispatchRoleMsgEvent(RoleID, MsgID)
end
end
end
else
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 206549) --You do not have a Romance Village Labor Certificate and cannot perform the operation.
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
end
else
local MsgID = msg.BeginMsgEvent()
msg.AddMsgEvent(MsgID, 20, 206515) --The time for the next operation has not yet arrived; please come back at the specified time.
msg.AddMsgEvent(MsgID, 21, 5) -- Вариант 1
msg.AddMsgEvent(MsgID, 1, 100002) -- "Уйти"
msg.DispatchRoleMsgEvent(RoleID, MsgID)
end
elseif sex == 1 then
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 206528) --Эта зона не соответствует вашей идентичности; она принадлежит женщинам.
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
end
else
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 206567) --All labor in Romance Village can only be performed from 18:00 to 24:00 on Tuesdays, Thursdays, Saturdays, and Sundays. Romance Village needs to rest at other times.
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
end
else
local QuestID1 = msg.BeginMsgEvent()
msg.AddMsgEvent(QuestID1, 13, 0)
msg.AddMsgEvent(QuestID1, 1, 206567) --All labor in Romance Village can only be performed from 18:00 to 24:00 on Tuesdays, Thursdays, Saturdays, and Sundays. Romance Village needs to rest at other times.
msg.DispatchRoleMsgEvent(RoleID, QuestID1)
end
end
aux.RegisterCreatureEvent(6030011, 7, "qiaokeli_OnTalk")