Dead by Daylight CS:GO Возможно?

Tomiks

Участник
Сообщения
419
Реакции
288
Да знаю но мне надо примерную цену сказать чтоб собрал деньги,деньги быстро улетают
У всех разные расценки, так сразу тебе вряд ли скажут, но если просто прикинуть, то 1, 2, 4 плагины за 400-700 может быть напишут
Хотя, зная людей, возьмут намного больше за эти 3 плагина
P.S. Самое долгое это USP писать из этих 3-х, но думаю они смогут напридумывать что-то, чтобы загнуть цену:)
Надеюсь у тебя всё получится
 

Ice_Sochi

Участник
Сообщения
709
Реакции
413
Да знаю но мне надо примерную цену сказать чтоб собрал деньги,деньги быстро улетают
Давно не прикасался к коду, да и минут за 5 плагин №4 накидал, проверь, может даже заработает
PHP:
#include <sourcemod>
#include <sdktools>

public void OnPluginStart()
{
    HookEvent("player_spawn", Event_PlayerSpawn);
    HookEvent("tagrenade_detonate", Event_tgdetonate, EventHookMode_Post);
}
public Action:Event_PlayerSpawn(Handle:event,const String:name[],bool:dontBroadcast)
{
    new client_id = GetEventInt(event, "userid");
    new client = GetClientOfUserId(client_id);

    if(GetClientTeam(client) == 2)
    {
        CreateTimer(0.1, Timer_tg_spawn, client, TIMER_FLAG_NO_MAPCHANGE);
    }
}

public Action:Event_tgdetonate(Handle:event,const String:name[],bool:dontBroadcast)
{
    new client_id = GetEventInt(event, "userid");
    new client = GetClientOfUserId(client_id);

    CreateTimer(25, Timer_tg_spawn2, client, TIMER_FLAG_NO_MAPCHANGE);
}

public Action:Timer_tg_spawn(Handle:timer, any:client)
{
    GivePlayerItem(client, "weapon_tagrenade");

    CloseHandle(timer);
}

public Action:Timer_tg_spawn2(Handle:timer, any:client)
{
    GivePlayerItem(client, "weapon_tagrenade");

    CloseHandle(timer);
}
}
 

Вложения

  • tt_tagrenade.smx
    4.4 КБ · Просмотры: 2
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@Ice_Sochi, ну как бы так правильнее будет:
PHP:
#include <sdktools_functions>

public void OnPluginStart()
{
    HookEvent("player_spawn", Event_Spawn);
    HookEvent("tagrenade_detonate", Event_Detonate);
}

public void Event_Spawn(Event event, const char[] name, bool dontBroadcast)
{
    int userid = event.GetInt("userid"), client = GetClientOfUserId(userid);
    if(client && GetClientTeam(client) == 2)
        CreateTimer(0.1, Timer_Spawn, userid, TIMER_FLAG_NO_MAPCHANGE);
}

public Action Timer_Spawn(Handle timer, any client)
{
    if((client = GetClientOfUserId(client))) GivePlayerItem(client, "weapon_tagrenade");
}

public void Event_Detonate(Event event, const char[] name, bool dontBroadcast)
{
    CreateTimer(25.0, Timer_Detonate, event.GetInt("userid"), TIMER_FLAG_NO_MAPCHANGE);
}

public Action Timer_Detonate(Handle timer, any client)
{
    if((client = GetClientOfUserId(client)) && GetClientTeam(client) == 2) GivePlayerItem(client, "weapon_tagrenade");
}
Возможно перед выдачей гранаты ещё нужна проверка живой ли игрок
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@The End Is Near..., а в момент срабатывания таймера игрок уже вышел с сервера и привет ошибки в логах
 

RusJJ

Доброе утро девачьки
Сообщения
2,582
Реакции
1,075
@The End Is Near..., изначально client - это UserID (командой status на сервере, число с хеш-символом #). Изначально в таймер передаём именно UserID. В момент проверки заменяем значение в переменной client, содержащее UserID, на значение, возвращаемое функцией GetClientOfUserId. Если вернёт 0 - при проверке if(client) дальнейшего выполнения функции не произойдёт.

P.S. Ну ясно, я вошёл во время исправления ошибки)
 
Сверху Снизу