Перейти к содержимому


Фотография

Помощь по доработки плагина!!!


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 21

#1 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 12 Январь 2016 - 2:18

.


Сообщение отредактировал AlexMy: 07 Апрель 2018 - 16:58


#2 Apocalypse 2

Apocalypse 2

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 482 сообщений

Отправлено 12 Январь 2016 - 13:32

есть стриптизёрша http://www.bailopan....ripper/#install
у неё много функций от удаления любого предмета до смены зоны места прибытия спасательного транспорта 


Сообщение отредактировал Apocalypse 2: 12 Январь 2016 - 13:34


#3 Figa

Figa

    Участник

  • Пользователь
  • PipPip
  • 63 сообщений

Отправлено 12 Январь 2016 - 13:34

Могу предложить 2 варианта, но работоспособность гарантировать не могу =)

 

Вариант #1

#include <sdktools>

public OnPluginStart()
{
	HookEvent("round_freeze_end", round_freeze_end);
}
public Action:round_freeze_end(Handle:event, const String:name[], bool:dontBroadcast)
{
	new entity = -1;
	while ((entity = FindEntityByClassname2(entity, "weapon_molotovt_spawn")) != -1)
	{
		AcceptEntityInput(entity, "kill");
	}
	entity = -1;
	while ((entity = FindEntityByClassname2(entity, "weapon_smg_spawn")) != -1)
	{
		AcceptEntityInput(entity, "kill");
	}
}
FindEntityByClassname2(startEnt, const String:classname[])
{
	while (startEnt > -1 && !IsValidEntity(startEnt)) startEnt--;
	return FindEntityByClassname(startEnt, classname);
}

Вариант #2

public OnEntityCreated(entity, const String:classname[])
{
	if (StrEqual(classname, "weapon_molotovt_spawn") || StrEqual(classname, "weapon_smg_spawn")) AcceptEntityInput(entity, "kill");
}

  • AlexMy это нравится

#4 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 12 Январь 2016 - 19:55

есть стриптизёрша http://www.bailopan....ripper/#install
у неё много функций от удаления любого предмета до смены зоны места прибытия спасательного транспорта 

Название темы видел? я не в чем не нуждаюсь, а разбираюсь помаленьку с зыком Sourcepawn.


 

Могу предложить 2 варианта, но работоспособность гарантировать не могу =)

 

Вариант #1

#include <sdktools>

public OnPluginStart()
{
	HookEvent("round_freeze_end", round_freeze_end);
}
public Action:round_freeze_end(Handle:event, const String:name[], bool:dontBroadcast)
{
	new entity = -1;
	while ((entity = FindEntityByClassname2(entity, "weapon_molotovt_spawn")) != -1)
	{
		AcceptEntityInput(entity, "kill");
	}
	entity = -1;
	while ((entity = FindEntityByClassname2(entity, "weapon_smg_spawn")) != -1)
	{
		AcceptEntityInput(entity, "kill");
	}
}
FindEntityByClassname2(startEnt, const String:classname[])
{
	while (startEnt > -1 && !IsValidEntity(startEnt)) startEnt--;
	return FindEntityByClassname(startEnt, classname);
}

Вариант #2

public OnEntityCreated(entity, const String:classname[])
{
	if (StrEqual(classname, "weapon_molotovt_spawn") || StrEqual(classname, "weapon_smg_spawn")) AcceptEntityInput(entity, "kill");
}

Спасибо дружище буду разбираться=))

 


Сообщение отредактировал AlexMy: 12 Январь 2016 - 21:01


#5 Apocalypse 2

Apocalypse 2

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 482 сообщений

Отправлено 12 Январь 2016 - 21:34

Название темы видел? я не в чем не нуждаюсь, а разбираюсь помаленьку с зыком Sourcepawn.

 

тебе на форум по скриптингу в таком случае!



#6 skripter

skripter

    Новичок

  • Пользователь
  • Pip
  • 41 сообщений

Отправлено 03 Апрель 2018 - 14:58

Всем привет ! Нужна дороботка плагина поскольку имеются 14 ошибок при компиляции, и за них подозреваю падает сервер. . Это плагин летающих танков. l4d_fly_infected - их СЫЛКА - https://forums.allie...ad.php?t=166139
вот его ошибки :
plugin.sp(70) : warning 234: symbol "FCVAR_PLUGIN" is marked as deprecated: No logic using this flag ever existed in a released game. It only ever appeared in the first hl2sdk.


