Выдача ножа, когда его нет

EPacker2

3D-моделист
Сообщения
1,040
Реакции
759
Код DoK_1997'а:
PHP:
#pragma semicolon 1
#include <sourcemod>
#include <sdktools_functions>

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

public Event_OnPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
    new client = GetClientOfUserId(GetEventInt(event, "userid"));
    CreateTimer(2.0, Timer, client, TIMER_REPEAT);
}

public Action:Timer(Handle:timer, any:client)
{
    new knife = GetPlayerWeaponSlot(client, 2);
    if (client == 0 && !IsPlayerAlive(client))
    {
        return Plugin_Stop;
    }
    if (knife == -1)
    {
        GivePlayerItem(client, "weapon_knife");
    }
    return Plugin_Continue;
}
Вопросы:
1) Нужно ли убивать таймер?
2) Почему не работает выдача только для живых?
Только заходишь в спеки, сразу дает нож.
 
Последнее редактирование:

EPacker2

3D-моделист
Сообщения
1,040
Реакции
759
Вот теперь я точно не понимаю.
Мне надо чтобы нож давался только живым людям, в игре, а не только что зашедшим и спекам.
 

_wS_

Участник
Сообщения
383
Реакции
760
PHP:
#pragma semicolon 1

#include <sourcemod>
#include <sdktools_functions>

public OnClientPutInServer(client)
{
	if (!IsFakeClient(client))
		CreateTimer(3.0, TryGiveKnife, GetClientUserId(client), TIMER_REPEAT | TIMER_FLAG_NO_MAPCHANGE);
}

public Action:TryGiveKnife(Handle:timer, any:id)
{
	new client = GetClientOfUserId(id);
	if (client < 1)
		return Plugin_Stop;

	if (IsPlayerAlive(client) && GetPlayerWeaponSlot(client, 2) < 1)
		GivePlayerItem(client, "weapon_knife");

	return Plugin_Continue;
}
4ba8fabf1f4cf5508d5f1abccfdacb08.gif
 

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753
PHP:
#pragma semicolon 1

#include <sourcemod>
#include <sdktools_functions>

public OnClientPutInServer(client)
{
    if (!IsFakeClient(client))
        CreateTimer(3.0, TryGiveKnife, GetClientUserId(client), TIMER_REPEAT | TIMER_FLAG_NO_MAPCHANGE);
}

public Action:TryGiveKnife(Handle:timer, any:id)
{
    new client = GetClientOfUserId(id);
    if (client < 1)
        return Plugin_Stop;

    if (IsPlayerAlive(client) && GetPlayerWeaponSlot(client, 2) < 1)
        GivePlayerItem(client, "weapon_knife");

    return Plugin_Continue;
}
4ba8fabf1f4cf5508d5f1abccfdacb08.gif
А можно просто, без таймера сделать выдачу ножа?
 

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753
мне не нужна команда, ну до ладно.
У меня ДМ, и там не дается обычный нож, максимум что я нашел это выдавать knifegg. И мне нужно сделать так что бы при возрождении просто выдавалось Knifegg.
И да, если что у меня прописано mp_ct_default_melee weapon_knife
 
Сверху Снизу