[Дополнение] Свадьба
Страница 1 из 1
[Дополнение] Свадьба
Выкладываю рабочую Свадьбу Я лично сам у себя на сервере ее проверил.
Открываем файл yschurchnpc.txt ( Он находиться в Сервер\resource\yschurch\), и вписываем следующее:
Затем открываем NpcScript01 ( Он находиться в Сервер\resource\script\MisScript\), и в самый конец вставляем:
Открываем ItemInfo.txt и добавляем следующие предметы:
Открываем SkillInfo.txt и вставляем:
Не забываем скомпилировать файлы.
Затем открываем function.lua ( Он находиться в Сервер\resource\script\calculate\) и вписываем следующее:
После этого открываем файл NpcSdk (Он находится в Cервер\resource\script\MisSdk\ )
Находим строчку:
И после нее вставляем:
Затем открываем skilleffect.lua ( Он находиться в Сервер\resource\script\calculate\) и вписываем следующее:
Добавляем функцию скила "Узы Любви":
И все свадьба работает!
Все вопросы задаем в разделе [Вы должны быть зарегистрированы и подключены, чтобы видеть эту ссылку]
1.Работа с NPC
Открываем файл yschurchnpc.txt ( Он находиться в Сервер\resource\yschurch\), и вписываем следующее:
- Код:
0 Свидетельница 1 1130 0 46575,4775 46575,4775 180 Церковь 1 0 church_talk02 0
1 Свидетель 1 1189 0 47375,4775 47375,4775 180 Церковь 1 0 church_talk01 0
2 Первосященник 1 23 0 47000,4300 47000,4300 180 Церковь 1 0 church_talk03 0
3 Прихожанка 1 430 0 20375,16425 20375,16425 210 Церковь 1 0 church_talk04 0
Затем открываем NpcScript01 ( Он находиться в Сервер\resource\script\MisScript\), и в самый конец вставляем:
- Код:
function church_talk01()
Talk (1, "Свидетель: Привет. За 200 золотых я могу устроить для жениха с невестой грандиозный салют. Хочешь? ")
InitTrigger()
TriggerCondition( 1, HasMoney, 200 )
TriggerAction( 1, TakeMoney, 200)
TriggerAction( 1, FireworksChurch )
TriggerFailure( 1, JumpPage, 3)
Text (1, "Конечно! ", MultiTrigger, GetMultiTrigger(), 1)
Text (1, "Нет, спасибо. ", CloseTalk)
Talk (3, "Свидетель: Извините, но у Вас нет денег. ")
Text (3, "До свидания. ", CloseTalk)
end
function church_talk02()
Talk (1, "Свидетельница: Привет. За 200 золотых я могу устроить для жениха с невестой грандиозный салют. Хочешь? ")
InitTrigger()
TriggerCondition( 1, HasMoney, 200 )
TriggerAction( 1, TakeMoney, 200)
TriggerAction( 1, FireworksChurch )
TriggerFailure( 1, JumpPage, 3)
Text (1, "Конечно! ", MultiTrigger, GetMultiTrigger(), 1)
Text (1, "Нет, спасибо. ", CloseTalk)
Talk (3, "Свидетельца: Извините, но у Вас нет денег. ")
Text (3, "До свидания. ", CloseTalk)
end
function church_talk03()
Talk( 1, "Первосященник: Добро пожаловть в Церковь. Давайте начнем церемонию. ")
Text( 1, "Начать церемонию ", JumpPage, 2)
Talk( 2, "Первосвященник: Берешь ли ты в законные жены(мужья) этого человека? Согласен(а) ли ты и в горе и в радости быть с ним? " )
Text( 2, "Да. Я согласен(а). ", Marry)
Text( 2, "Мне надо подумать... ", CloseTalk)
end
function church_talk04()
Talk( 1, "Прихожанка: Добрый день! А Вы на свадьбу? Не желаете сделать сюрприз молодоженам? ")
Text( 1, "Какой? ", JumpPage, 2)
Text( 1, "Нет, спасибо. ", CloseTalk)
Talk( 2, "Прихожанка: У меня есть уникальные свитки вызова. Я очень дешего их отдаю. ")
Text( 2, "Цветочный шар ", JumpPage, 3)
Text( 2, "Расписка на игру с Шариками ", JumpPage, 4)
Talk( 3, "Прихожанка: Брачный аферист очень агресивен. Если его ударить, он не отстанет от Вас. Будьте осторожны! ")
InitTrigger()
TriggerCondition( 1, KitbagLock, 0 )
TriggerCondition( 1, HasLeaveBagGrid, 1 )
TriggerCondition( 1, HasMoney, 75000 )
TriggerAction( 1, TakeMoney, 75000 )
TriggerAction( 1, GiveItem , 3080 , 1 , 4 )
TriggerFailure( 1, JumpPage, 5 )
Text( 3, "Купить за 75.000 золотых ", MultiTrigger, GetMultiTrigger(), 1)
Text( 3, "Назад ", JumpPage, 2)
Talk( 4, "Прихожанка: Воздушные шары... Я очень люблю украшать ими свой дом. А Вы когда-нибудь пробывали? ")
InitTrigger()
TriggerCondition( 1, KitbagLock, 0 )
TriggerCondition( 1, HasLeaveBagGrid, 1 )
TriggerCondition( 1, HasMoney, 75000 )
TriggerAction( 1, TakeMoney, 75000 )
TriggerAction( 1, GiveItem , 3083 , 1 , 4 )
TriggerFailure( 1, JumpPage, 5 )
Text( 4, "Купить за 75.000 золотых ", MultiTrigger, GetMultiTrigger(), 1)
Text( 4, "Назад ", JumpPage, 2)
Talk( 5, "Прихожанка: Как вы смеете обманывать? Здесь! В Церкви! ")
Text( 5, "Извините ", CloseTalk)
end
2. Добавляем предметы в ItemInfo и "Узы Любви" в SkillInfo
Открываем ItemInfo.txt и добавляем следующие предметы:
- Код:
2520 Кольцо Влюбленных n1919 10130005 0 0 0 0 0 00 41 0 0 0 0 1 0 0 0 1 1 0 0 -1 0 -1 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 0 0,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Magic ring which can send you to your sweetheart using the Love line ability
2521 Кольцо дня Св.Валентина n2119 10130005 0 0 0 0 0 00 41 0 0 0 0 1 0 0 0 1 1 0 0 -1 0 -1 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 0 0,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 кольца для свадьбы
2913 Свадебный Сертификат n1785 10130005 0 0 0 0 0 00 41 0 0 0 0 0 0 0 0 1 1 0 0 -1 0 -1 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 0 0,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Go find Maylada in Shaitan City. Make sure you have a marriage certificate to apply for access to the church. If the application is successful, the wedding will be held there.
3024 Билет на посещение Церкви n1828 10130005 0 0 0 0 0 0 31 0 0 0 0 0 1 1 1 1 99 0 300 -1 0 -1 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 0 0,0 0 0 0 0 0 0 0 0 0 Jz_Script_yszs 0 0 0 0 0 0 On 5:00pm-5:10pm EST every Monday evening, you can double click to enter the Mosque.
Открываем SkillInfo.txt и вставляем:
- Код:
467 Узы любви 1 -1,1 1,-1 1,-1 1,-1 -1 2 1 1 -1 -1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 Skill_Qlzx_End 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60000 1 1 12,0,0,0,0,0,0,0,0,0 0 0 -1,0,0 0,0,0 0,0,0 1 0,0 0,0 0 -1 -1 0 0 -1 -1 0 -1 0 829947904 x1100.tga 0 0,0 Перемещает тебя к твоей половинке. Перезарядка - 1 минута. Если надето Кольцо Влюбленны - отправляет к твоей половинке Нужно Кольцо Влюбленных 0
Не забываем скомпилировать файлы.
3.Работаем с функциями
Затем открываем function.lua ( Он находиться в Сервер\resource\script\calculate\) и вписываем следующее:
- Код:
--Функция свадьбы
function Marry(role, npc)
local fata_need = 1
local sk_add = SK_QLZX
if IsInTeam(role)== 1 then
if PartyNum(role) > 2 then
SystemNotice(role, "Пожалуйста, останьтесь наедине в группе со своей половинкой. ")
return
end
local player = {}
player[1] = role
player[2] = GetTeamCha( role , 0 )
local GetCertificate1 = CheckBagItem(role, 2913 )
local GetCertificate2 = CheckBagItem(player[2], 2913 )
if GetCertificate1 < 1 then
SystemNotice(role, "У Вас нет Свадебного сертификата. ")
SystemNotice(player[2], "У Вашей половинки нет Свадебного сертификата. ")
return
end
if GetCertificate2 < 1 then
SystemNotice(player[2], "У Вас нет Свадебного сертификата. ")
SystemNotice(role, "У Вашей половинки нет Свадебного сертификата. ")
return
end
local NocLock1 = KitbagLock( role, 0 )
local NocLock2 = KitbagLock( player[2], 0 )
if NocLock1 == 0 then
SystemNotice(role, "У Вас заблокирован инвентарь. ")
SystemNotice(player[2], "У Вашей половинки заблокирован инвентарь. ")
return
end
if NocLock2 == 0 then
SystemNotice(player[2], "У Вас заблокирован инвентарь. ")
SystemNotice(role, "У Вашей половинки заблокирован инвентарь. ")
return
end
local GetMarryRing1 = CheckBagItem(role, 2520 )
local GetMarryRing2 = CheckBagItem(player[2], 2520 )
if GetMarryRing1 > 0 then
SystemNotice(role, "У Вас уже была Свадьба. ")
SystemNotice(player[2], "У Вашей половинки уже была Свадьба. ")
return
end
if GetMarryRing2 > 0 then
SystemNotice(player[2], "У Вас уже была Свадьба. ")
SystemNotice(role, "У Вашей половинки уже была Свадьба. ")
return
end
if WeddingRace(role, player[2])==0 then
return
end
if ValentinesRing(role)==0 then
SystemNotice(role, "У тебя нет Кольца дня Св.Валентина! ")
SystemNotice(player[2], "У твоей половинки нет Кольца дня Св.Валентина! ")
return
end
if ValentinesRing(player[2])==0 then
SystemNotice(player[2], "У тебя нет Кольца дня Св.Валентина! ")
SystemNotice(role, "У твоей половинки нет Кольца дня Св.Валентина! ")
return
end
if WeddingDress(role, fata_need)==0 then
SystemNotice(role, "Оденьте свадебный наряд. ")
SystemNotice(player[2], "Ваша половинка должна надеть свадебный наряд. ")
return
end
if WeddingDress(player[2], fata_need)==0 then
SystemNotice(player[2], "Оденьте свадебный наряд. ")
SystemNotice(role, "Ваша половинка должна надеть свадебный наряд. ")
return
end
local Ring = GetChaItem2 ( role , 2 , 2521 )
local CheckRing = GetChaItem2 ( player[2] , 2 , 2521 )
local Num = GetItemForgeParam ( CheckRing , 1 )
CheckNum = TansferNum ( Num )
if CheckNum ~= 2 then
SetItemForgeParam ( Ring, 1 , 2 )
SystemNotice(role, "Дождитесь пока ваша вторая половинка поговорит с Первосященником. ")
SystemNotice(player[2], "Ваша вторая половинка уже поговорила с Первосященником. Теперь ваша очередь. ")
else
local ID_Num1 = GetPlayerID(GetChaPlayer(role))
local ID_Num2 = GetPlayerID(GetChaPlayer(player[2]))
local cha_name1 = GetChaDefaultName ( role )
local cha_name2 = GetChaDefaultName ( player[2] )
TakeItem ( role, 0, 2913, 1 )
TakeItem ( player[2], 0, 2913, 1 )
TakeItem ( role, 0, 2521, 1 )
TakeItem ( player[2], 0, 2521, 1 )
MakeItem ( role , 7314 , 1 , 1 )
MakeItem ( player[2] , 7314 , 1 , 1 )
MakeItem ( role , 2520 , 1 , 1 )
local ring1 = GetChaItem2 ( role , 2 , 2520 )
SetItemForgeParam ( ring1, 1 , ID_Num2 )
MakeItem ( player[2], 2520 , 1 , 1 )
local ring2 = GetChaItem2 ( player[2], 2 , 2520 )
SetItemForgeParam ( ring2, 1 , ID_Num1 )
AddChaSkill ( role , sk_add, 1 , 1 , 0 )
AddChaSkill ( player[2] , sk_add, 1 , 1 , 0 )
PlayEffect(npc, 366)
PlayEffect(role, 838)
PlayEffect(player[2], 838)
local message = "Поздравляем "..cha_name1.." и "..cha_name2.." с состоявшейся свадьбой. От всей души желаем вам счастья в совместной жизни. "
Notice ( message )
end
else
SystemNotice(role, "Чтобы соединить Ваши сердца молодожены должны быть в отряде ")
return
end
end
После этого открываем файл NpcSdk (Он находится в Cервер\resource\script\MisSdk\ )
Находим строчку:
- Код:
return JumpPage( character, npc, page, item.p1 )
И после нее вставляем:
- Код:
elseif item.func == Marry then
return Marry(character)
Затем открываем skilleffect.lua ( Он находиться в Сервер\resource\script\calculate\) и вписываем следующее:
Добавляем функцию скила "Узы Любви":
- Код:
function Skill_Qlzx_End ( ATKER , DEFER , sklv )
local NocLock = KitbagLock( ATKER, 0 )
if NocLock == LUA_FALSE then
SystemNotice( ATKER , "\200\237\226\229\237\242\224\240\252 \231\224\225\235\238\234\232\240\238\226\224\237")
--SystemNotice( ATKER , "Инвентарь заблокирован")
return
end
local item_count = CheckBagItem ( ATKER , 2520 )
if item_count <= 0 then
SystemNotice( ATKER , "\211 \194\224\241 \237\229\242 \202\238\235\252\246\224 \194\235\254\225\235\229\237\237\251\245")
--SystemNotice( ATKER , "У Вас нет Кольца Влюбленных")
return
else
local ring = GetChaItem2 ( ATKER , 2 , 2520 )
local Num_ATK_JZ = GetItemForgeParam ( ring , 1 )
Num_ATK_JZ = TansferNum ( Num_ATK_JZ )
local ID_ATK_Num = GetRoleID(ATKER)
-- local RoleType = GetChaID(ATKER)
local t = {}
t[0] = DEFER
t[1] = GetTeamCha(DEFER, 0 )
t[2] = GetTeamCha(DEFER, 1 )
t[3] = GetTeamCha(DEFER, 2 )
t[4] = GetTeamCha(DEFER, 3 )
local i = 1
for i = 1 , 4 , 1 do
if t[i] ~= nil then
local item_count = CheckBagItem ( t[i] , 2520 )
if item_count == 1 then
local Item = GetChaItem2 ( t[i] , 2 , 2520 )
local Num_JZ = GetItemForgeParam ( Item , 1 )
Num_JZ = TansferNum ( Num_JZ )
if Num_JZ == ID_ATK_Num then
local ID_Num = GetRoleID(t[i])
if Num_ATK_JZ==ID_Num then
local x, y = GetChaPos(t[i])
local map_name = GetChaMapName (t[i])
x = math.floor (x*0.01)
y = math.floor (y*0.01)
if map_name == "prisonisland" or map_name == "mingyun" or map_name == "guildwar" or map_name == "guildwar2" or map_name == "darkswamp" or map_name == "abandonedcity" or map_name == "abandonedcity2" or map_name == "abandonedcity3" then
SystemNotice ( ATKER , "\194\238\231\236\238\230\237\238, \194\224\248\224 \239\238\235\238\226\232\237\234\224 \237\224\245\238\228\232\242\241\255 \237\224 \234\224\240\242\229, \227\228\229 \237\229\235\252\231\255 \232\241\239\238\235\252\231\238\226\224\242\252 \228\224\237\237\238\229 \243\236\229\237\232\229" )
--SystemNotice ( ATKER , "Возможно, Ваша половинка находится на карте, где нельзя использовать данное умение" )
UseItemFailed ( ATKER )
return
else
local map_name2 = GetChaMapName ( ATKER )
if map_name2 == "prisonisland" or map_name2 == "mingyun" or map_name2 == "guildwar" or map_name2 == "guildwar2" or map_name2 == "darkswamp" or map_name2 == "abandonedcity" or map_name2 == "abandonedcity2" or map_name2 == "abandonedcity3" then
SystemNotice ( ATKER , "\205\229\235\252\231\255 \232\241\239\238\235\252\231\238\226\224\242\252 \243\236\229\237\232\229 \237\224 \228\224\237\237\238\233 \234\224\240\242\229" )
--SystemNotice ( ATKER , Нельзя использовать умение на данной карте" )
UseItemFailed ( ATKER )
return
end
end
GoTo(ATKER, x,y, map_name)
return
end
end
end
end
if i == 4 then
SystemNotice( ATKER , "\194 \194\224\248\229\236 \238\242\240\255\228\229 \237\229\242 \194\224\248\229\233 \239\238\235\238\226\232\237\234\232")
--SystemNotice( ATKER , "В Вашем отряде нет Вашей половинки")
end
end
local Item = GetChaItem2 ( ATKER , 2 , 2520 )
local Num_JZ = GetItemForgeParam ( Item , 1 )
Num_JZ = TansferNum ( Num_JZ )
local Part1_JZ = GetNum_Part1 ( Num_JZ )
local Part2_JZ = GetNum_Part2 ( Num_JZ )
local Part3_JZ = GetNum_Part3 ( Num_JZ )
local Part4_JZ = GetNum_Part4 ( Num_JZ )
local Part5_JZ = GetNum_Part5 ( Num_JZ )
local Part6_JZ = GetNum_Part6 ( Num_JZ )
local Part7_JZ = GetNum_Part7 ( Num_JZ )
Part1_JZ=1
Num_JZ = SetNum_Part1 ( Num_JZ , 1 )
SetItemForgeParam ( Item , 1 , Num_JZ )
end
end
function GetRoleID(role)
return GetPlayerID(GetChaPlayer(role))
end
И все свадьба работает!
Все вопросы задаем в разделе [Вы должны быть зарегистрированы и подключены, чтобы видеть эту ссылку]
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|