Создание скрипта для нпс
Создание своего нпс очень даже и просто сперва сделаем для него скрипт.
function NPC_gnev_contact() -это привязка к нпс в бд которого мы вставим позже.
set_npc_name( "Gnev" ) -название нпс в бд
end -это значение можно просто скопировать оно закрывает все те вещи что мы написали вышеfunction NPC_gnev_contact() -снова привязка
dlg_title( "Gnever" ) -основное названи нпс
dlg_text( "http://game-squad.net/" ) -то что нпс у нас говорит сюда можно вставить всё что угодно
dlg_menu("GnevNet - 50,000R", "Gnev()") -то что придлагает нам нпс тоже можно вставить любое значение
dlg_menu( "@90010002", '' ) -воход из нпс
dlg_show() -просто вставляем пока это для нас неважноend -сново закрываем выше значения
помните привязку "Gnev()" она пригодится для выполнения снятия гнева
function Gnev() -привязка к меню (что будет выполнять нпс)
local gold = get_value( "gold" ) -проверка на деньги (есть ли у вас та сумма денег в нашем случае 50к ) с разными нпс по разному у некоторых нпс всё это проходит в бд пример : нпс шопif gold >= 50000 then -есть ли у вас та цена если есть то пропписывает автоматически баф на гнев на секунды 3
add_state( 5997, 200000, 1 ) - тот самый баф на 3 секунды
set_value( "gold", gold - 50000 ) - забирает у вас 50к
update_gold_chaos() - Ниже значения неважны просто копируем
NPC_gnev_contact()
returnend -закрываем значения
if gold < 50000 then -если же нету у вас 50к вос просто отпровляет в меню нпс
dlg_text( "http://game-squad.net/" )
dlg_menu("GnevNet - 50,000R", "Gnev()")
dlg_menu( "@90010002", '' )
dlg_show()
return
end -закрываем значенияend - закрываем скрипт
Вставление строки в бд
1)заходим в бд
2)создаём запрос
3)и вставляем туда строку
USE [Arcadia]
DELETE FROM [dbo].[NPCResource] WHERE (id = 11230) -айди нашего нпс (айди нпс анти гнев)
INSERT [dbo].[NPCResource] ([id], [text_id], [name_text_id], [race_id], [sexsual_id], [x], [y], [z], [face], [local_flag], [is_periodic], [begin_of_period], [end_of_period], [face_x], [face_y], [face_z], [model_file], [hair_id], [face_id], [body_id], [weapon_item_id], [shield_item_id], [clothes_item_id], [helm_item_id], [gloves_item_id], [boots_item_id], [belt_item_id], [mantle_item_id], [necklace_item_id], [earring_item_id], [ring1_item_id], [ring2_item_id], [motion_id], [is_roam], [roaming_id], [standard_walk_speed], [standard_run_speed], [walk_speed], [run_speed], [attackable], [offensive_type], [spawn_type], [chase_range], [regen_time], [level], [stat_id], [attack_range], [attack_speed_type], [hp], [mp], [attack_point], [magic_point], [defence], [magic_defence], [attack_speed], [magic_speed], [accuracy], [avoid], [magic_accuracy], [magic_avoid], [ai_script], [contact_script], [texture_group]) -эти значения нетрогаем VALUES (11230, -айди нпс 100011230,-текстовой айди он неважен так что просто копируем его(но про вставление обязательно нужно будет вписать) 105011230 -аналагично предыдущиму , 99, 0,- 2 предыдущих значения просто встовляем 152599 (кодината x), 7207(кодината y), 0, 30, 0, 0, - просто встовляем CAST(0x00008EAC00000000 AS DateTime), CAST(0x00008EAC00000000 AS DateTime) тоже просто вставляем, 5, -6, 17, N'npcdem_old.cob' значиния в переди это как выглядит нпс, 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, N'0', почти у всех нпс значения 0 N'NPC_gnev_contact()', -1) прикрепляем нпс к скрипту (для пользователей 2012 после значения -1 ставим через запитую 0)