Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Spawn оружия и патронов на карте (Рандомно появляются патроны и оружия)
Spawn оружия и патронов на карте
gamer-killer Дата: Суббота, 12.01.2013, 14:40:40 | Сообщение # 1
Сообщений: 12
Репутация: 0 [ +/- ]
Ребята, не подскажите, может уже есть такой плагин, н оя вроде хорошо искал, в общем на 1.6 и вроде в халве дезматч, есть такое, что в опредленном месте через какое-то время появляются патроны, аптечки, оружия, в общем я хочу чтобы на карте в ксс также происходило, наскольк оя помню в моде дезматч нет такого, там прост опокупаешь оружие через магазин, в общем не знаю как это сделать, но есть идея, в ручную создавать зоны(как в плагине Dead Zone или как то так) в которых будуд появляются каждый раунд, рандомно оружие и патроны, для спаума патронов можно изучить плагин "Ammo from Dead" смысл его в том что после смерти игрока из него выпадают коробки с патронами, от пистолета дробовика и автомата, правда там баг есть, если получиться исправлю, ну вот как-то так...
Я думаю что это сделать возможно, может советы какие-нибудь будут?
 
Sunday Дата: Воскресенье, 13.01.2013, 02:30:53 | Сообщение # 2
Сообщений: 186
Репутация: 24 [ +/- ]
Привет, у меня вот так получилось, попробуй. По крайней мере в игре Half-Life 2 работает, по поводу Контры я не знаю но по идеи в этих переменных они ни чем не отличаются.

#include <sourcemod>
#include <sdktools>

new enty;
new Float:c_origin[3];

public OnMapStart()
{
decl String:mapname[64];
GetCurrentMap(mapname, sizeof(mapname));

if (StrEqual(mapname,"dm_dust"))
{
c_origin[0] =11834.718750;
c_origin[1] =1577.000000;
c_origin[2] =-391.377441;
enty = CreateEntityByName("weapon_357");
DispatchKeyValueVector(enty, "origin", c_origin)
DispatchSpawn(enty);
}
}

Если захочешь добавить еще карту, просто ниже добавляй else if, пример:
if (StrEqual(mapname,"dm_dust"))
{
c_origin[0] =11834.718750;
c_origin[1] =1577.000000;
c_origin[2] =-391.377441;
enty = CreateEntityByName("weapon_357");
DispatchKeyValueVector(enty, "origin", c_origin)
DispatchSpawn(enty);
}
else if (StrEqual(mapname,"dm_runoff"))
{
c_origin[0] =21834.354750;
c_origin[1] =1437.000000;
c_origin[2] =-251.377441;
enty = CreateEntityByName("weapon_shotgun");
DispatchKeyValueVector(enty, "origin", c_origin)
DispatchSpawn(enty);
}
}

Координаты можно узнать, написав в консоль в игре getpos. На счет того что бы это появлялось через определенное время я не могу попробовать, в Халфлайф эта функция по дефолту но тут на форуме есть тема у _Ws_ о таймерах, просто тебе нужно будет добавить скорее всего циклический таймер который будет перезапускать скрипт через определенное время.
Ниже, приложил скрипт.

Гости не могут скачивать файлы


Сообщение отредактировал Sunday - Воскресенье, 13.01.2013, 02:43:16
 
gamer-killer Дата: Воскресенье, 13.01.2013, 07:51:15 | Сообщение # 3
Сообщений: 12
Репутация: 0 [ +/- ]
А ну да в принципе, можно использоват ьи координаты)) Я че то усложнил все)) Спасибо, по коду вроде да должно работать, спасибо...
Ну я событие добавлю, чтобы каждый раунд спаумилось и все)
Сложнее наврено будет с патронами,т.е. чтоб они валялись отдельно, сделать, пока времени нет разбираться, но если будут какие примеры( один уже есть про который я написал), или советы, поделитесь...
И кстати патроны в оружии самом, т.е. в магазине, или в запасе, при его спауме можно указать?
 
Sunday Дата: Воскресенье, 13.01.2013, 14:37:19 | Сообщение # 4
Сообщений: 186
Репутация: 24 [ +/- ]
В Оружие патроны думаю что не возможно запихнуть а вот сделать например хук евент, к примеру когда игрок поднял определенное оружие то ему давались к нему боеприпасы.
1. Отлов ид игрока
2. Отловить событие, наименование оружия
3. дать игроку боеприпасы, что то на подобии: GivePlayerItem(client, "Наименование оружия");

Возможно что то в таком духе сработает.


Сообщение отредактировал Sunday - Воскресенье, 13.01.2013, 14:40:01
 
Scarface_slv Дата: Воскресенье, 13.01.2013, 15:18:08 | Сообщение # 5
Сообщений: 737
Репутация: 61 [ +/- ]
Можно добавить предмет, модельку виде патронов, и можно отловить момент когда игрок дотронулся до предмета HookSingleEntityOutput(...); ну и удалить предмет и дать игроку патроны, вроде так)
 
gamer-killer Дата: Воскресенье, 07.04.2013, 17:59:13 | Сообщение # 6
Сообщений: 12
Репутация: 0 [ +/- ]
Все сделал все пашет, для создания использовал плагин Ammo from Death, Разные плагины выполняющие операции над оружием, и плагин ws LightSpawn взял алгоритм поиска создания, удаления, сохранения точек спауна и алгоритм спауна по соохраненым координатам))
Все работает ништяк, кроме ожного бага, при спауне usp tmp mac10 патроны в запасе не устанавливаютсяв 0 как рпописано в коде, все остальное оружие норм, при всем притом что два рядом лежащих usp в одном будет полный запас а в другом норм в нуле...крутился и так и сяк решил вообще убрать их))
Всем спасибо!


Сообщение отредактировал gamer-killer - Воскресенье, 07.04.2013, 18:01:10
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Spawn оружия и патронов на карте (Рандомно появляются патроны и оружия)
  • Страница 1 из 1
  • 1
Поиск: