Как дать определённым группам спавнить машины?

0
Посетители
0
Заслуженный участник
Итак, суть такова:

Хочу, например, сделать машину только для VIP'ов или Premium'ов и выше, чтобы игроки не могли спавнить такую машину (Группы на основе ULX). Подскажите, пожайлуста, код.
Посетители
0
Активный участник
Hds46
13:36, 11.01.2014
Можно использовать вот этот код:
hook.Add( "PlayerSpawnVehicle", "NoVehicles", function()
return false
end )
И этот:
if player:IsUserGroup("admin") || player:IsUserGroup("superadmin") || player:IsUserGroup("vip") || player:IsUserGroup("premium") then
end
Mega Upload.
Посетители
0
Заслуженный участник
Dima_A
16:14, 11.01.2014
Hds46 (11.01.2014, 16:34) писал:Можно использовать вот этот код:
hook.Add( "PlayerSpawnVehicle", "NoVehicles", function()
return false
end )
И этот:
if player:IsUserGroup("admin") || player:IsUserGroup("superadmin") || player:IsUserGroup("vip") || player:IsUserGroup("premium") then
end


У меня как обычно ничего не работает. выдаёт лишь море ошибок, видать, код как-то криво вставил. (вставлял в аддон BF3 Scars в lua, в entities в папку с танком и в shared.lua)
Посетители
0
Активный участник
Можно ENT.AdminOnly на true прописать:
ENT.AdminOnly = true
Mega Upload.
Посетители
0
Активный участник
Hds46
11:09, 12.01.2014
В scars менюшке можно поставить галочку "только для админов".
Mega Upload.
Посетители
0
Активный участник
Hds46
12:16, 12.01.2014
Этот BF3 Scars использует Scars Slim.Я нашел функцию спавна машины в Scars Slim.Называется local function CCSpawnSCar( Player, command, arguments ).
Попробуй добавить туда в if SCarGetFastConvar["scar_scarspawnadminonly"] == 1 and Player:IsAdmin() == false then вот это:
if SCarGetFastConvar["scar_scarspawnadminonly"] == 1 and Player:IsAdmin() == false or !Player:IsUserGroup("vip") or !Player:IsUserGroup("premium") or !Player:IsUserGroup("admin") or !Player:IsUserGroup("superadmin") then
Player:PrintMessage( HUD_PRINTTALK, "Only admins,Vips and premiums are allowed to spawn SCars")
return false
end
Директория кода: Scars Slim\lua\autorun\server\s_scarconsole.lua
И не забудь включить консольную команду scar_scarspawnadminonly 1.
Работает только на мультиплеере.
У меня работает,проверил на юзергруппе vip.Когда я спавнил машину в мультиплеере у меня выходила надпись только для админов.Я поставил чтобы только на випа спавнилась тачка,а юзергруппа вип у меня не поставлен.
Mega Upload.
Посетители
0
Заслуженный участник
Hds46 (12.01.2014, 14:53) писал:Этот BF3 Scars использует Scars Slim.Я нашел функцию спавна машины в Scars Slim.Называется local function CCSpawnSCar( Player, command, arguments ).
Попробуй добавить туда в if SCarGetFastConvar["scar_scarspawnadminonly"] == 1 and Player:IsAdmin() == false then вот это:
if SCarGetFastConvar["scar_scarspawnadminonly"] == 1 and Player:IsAdmin() == false or !Player:IsUserGroup("vip") or !Player:IsUserGroup("premium") or !Player:IsUserGroup("admin") or !Player:IsUserGroup("superadmin") then
Player:PrintMessage( HUD_PRINTTALK, "Only admins,Vips and premiums are allowed to spawn SCars")
return false
end
Директория кода: Scars Slim\lua\autorun\server\s_scarconsole.lua
И не забудь включить консольную команду scar_scarspawnadminonly 1.
Работает только на мультиплеере.
У меня работает,проверил на юзергруппе vip.Когда я спавнил машину в мультиплеере у меня выходила надпись только для админов.Я поставил чтобы только на випа спавнилась тачка,а юзергруппа вип у меня не поставлен.