plugin.sp(80) : warning 234: symbol "FindSendPropOffs" is marked as deprecated: Use FindSendPropInfo instead, or HasEntProp if you just want to check for existence.


plugin.sp(282) : warning 206: redundant test: constant expression is non-zero
plugin.sp(307) : warning 217: loose indentation
plugin.sp(482) : warning 205: redundant code: constant expression is zero
plugin.sp(528) : warning 204: symbol is assigned a value that is never used: "disobstacle"
plugin.sp(424) : warning 204: symbol is assigned a value that is never used: "myteam"
plugin.sp(733) : warning 203: symbol is never used: "printlaser"
plugin.sp(1149) : warning 203: symbol is never used: "PrintVector"
plugin.sp(1149) : warning 203: symbol is never used: "ShowAngle"
plugin.sp(1149) : warning 203: symbol is never used: "ShowDir"
plugin.sp(1149) : warning 203: symbol is never used: "ShowLaser"
plugin.sp(1149) : warning 203: symbol is never used: "ShowPos"
plugin.sp(10) : warning 203: symbol is never used: "Tank_Model"
Code size: 33820 bytes
Data size: 9676 bytes
Stack/heap size: 16384 bytes
Total requirements: 59880 bytes

14 Warnings.
 



#7 history_maker

history_maker

    Пользователь

  • Пользователь
  • PipPipPip
  • 328 сообщений

Отправлено 04 Апрель 2018 - 20:41

Пофикшеная и доработаная версия есть в комментариях (https://forums.allie...76&postcount=14)


  • skripter это нравится

#8 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 05 Апрель 2018 - 15:19

Вообщем нужен помощник. Помаленьку пилю плагин летающий танк на краш. Тестировать не где. Может кто возьмется :D?

P.S. Исходник не дам=)!.



#9 skripter

skripter

    Новичок

  • Пользователь
  • Pip
  • 41 сообщений

Отправлено 05 Апрель 2018 - 17:00

Вообщем нужен помощник. Помаленьку пилю плагин летающий танк на краш. Тестировать не где. Может кто возьмется :D?

P.S. Исходник не дам=)!.

Конечно я протестирую, меня же волнует больше всех эти чертовые но в то же время классные и обожаемые летающие танки :))) Кидай плагин



#10 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 05 Апрель 2018 - 17:03

Конечно я протестирую, меня же волнует больше всех эти чертовые но в то же время классные и обожаемые летающие танки :))) Кидай плагин

Есть одно но. Сервер должен быть кооператив и чтоб на сервере крашей не было. У тебя так?)



#11 skripter

skripter

    Новичок

  • Пользователь
  • Pip
  • 41 сообщений

Отправлено 05 Апрель 2018 - 19:38

Есть одно но. Сервер должен быть кооператив и чтоб на сервере крашей не было. У тебя так?)

Ду у меня кооператив, но крэши бывают. Так я же почувствую сразу если крэши учащаться будут, или так не покатит  ? И кстати у вас не бывает что сервер выкидывает за переполненый буфер клиента ? При этом сервер не крэшит, он просто выкидывает игроков с сервера а карта остается та же. Кто нибудь такое видел у себя на серве ? Это происходит очень часто кстати. Раньше  (имеется в виду до обновления soursmoda)  я решал эту проблему включая расширениеprocesscmds.cfg и помогало а счас нифига, как будто расширение сдохла. Это случайно не хостинг май арена хромает ?

processcmds.cfg вот с такими настройками:

sm_processcmds "1"
// Активация расширения processcmds
// "0" Выключить
// "1" Включить
 
sm_processcmds_spam "400"
// Максимальное разрешенное число спам команд в секунду. За превышения игрока кинет.
 
sm_processcmds_spam_kick "0"
// Выкинуть игрока за чрезмерное использование команд.
// "0" Блокировать
// "1" Выкинуть
 
sm_processcmds_spam_kick_msg_ru "Вы кикнуты за чрезмерное использование команд"
// Сообщение, которое будет писаться выброшенному игроку на русском языке.
 
