Написание плагинов

Konstantin

Участник
Сообщения
1,775
Реакции
759
Здравствуйте!
Я вот интересуюсь, можно ли с помощью плагина или расширения снять ограничение на кол-во символов в чате (cs:s, cs:go)?
Совсем забыл, и второй вопрос: можно ли для bhop сервера сделать первый прыжок несколько удлинённым, а все последующие, например, стандартными? (я крайне слабо представляю себе, как это можно сделать, но мало ли)
 

FrozDark

Участник
Сообщения
1,769
Реакции
2,050
Здравствуйте!
Я вот интересуюсь, можно ли с помощью плагина или расширения снять ограничение на кол-во символов в чате (cs:s, cs:go)?
Совсем забыл, и второй вопрос: можно ли для bhop сервера сделать первый прыжок несколько удлинённым, а все последующие, например, стандартными? (я крайне слабо представляю себе, как это можно сделать, но мало ли)

1) Нельзя, usermessage ограничен на своем уровне
2) Можно
 

Konstantin

Участник
Сообщения
1,775
Реакции
759
2) Сложно ли это? Кто-нибудь возьмётся, или будут условия?
 

high Energy

Участник
Сообщения
4
Реакции
1
Нужен плагин для GunGame, чтобы каждый смог зарезать с ножа только 5 раз за карту. Заранее спасибо.
 

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
А с плагином THC_RPG помочь можете?
Надо добавить в меню статистики функцию Обмен фрагов на кредиты.
 

Вложения

  • Frag_test.sp
    1.6 КБ · Просмотры: 17
Последнее редактирование:

AlexSkorodymov

Участник
Сообщения
4
Реакции
0
Сможете помочь?
Плагин нужно подкорректировать под сервер ZR.
Сделать так, чтобы отображался ближайший зомби а не просто человек/ну сделать таймер допустим чтобы активировался через минуту допустим или что-то в этом роде.
И перенести надпись на правую сторону а не по центру.
 

Вложения

  • place_where_enemy.sp
    8.3 КБ · Просмотры: 8
  • 0079016.jpg
    0079016.jpg
    65.4 КБ · Просмотры: 103

Webman

Nevermind
Сообщения
803
Реакции
330
Доброго дня!
Помогите мне, пожалуйста, составить условие для плагина с нативом от ZR Lasermines.
PHP:
// ... code ...
public ZR_OnPostHitByLasermine(victim, attacker, beam, lasermine, damage)
{
    if (условие(мое))
    {
        Здесь нужно изменить урон игроку в два раза меньше (damage)
    }
    
}
// ... code ...
Подскажите, как изменить damage от лазерной мины? Чтобы повреждало в 2 раза меньше, чем надо.
Заранее спасибо. Оффтоп
 

dron216

Участник
Сообщения
111
Реакции
26
Оффтоп
Проверь вариант снизу
 
Последнее редактирование:

(admiral)

Участник
Сообщения
69
Реакции
8
По идее так:
PHP:
public Action:ZR_OnPreHitByLasermine(victim, &attacker, &beam, &lasermine, &damage)
{
    if (условие)
    {
        damage = damage / 2;
        return Plugin_Changed;
    }
    return Plugin_Continue;
}
так как в ZR_OnPostHitByLasermine событие уже произошло, и ничего изменить нельзя.
 

SaInT.P

Участник
Сообщения
1,268
Реакции
226
1.NextMap name_map
2.Следующей картой всегда будет name_map , но если люди напишут rtv и т.д , и будет голосование то карта смениться на ту, что выбрали люди, а так следующей картой всегда должна будет быть name_map по истечению timelimit
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
Вопрос к скриптерам.

Код из basebans:
PHP:
public AdminMenu_Ban(Handle:topmenu,
							  TopMenuAction:action,
							  TopMenuObject:object_id,
							  param,
							  String:buffer[],
							  maxlength)
{
	if (action == TopMenuAction_DisplayOption)
	{
		Format(buffer, maxlength, "%T", "Ban player", param);
	}
	else if (action == TopMenuAction_SelectOption)
	{
		DisplayBanTargetMenu(param);
	}
}