Интересно.. сейчас попробую
Посетители
0
Заслуженный участник
Hds46 (12.01.2014, 14:53) писал:Этот BF3 Scars использует Scars Slim.Я нашел функцию спавна машины в Scars Slim.Называется local function CCSpawnSCar( Player, command, arguments ).
Попробуй добавить туда в if SCarGetFastConvar["scar_scarspawnadminonly"] == 1 and Player:IsAdmin() == false then вот это:
if SCarGetFastConvar["scar_scarspawnadminonly"] == 1 and Player:IsAdmin() == false or !Player:IsUserGroup("vip") or !Player:IsUserGroup("premium") or !Player:IsUserGroup("admin") or !Player:IsUserGroup("superadmin") then
Player:PrintMessage( HUD_PRINTTALK, "Only admins,Vips and premiums are allowed to spawn SCars")
return false
end
Директория кода: Scars Slim\lua\autorun\server\s_scarconsole.lua
И не забудь включить консольную команду scar_scarspawnadminonly 1.
Работает только на мультиплеере.
У меня работает,проверил на юзергруппе vip.Когда я спавнил машину в мультиплеере у меня выходила надпись только для админов.Я поставил чтобы только на випа спавнилась тачка,а юзергруппа вип у меня не поставлен.

Проблема в том, что мне нужно запретить конкрентный транспорт (Например, танк из пака машин, а всё остальное - для юзеров) и только конкретным группам танк можно спавнить (vip, premium и т.д.)
Посетители
0
Активный участник
Тогда найди в этом же луа файле функцию local function MakeVehicle( Player, Pos, Ang, Model, Class, VName, VTable ) и впиши туда после:
if !game.SinglePlayer() and nrOfCars >= MaxCarsAllowed - 1 then
Player:PrintMessage( HUD_PRINTTALK, "You have reached SCar spawn limit")
return false
end

Вот это:

if (Class == "sent_sakarias_car_junker1" and !Player:IsUserGroup("vip") and !Player:IsUserGroup("premium") and !Player:IsAdmin() ) then
Player:PrintMessage( HUD_PRINTTALK, "You are normal user and you don't have permission for this")
return false
end
Этот код запрещает спавнить машины людям, у которых нет админки,Випа и премиума.
Скопируй этот код, и вставь несколько раз, заменив там название машины.Там где написано в кавычках "sent_sakarias_car_junker1" вписывай свою энтитю из BF 3 Scars.
Название машин можно узнать по папкам в BF 3 Scars,например - m1a1_abrams.
Mega Upload.
Посетители
0
Заслуженный участник
18:47, 23.01.2014 №10
+ 2
Hds46 (22.01.2014, 15:41) писал:Тогда найди в этом же луа файле функцию local function MakeVehicle( Player, Pos, Ang, Model, Class, VName, VTable ) и впиши туда после:
if !game.SinglePlayer() and nrOfCars >= MaxCarsAllowed - 1 then
Player:PrintMessage( HUD_PRINTTALK, "You have reached SCar spawn limit")
return false
end

Вот это:

if (Class == "sent_sakarias_car_junker1" and !Player:IsUserGroup("vip") and !Player:IsUserGroup("premium") and !Player:IsAdmin() ) then
Player:PrintMessage( HUD_PRINTTALK, "You are normal user and you don't have permission for this")
return false
end
Этот код запрещает спавнить машины людям, у которых нет админки,Випа и премиума.
Скопируй этот код, и вставь несколько раз, заменив там название машины.Там где написано в кавычках "sent_sakarias_car_junker1" вписывай свою энтитю из BF 3 Scars.
Название машин можно узнать по папкам в BF 3 Scars,например - m1a1_abrams.