sm_processcmds_spam_kick_msg_en "You have been kicked for command spamming"
// Сообщение, которое будет писаться выброшенному игроку на английском языке.
 
sm_processcmds_show_status "0"
// Выводить запрос команды status игрокам без админских прав.
// "0" Заблокировать команду
// "1" Информация о сервере
// "2" Информация о сервере и свой SteamID
// "3" Информация о сервере и SteamID всех игроков, но кроме админов
// "4" Информация о сервере и SteamID всех игроков
 
sm_processcmds_voice "0"
// Проверки от смапа микрофона.
// "0" Выключить
// "1" Включить
 
sm_processcmds_voice_packets_limit "50"
// Лимит голосовых пакетов в секунду.
// "25" Минимум
// "1000" Максимум

Сообщение отредактировал skripter: 05 Апрель 2018 - 19:46


#12 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 05 Апрель 2018 - 22:25

Если говоришь краши есть... так наверно навряд ли проверю я. В течение суток брошу тебе плагин с летающим танком играйся.


  • skripter это нравится

#13 skripter

skripter

    Новичок

  • Пользователь
  • Pip
  • 41 сообщений

Отправлено 05 Апрель 2018 - 22:33

Если говоришь краши есть... так наверно навряд ли проверю я. В течение суток брошу тебе плагин с летающим танком играйся.

Ок, буду ждать добрый и добрее всех человек  !!!


Сообщение отредактировал skripter: 05 Апрель 2018 - 22:34


#14 skripter

skripter

    Новичок

  • Пользователь
  • Pip
  • 41 сообщений

Отправлено 06 Апрель 2018 - 0:57

Пофикшеная и доработаная версия есть в комментариях (https://forums.allie...76&postcount=14)

Так эти танки прыгуны ))) они прыгают  и не летают :)))



#15 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 07 Апрель 2018 - 16:57

Ок, буду ждать добрый и добрее всех человек  !!!

 

P.S. Если что оригинал выше по ссылке.

Прикрепленные файлы



#16 skripter

skripter

    Новичок

  • Пользователь
  • Pip
  • 41 сообщений

Отправлено 07 Апрель 2018 - 18:37

P.S. Если что оригинал выше по ссылке.

За 25 - 30 мин положил серв. Впал в крэш. Сервер у меня падает в крэш 1 раз ну иногда 2 раза за сутки.



#17 Slaven555

Slaven555

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 533 сообщений

Отправлено 07 Апрель 2018 - 22:12

ДлЯ начала, надо проверить почему падает сервак.

Сообщение отредактировал Slaven555: 07 Апрель 2018 - 22:14


#18 skripter

skripter

    Новичок

  • Пользователь
  • Pip
  • 41 сообщений

Отправлено 07 Апрель 2018 - 23:27

ДлЯ начала, надо проверить почему падает сервак.

А как проверять то ?



#19 777VeNoM777

777VeNoM777

    Участник

  • Пользователь
  • PipPip
  • 73 сообщений

Отправлено 08 Апрель 2018 - 1:02

Последнее время краши сервера загадочное явление- креш есть а логи пусты. юзаю I7  тариф про- вешается сервер просто по часам. Пока что и как не выяснил но с 20 00 до 00 00 примерно играть невозможно. Переустановил все пока что. Нагрузка проца вообще непонятно что показывает. стоим в убеге ничего не делаем- до 70% подымает. Это у меня одного такое ?


Сообщение отредактировал 777VeNoM777: 08 Апрель 2018 - 1:04


#20 skripter

skripter

    Новичок

  • Пользователь
  • Pip
  • 41 сообщений

Отправлено 08 Апрель 2018 - 1:32

Кто подскажет в чем тут может быть ошибка (предупреждение)  кода, компилятор подсказывает 108 - ю строчку. Что с ней не так ?
 

-------------------------------------------------------------------------------------------------------
public Action:Timer_DeathCheck(Handle:timer)
{
if (GetConVarInt(deathcheck) == 1)
{
new survivors = 0;
for (new i = 1; i <= MaxClients; i++) 
{
if (IsValidSurvivor(i))
{
survivors++;
}
}
if (survivors < 1)
{
new oldFlags = GetCommandFlags("scenario_end");
SetCommandFlags("scenario_end", oldFlags & ~(FCVAR_CHEAT|FCVAR_LAUNCHER));
ServerCommand("scenario_end");
ServerExecute();
SetCommandFlags("scenario_end", oldFlags);
}
}
}
 