Почему во всех плагинах, которые интергрируют пункты в админ меню в этом месте:
PHP:
Format(buffer, maxlength, "%T", "Ban player", param);
Передается индекс клиента?
 

Flekon

aka IceMeN
Сообщения
41
Реакции
35
Вопрос к скриптерам.

Код из basebans:
PHP:
public AdminMenu_Ban(Handle:topmenu,
                              TopMenuAction:action,
                              TopMenuObject:object_id,
                              param,
                              String:buffer[],
                              maxlength)
{
    if (action == TopMenuAction_DisplayOption)
    {
        Format(buffer, maxlength, "%T", "Ban player", param);
    }
    else if (action == TopMenuAction_SelectOption)
    {
        DisplayBanTargetMenu(param);
    }
}
Почему во всех плагинах, которые интергрируют пункты в админ меню в этом месте:
PHP:
Format(buffer, maxlength, "%T", "Ban player", param);
Передается индекс клиента?

Для определения языка клиента и вывода сообщения на его языке.

В принципе, индекс клиента всегда передается первым параметром, когда используется translation.
 
  • Мне нравится
Реакции: R1KO

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
IceMeN, действительно. Чет на перевод не обратил внимания. Спасибо.
 
Сообщения
25
Реакции
2
всем привет, хочу предложить Вам попробовать сделать такой плагин. При взрыве he гранаты создается визуальный эффект , вот сам эффект
public Action:Tesla(client, args) // Эффект тесла
{
new Float:pos[3];
wS_GetLookPos(client, pos);

new tesla = CreateEntityByName("point_tesla"); //Он делается с помощью создания entity объекта "point_tesla"
DispatchKeyValue(tesla, "m_flRadius", "100.0"); // Радиус 100 единиц
DispatchKeyValue(tesla, "m_SoundName", "DoSpark"); //Звук искр
DispatchKeyValue(tesla, "beamcount_min", "42"); // Минимальное Количество всплесков
DispatchKeyValue(tesla, "beamcount_max", "62"); //Максимальное
DispatchKeyValue(tesla, "texture", "sprites/physbeam.vmt"); // Текстура спрайта
DispatchKeyValue(tesla, "m_Color", "255 255 255"); //Цвет
DispatchKeyValue(tesla, "thick_min", "10.0");
DispatchKeyValue(tesla, "thick_max", "11.0");
DispatchKeyValue(tesla, "lifetime_min", "0.3"); //Минимальное время жизни
DispatchKeyValue(tesla, "lifetime_max", "0.3"); //Максимальное время жизни
DispatchKeyValue(tesla, "interval_min", "0.1");
DispatchKeyValue(tesla, "interval_max", "0.2");

DispatchSpawn(tesla); //Спавним наш "point_tesla"
TeleportEntity(tesla, pos, NULL_VECTOR, NULL_VECTOR); //И телепортируем на позицию прицела


AcceptEntityInput(tesla, "TurnOn");
AcceptEntityInput(tesla, "DoSpark");
return Plugin_Handled;
}
Заранее спасибо
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
Николай Черепахин,
PHP:
#include <sourcemod>
#include <sdktools>
#pragma semicolon 1

public OnPluginStart() HookEvent("hegrenade_detonate", Event_HegrenadeDetonate);

public Event_HegrenadeDetonate(Handle:hEvent, const String:name[], bool:dontBroadcast)
{
	new Float:fVec[3];
	fVec[0] = GetEventFloat(hEvent, "x");
	fVec[1] = GetEventFloat(hEvent, "y");
	fVec[2] = GetEventFloat(hEvent, "z")+5;
	
	new tesla = CreateEntityByName("point_tesla");
	DispatchKeyValue(tesla, "m_flRadius", "100.0"); // Радиус 
	DispatchKeyValue(tesla, "m_SoundName", "DoSpark");
	DispatchKeyValue(tesla, "beamcount_min", "42"); // Минимальное количество всплесков
	DispatchKeyValue(tesla, "beamcount_max", "62"); //Максимальное количество всплесков
	DispatchKeyValue(tesla, "texture", "sprites/physbeam.vmt");
	DispatchKeyValue(tesla, "m_Color", "255 255 255"); //Цвет
	DispatchKeyValue(tesla, "thick_min", "10.0"); 
	DispatchKeyValue(tesla, "thick_max", "11.0"); 
	DispatchKeyValue(tesla, "lifetime_min", "0.8"); // Минимальное время жизни
	DispatchKeyValue(tesla, "lifetime_max", "1.2"); // Максимальное время жизни
	DispatchKeyValue(tesla, "interval_min", "0.1"); 
	DispatchKeyValue(tesla, "interval_max", "0.2"); 

	DispatchSpawn(tesla);
	TeleportEntity(tesla, fVec, NULL_VECTOR, NULL_VECTOR);

	AcceptEntityInput(tesla, "TurnOn"); 
	AcceptEntityInput(tesla, "DoSpark");
}
 
Последнее редактирование:
M

MihailM

Оффтоп
 
Последнее редактирование модератором:

LeadBit

Участник
Сообщения
31
Реакции
2
Доброго времени суток, очень нужен плагин(SourceMod) для режима уничтожения объекта в cs:go. При респауне игрока выдача пистолета usp-s для кт, и p250 для т команды, если возможно типы пистолетов вынести в cfg фаил. Важно! привязка должна быть не к началу раунда а к респауну игрока.


Вот моя попытка, не робит хеловорлд пишется только при первом респе оружие так и не дается (

/* Plugin Template generated by Pawn Studio */

#include <sourcemod>
#include <sdktools>

public Plugin:myinfo =
{
name = "GivePistol",
author = "LeadBit",
description = "Give pistol P250 on spawn",
version = "1.0",
url = "www.xxx.ru"
}

public OnPluginStart()
{
HookEvent("player_spawned", GivePistols, EventHookMode_Post);
}


public GivePistols(Handle:event,const String:name[],bool:dontBroadcast)
{
new clientid = GetClientOfUserId(GetEventInt(event, "userid"));
PrintToChatAll("Hello World!");
GivePlayerItem(clientid, "weapon_p250");
}
 
Последнее редактирование:

WeSTMan

А вот тут текст!
Сообщения
833
Реакции
516
Лови..

PHP:
#include <sdktools_functions>

public Plugin:myinfo = 
{
	name = "GivePistol",
	author = "LeadBit",
	description = "Give pistol P250 on spawn",
	version = "1.0",
	url = "www.xxx.ru"
}

public OnPluginStart()
{
	HookEvent("player_spawn", Ev_PlayerSpawn);
}


public Action:Ev_PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
	new client = GetClientOfUserId(GetEventInt(event, "userid"));
	new team = GetClientTeam(client);
	
	if (team == 2) GivePlayerItem(client, "weapon_p250");

	else if (team == 3) GivePlayerItem(client, "weapon_usp-s");
}
 

LeadBit

Участник
Сообщения
31
Реакции
2
Лови..

PHP:
#include <sdktools_functions>

public Plugin:myinfo = 
{
	name = "GivePistol",
	author = "LeadBit",
	description = "Give pistol P250 on spawn",
	version = "1.0",
	url = "www.xxx.ru"
}

public OnPluginStart()
{
	HookEvent("player_spawn", Ev_PlayerSpawn);
}


public Action:Ev_PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
	new client = GetClientOfUserId(GetEventInt(event, "userid"));
	new team = GetClientTeam(client);
	
	if (team == 2) GivePlayerItem(client, "weapon_p250");

	else if (team == 3) GivePlayerItem(client, "weapon_usp-s");
}

Почему то не работает GivePlayerItem в этом режиме(( Ивент срабатывает действие запускается, но оружие не выдает (
 
Сверху Снизу