Спасибо огромное, всё заработало, только вот код потерял, как сделать оружие для определённой группы? Помню только SWEP.AllowedGroups= true и SWEP.Groups { "vip", "premium", "admin", "superdamin" } ну или что-то типо того.
Посетители
0
Активный участник
05:51, 25.01.2014 №11
+ 2
Ищи в коде оружия вот это:
function SWEP:Think()
если его нет то создай.
Затем вписывай в него это:
if SERVER then
local p = self.Owner
if !p:IsUserGroup("vip") and !p:IsUserGroup("premium") and !p:IsAdmin() then
self:Remove()
end
end
Этот код запрещает использовать оружие для обычных юзеров.
Mega Upload.
Посетители
0
Заслуженный участник
09:18, 26.01.2014 №12
+ 2
Hds46 (25.01.2014, 08:51) писал:Ищи в коде оружия вот это:
function SWEP:Think()
если его нет то создай.
Затем вписывай в него это:
if SERVER then
local p = self.Owner
if !p:IsUserGroup("vip") and !p:IsUserGroup("premium") and !p:IsAdmin() then
self:Remove()
end
end

Этот код запрещает использовать оружие для обычных юзеров.

Спасибо,всё работает!
Наверное я тебя уже задолбал, но ты случайно не знаешь, как руссифицировать плагин для чата Chatbox? Просто столкнулся с проблемой, что не воспринимает при вводе русские символы (а при выводе всё окей). Я менял кодировку, в строке llocal _,__h = surface.GetTextSize("A,B,C и т.д.") менял буквы и всё равно счетно...
Посетители
0
Активный участник
15:22, 26.01.2014 №13
+ 2
Hds46
15:32, 26.01.2014
Хм, тот аддон на которую ты указал в ссылке,для 10-ой версии гмода.
А,понял - обновление гмода 13-ого сломало кое-что в коде.
Mega Upload.
Посетители
0
Активный участник
15:31, 26.01.2014 №14
+ 2
Hds46
15:42, 26.01.2014
Всё!Нашёл версию для 13-ого гмода и там он пишет английскими и русскими буквами.

Вот ссылка: Ссылка
Mega Upload.
Посетители
0
Заслуженный участник
16:15, 26.01.2014 №15
+ 2
Hds46 (26.01.2014, 18:31) писал:Всё!Нашёл версию для 13-ого гмода и там он пишет английскими и русскими буквами.

Вот ссылка: Ссылка

Попробовал в одиночной игре - всё нормально.
Попробовал в мультиплеере - не работает.
V.I.P.
0
Всё в маске
16:46, 26.01.2014 №16
+ 1
Кульно .
Посетители
0
Активный участник
03:35, 28.01.2014 №17
+ 1
Может быть.У меня до HatsChat никаких аддонов для чата не было.
У тебя Dedicated Server русский?Может надо русскую кириллицу установит на гмод или в консоли gmod_language ru прописать.
Mega Upload.
Посетители
0
Активный участник
11:13, 30.01.2014 №18
+ 1
Помню на местном сайте был патч добавляющий русскую кириллицу,но сайт умер.
Mega Upload.
Посетители
0
Активный участник
06:36, 02.02.2014 №19
+ 1
Не знаю.
Mega Upload.
Посетители
0
Активный участник
02:41, 04.02.2014 №20
+ 1
Если у аддона не прописан resource.AddFile, то придется сделать это самому,просто впиши в каком нибудь луа файле resource.AddFile("models/blackhawk.mdl") в кавычках "" вписывай директорию файла которую надо скачать для клиентов.
Или можно использовать вот эти квары.
"sv_downloadurl" "http://www.mysvdownloadurl.com/garrysmod/" - тут в кавычках вписывай ссылку где у тебя файлы на сервере лежат.
"sv_allowupload" "0"
"sv_allowdownload" "0"
Mega Upload.
 
Доступ закрыт.
  • Вам запрещено отвечать в темах данного форума.