---------------------------------------------------------------------------------------
Показатель компилятора :
plugin.sp(108) : warning 234: symbol "FCVAR_LAUNCHER" is marked as deprecated: Did you mean FCVAR_DEVELOPMENTONLY? (No logic using this flag ever existed in a released game. It only ever appeared in the first hl2sdk.)
 
 
Code size:             4636 bytes
Data size:             2748 bytes
Stack/heap size:      16384 bytes
Total requirements:   23768 bytes
 
1 Warning.
----------------------------------------------------------------------------------------------------

108 строчка - SetCommandFlags("scenario_end", oldFlags & ~(FCVAR_CHEAT|FCVAR_LAUNCHER));

====================================================================================

картина в общем :

///////////////////////////////

#pragma semicolon 1
#include <sourcemod> 
#include <sdktools>
 
public Plugin:myinfo =
    name = "[L4D2] Death Check Fix", 
    author = "chinagreenelvis", 
    description = "Fixes Bug About Death Checks.", 
    version = "1.5.6", 
}; 
 
new Handle:deathcheck = INVALID_HANDLE;
new bool:Enabled = false;
 
public OnPluginStart()
{  
deathcheck = CreateConVar("death_check_fix-l4d2_on", "1", "Enable/Disable Plugin", FCVAR_SPONLY|FCVAR_NOTIFY);
 
AutoExecConfig(true, "death_check_fix-l4d2");
 
HookConVarChange(deathcheck, ConVarChange_deathcheck);
 
HookEvent("player_first_spawn", OnFixOngoing);
HookEvent("player_spawn", OnFixOngoing);
HookEvent("player_bot_replace", OnFixStart); 
HookEvent("bot_player_replace", OnFixStart); 
HookEvent("player_team", OnFixStart);
HookEvent("player_death", OnFixStart);
 
Enabled = false;
}
 
public ConVarChange_deathcheck(Handle:convar, const String:oldValue[], const String:newValue[])
{
if (strcmp(oldValue, newValue) != 0)
    {
        if (strcmp(newValue, "1") == 0)
        {
SetConVarInt(FindConVar("director_no_death_check"), 1);
}
    }
}
 
public OnMapEnd()
{
if (Enabled)
{
Enabled = false;
}
}
 
public OnClientDisconnect()
DeathCheck();
}
 
public OnClientDisconnect_Post()
{
DeathCheck();
}
 
public Action:OnFixOngoing(Handle:event, const String:name[], bool:dontBroadcast)  
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
if (IsClientInGame(client) && !IsFakeClient(client))
{
if (!Enabled)
{
if (GetConVarInt(deathcheck) == 1)
{
SetConVarInt(FindConVar("director_no_death_check"), 1);
}
Enabled = true;
}
}
 
public Action:OnFixStart(Handle:event, const String:name[], bool:dontBroadcast) 
{
DeathCheck();
}
 
DeathCheck()
{
if (Enabled)
{
CreateTimer(3.0, Timer_DeathCheck);
}
}
 
public Action:Timer_DeathCheck(Handle:timer)
{
if (GetConVarInt(deathcheck) == 1)
{
new survivors = 0;
for (new i = 1; i <= MaxClients; i++) 
{
if (IsValidSurvivor(i))
{
survivors++;
}
}
if (survivors < 1)
{
new oldFlags = GetCommandFlags("scenario_end");
SetCommandFlags("scenario_end", oldFlags & ~(FCVAR_CHEAT|FCVAR_LAUNCHER));
ServerCommand("scenario_end");
ServerExecute();
SetCommandFlags("scenario_end", oldFlags);
}
}
}
 
stock bool:IsValidSurvivor(client)
{
if (!client || !IsClientInGame(client) || !IsPlayerAlive(client) || GetClientTeam(client) != 2)
{
return false;
}
 
return true;
}
//////////////////////////////////////

Сообщение отредактировал skripter: 08 Апрель 2018 - 1:38



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных