Создание скрипта для нпс
Создание своего нпс очень даже и просто сперва сделаем для него скрипт.
Цитата
function NPC_gnev_contact() -это привязка к нпс в бд которого мы вставим позже.
set_npc_name( "Gnev" ) -название нпс в бд
end -это значение можно просто скопировать оно закрывает все те вещи что мы написали выше
function NPC_gnev_contact() -снова привязка
dlg_title( "Gnever" ) -основное названи нпс
dlg_text( "http://upcss.ru" ) -то что нпс у нас говорит сюда можно вставить всё что угодно
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()
return
end -закрываем значения
if gold < 50000 then -если же нету у вас 50к вос просто отпровляет в меню нпс
dlg_text( "http://upcss.ru" )
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)