[CS: Source] Warface MOD

/_Parlament_\

Участник
Сообщения
134
Реакции
9
Warface MOD
Текущая версия: 1.2​


Описание:
Этот мод добавляет реализацию как в игре Warface...

Требования:
Sourcemod 1.5.0+

Поддерживаются игры:
CSS
CS:GO (Не тестировали)

Команды:
Чат-!wf
Консоль-sm_wf

Настройки:
st_enabled - Включить/Выключить возрождение.
st_respawntime - Через сколько игрок возродится, по умолчанию 5.
sm_hegrenade_damage - На сколько увеличить урон от осколочной гранаты, по умолчанию 5.0.

Настройки производятся в директории:
cstrike/cfg/Warface/WARFACEmod.cfg
Пример настроек.
// Звук убийства, Мод By Parlament
// -
// Default: "wf6.mp3"
sm_death_sound "wf6.mp3"

// Включить/Выключить плагин
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_enabled "1"

// Укажите время которые через который игрок возродится
// -
// Default: "5"
// Minimum: "0.000000"
sm_respawntime "5"

Установка:
Файл warface.smx положите в директорию cstrike/addons/sourcemod/plugins/
Файл warface.sp положите в директорию cstrike/addons/sourcemod/scripting/
Папку sound положите в директорию cstrike/sound/
Папку materials и models положите в директорию cstrike/
Папку cfg положите в директорию cstrike/

Оригинал

Скачать модели для моды

Следующее обновление:
Неизвестно.. Предложение в тему

Изменения:
Добавлены скины для классов

Обзор на данный мод:
http://www.youtube.com/watch?v=IjK2Qhc0MA0&feature=youtu.be
 

Вложения

  • WfMOD.rar
    129.8 КБ · Просмотры: 95
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #4
PHP:
#include <sdktools>
#include <sdktools_functions> 
#include <sdktools_sound>
#include <sdktools_stringtables>
#include <sdktools_tempents>
#include <sdktools_tempents_stocks>
Зачем????
sdktools включает в себя все эти инклюды. Достаточно только sdktools.

FormatEx быстрее чем Format.

На ксго звуки не будут работать.

PHP:
public Action:Event_OnPlayerHurt(Handle:event, const String:name[], bool:dontBroadcast)
Action не нужен.

PHP:
if (IsClientInGame(client) && !IsFakeClient(attacker))
	{
		EmitSoundToClient(attacker, g_soundName);
	}
Почему client если нужно attacker, да и он высдат ошибку, нужно проверять только attacker != 0.

PHP:
new Handle:Messages = StartMessageAll("KeyHintText");  
	if (Messages != INVALID_HANDLE)     
	{     
	BfWriteByte(Messages, 1);     
	BfWriteString(Messages, g_Msg);     
	EndMessage();     
	}
С этим на ксго даже не запустится.

PHP:
public round_freeze_end(Handle:event, const String:name[], bool:silent)
{
	if (++g_CurrPos >= g_Sounds_Count) g_CurrPos = 0;
	decl String:SoundName[150]; GetArrayString(g_Array, g_CurrPos, SoundName, 150);
	for (new i = 1; i <= MaxClients; i++)
	{
		if (g_CanListen[i] && IsClientInGame(i) && !IsFakeClient(i))
		{
			EmitSoundToClient(i, SoundName);
		}
	}
}
Для этого есть EmitSound

PHP:
decl String:szClass[65];
	for (new i = MaxClients; i <= GetMaxEntities(); i++)
    {
        if(IsValidEdict(i) && IsValidEntity(i))
        {
            GetEdictClassname(i, szClass, sizeof(szClass));
            if(StrEqual("func_buyzone", szClass))
            {
                RemoveEdict(i);
            }
        }
    }
а зачем это в Event_player_spawn ?? (Action тоже не нужен)

PHP:
stock globalwarfacemod(client)
{
	new Handle:class = CreatePanel(); 
	SetPanelTitle(class, "Выбирите себе класс:\nWarface|MOD\n \n");
	DrawPanelItem(class, "Штурмовик");  
	DrawPanelItem(class, "Медик");
	DrawPanelItem(class, "Инженер");  
	DrawPanelItem(class, "Снaйпер\n \n");
	DrawPanelText(class, "");
	SetPanelCurrentKey(class, 9); 
	DrawPanelItem(class, "Закрыть меню");
	ClientCommand(client, "playgamesound items/nvg_off.wav"); 	
	SendPanelToClient(class, client, InfoMenuHandler, MENU_TIME_FOREVER); 
	CloseHandle(class);
	PrintToChat(client, "\x04Добро пожаловать в мод Warface|MOD \x01Выберите класс.");
	for (new i = 1; i <= MaxClients; i++)     
	{ 
		if (IsClientInGame(i)) ClientCommand(i, "playgamesound menu.mp3");     
    }	
}

public InfoMenuHandler(Handle:hMenu, MenuAction:action, client, iSlot) 
{ 
	if(iSlot == 1)  
	{ 
		playerclass[client] = 0; 
		giveweaponstormtrooper(client); 
	} 
	else if(iSlot == 2)  
	{ 
		playerclass[client] = 1; 
		giveweaponmedic(client); 
	}
	else if(iSlot == 3)  
	{ 
		playerclass[client] = 2; 
		giveweaponlurkmore(client); 
	}
	else if(iSlot == 4)  
	{ 
		playerclass[client] = 3; 
		giveweaponspayper(client); 
	}
}
switch это раз.
Зачем играть звук меню всем?

ну и дальше нет смысла смотреть
 

/_Parlament_\

Участник
Сообщения
134
Реакции
9
R1KO, Перезалил, исправил

Добавлено через 45 секунд
DexKekcuk #13, Скинь раздельно, в следующих версиях будут модельки
 
Последнее редактирование:

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
Доделаешь для CSS, сделаю версию для CSGO (естественно, копирайты твои, я просто поправлю некоторые моменты). Сейчас убери вообще намёки на поддержку CSGO.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #9
/_Parlament_\, поверь на слово. На личном опыте знаю. В ксго перез звуком нужно * добавлять.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
почему не будут работать звуки?
Здесь потоковый режим воспроизведения, поэтому для работы необходимо поставить * в начале пути (сам то он обычный). А кэшировать нужно через AddToStringTable( FindStringTable( "soundprecache" ), "*ПутьКЗвуку");, если используешь вариации EmitSound.
 

/_Parlament_\

Участник
Сообщения
134
Реакции
9
AddToStringTable( FindStringTable( "soundprecache" ), "sound/wf2.mp3"); то есть так будет работать в ксго
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #13
/_Parlament_\, AddToStringTable( FindStringTable( "soundprecache" ), "*wf2.mp3");
 

/_Parlament_\

Участник
Сообщения
134
Реакции
9
И ещё на счёт скинов. Как что правильно. А то я сделал потом ксс вылетала. Правдо на домашнем делал...

Добавлено через 12 минут
Ау:)
 
Последнее редактирование:

/_Parlament_\

Участник
Сообщения
134
Реакции
9
trueattack, Оффтоп

Добавлено через 3 часа 37 минут
Оффтоп
 
Последнее редактирование:

SourceGod

Участник
Сообщения
47
Реакции
0
Спасибо, возьму себе этот плагин на доработку, точнее на возьму за основу)
 

flinkboy

Участник
Сообщения
49
Реакции
16
Ну,как я знаю,там вроде есть джаггернауты,попробуй сделать борьбу против джаггера в рандом раундах,один кто-то рандомно становится джаггернаутом с ХХХ хп и пусть воюют.
 
Сверху Снизу