NPC Ограничения

У меня есть 2 NPC первый для побега из тюрьмы а второй для покупки оружия и мне надо чтобы первый работал толька тогда когда игрок арестован а второй когда нет оружейника

скинти пожалуйста сюда хук который можно вставить в обоих NPC для этих задач

  1. К побегу из тюрьмы добавь проверку перед выполнением функции освобождения из тюрьмы

if not ply:getDarkRPVar("Arrested") then DarkRP.notify(ply, 0, 5, "Ты не арестован!") return end

  1. К продаже оружек попробуй использовать этот хук
hook.Add("PlayerJoinTeam", "NoDillerNoSells", function(ply)
	local GunDealler = ply:getJobTable().gundealler

	if GunDealler then
		return true
	else
		return false
	end
end)

К профессии продавца оружия добавь gundealler = true,

Не уверен, что будет работать, но попробуй

2 не очень понял куда вставлять

в саму функцию
где if GunDealler then
return true

заменяешь return true на функцию освобождения

Может у меня корявые руки но у меня не получилось вот код если можно скинь как будит это работать

function ENT:AcceptInput(name, activator, pl, data)
	if name == "Use" then
		net.Start("npcstoreui")
		net.Send(activator)
	end
end
function ENT:AcceptInput(name, activator, pl, data)
	local GunDealler = pl:getJobTable().gundealler
	if name == "Use" then
	if GunDealler then
		net.Start("npcstoreui")
		net.Send(activator)
	else
		chat.AddText(Color( 220, 20, 60 ), "[Выкуп] ", Color(0,255,0), "Вы не арестованы!.") return end
	end
hook.Add("PlayerJoinTeam", "NoDillerNoSells", ENT:AcceptInput)

пробуй

[npcstorerobsystem] addons/npcstorerobsystem/lua/entities/storerob_corenpc/init.lua:49: function arguments expected near ‘)’

Refusing to load storerob_corenpc because it is missing Type and Base keys!

49 строка hook.Add(“PlayerJoinTeam”, “NoDillerNoSells”, ENT:AcceptInput)

Пробуй так

function ENT:AcceptInput(name, activator, pl, data)
	if name == "Use" then
		for _, gundon in pairs(player.GetAll()) do

			if gundon:getJobTable().gundealler then

			net.Start("npcstoreui")
			net.Send(activator)

	else
			DarkRP.notify( activator, 1, 4, "Вы не арестованы!" ) return end
	end
		end
end

работает но вслучии если ты оружейник а надо чтобы если есть оружейник отключался

Пора сделать что-то самому. И ты сможешь сделать это сам.
Линкольн Хоук. Цитата.

Поменять местами нужно

net.Start(npcstoreui)
net.Send(activator)

и DarkRP.notify( activator, 1, 4, “Вы не арестованы!” ) return end

верно но я имею веду что пока оружейника нет оружия покупают у NPC а когда кто то заходит за оружейника некому не доступен NPC

function ENT:AcceptInput(name, activator, pl, data)
	if name == "Use" then
		for _, gundon in pairs(player.GetAll()) do

			if gundon:getJobTable().gundealler then DarkRP.notify( activator, 1, 4, "На сервере есть продавец оружия, купите его у него!" ) return end

			net.Start("npcstoreui")
			net.Send(activator)
		end
	end
end

Вот.

Всё решил спасибо

1 лайк