Extra Cash

DJ Cool Spot

Участник
Сообщения
80
Реакции
6
Re: Extra Cash v0.2

Reiko1231, выдаёт 16000 уже в 3 раунде + нету ограничения денег (больше 16000 становится)

Добавлено через 6 минут
Если вам что-то это даст то гуд: в общем удалось реализовать через плагин Source Cronjobs

"Source Cronjobs"
{
"1"
{
"type" "round"
"value" "4"
"task" "extra_Cash_on 1"
}
"2"
{
"type" "round"
"value" "5"
"task" "extra_Cash_on 0"
}
}
но эта хрень в чате: Значение переменной сервера изменена траляля... бесит:D
 
Последнее редактирование:

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Re: Extra Cash v0.2

Reiko1231
if (++CountRounds[client] > 5)

Добавлено через 2 минуты
Писать #include <sourcemod> не обязательно.
Для меня - обязательно

выдаёт 16000 уже в 3 раунде + нету ограничения денег (больше 16000 становится)
Ошибку в плагинах других ищи сам ты
images
 
Последнее редактирование:

DJ Cool Spot

Участник
Сообщения
80
Реакции
6
Re: Extra Cash v0.2

возможно ошибка была в плагине mpmoney.smx который устанавливал значение больше чем 16000

это готовый плагин да?:)
#include <sourcemod>

new CountRounds[MAXPLAYERS + 1] = { 0, ... };
public OnPluginStart()
{
HookEvent("player_spawn", Event_OnPlayerSpawn);
}
public OnClientPutInServer(client)
{
CountRounds[client] = 0;
}
public Event_OnPlayerSpawn(Handle:event, const String:name[], bool:silent)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
CountRounds[client]++;

if (++CountRounds[client] > 5)
{
SetEntProp(client, Prop_Send, "m_iAccount", 16000);
CountRounds[client] = 0;
}
}
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Re: Extra Cash v0.2

DJ Cool Spot
Просто скопируй код, не изменяй ничего, ибо неправильно тогда
 

DJ Cool Spot

Участник
Сообщения
80
Реакции
6
Re: Extra Cash v0.2

The End Is Near...,
Reiko1231, всё равно после 3 раунда выдаёт 16к( серв чистый SM
 

DJ Cool Spot

Участник
Сообщения
80
Реакции
6
Re: Extra Cash v0.2

new CountRounds[MAXPLAYERS + 1] = { 0, ... };
public OnPluginStart()
{
HookEvent("player_spawn", Event_OnPlayerSpawn);
}
public OnClientPutInServer(client)
{
CountRounds[client] = 0;
}
public Event_OnPlayerSpawn(Handle:event, const String:name[], bool:silent)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
CountRounds[client]++;

if (CountRounds[client] > 5)
{
SetEntProp(client, Prop_Send, "m_iAccount", 16000);
CountRounds[client] = 0;
}
}
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Re: Extra Cash v0.2

DJ Cool Spot, нужно проверять IsPlayerAlive() хотя бы, потому что player_spawn вызывается при подключении и при смене команды, не только при появлении. Это известный баг сорса....
 

DJ Cool Spot

Участник
Сообщения
80
Реакции
6
Re: Extra Cash v0.2

KorDen, суть понял:) но только как это в *.sp написать незнаю:D поможешь?:)
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Re: Extra Cash v0.2

PHP:
public Event_OnPlayerSpawn(Handle:event, const String:name[], bool:silent)
{
	new client = GetClientOfUserId(GetEventInt(event, "userid"));
	if(client>0 && IsClientInGame(client) && IsPlayerAlive(client))
	{
		CountRounds[client]++;
		if (CountRounds[client] > 5)
		{
			SetEntProp(client, Prop_Send, "m_iAccount", 16000);
			CountRounds[client] = 0;
		}
	}
}
 

DJ Cool Spot

Участник
Сообщения
80
Реакции
6
Re: Extra Cash v0.2

KorDen, т.е. вот пофиксенный исходник да?
#include <sourcemod>

new CountRounds[MAXPLAYERS + 1] = 0;

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

public OnClientPutInServer(client)
{
CountRounds[client] = 0;
}

public Event_OnPlayerSpawn(Handle:event, const String:name[], bool:silent)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
if(client>0 && IsClientInGame(client) && IsPlayerAlive(client))
{
CountRounds[client]++;
if (CountRounds[client] > 5)
{
SetEntProp(client, Prop_Send, "m_iAccount", 16000);
CountRounds[client] = 0;
}
}
}
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #32
Re: Extra Cash v0.2

DJ Cool Spot, Да.
Но насколько я понял это будет выдавать деньги каждый 6-й раунд игрока, а не общий.
 

DJ Cool Spot

Участник
Сообщения
80
Реакции
6
Re: Extra Cash v0.2

R1KO, верно:) так впринципе и было задумано) а как было бы лучше как думаешь? чтобы каждый 6 раунд игрока или каждый 6 раунд общий?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #34
Re: Extra Cash v0.2

DJ Cool Spot, а мне откуда знать ? Твоя идея, тебе виднее.
 

DJ Cool Spot

Участник
Сообщения
80
Реакции
6
Re: Extra Cash v0.2

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

vladimir16951

Участник
Сообщения
15
Реакции
3
Re: Extra Cash v0.2

new g_iRoundCounter;
public OnPluginStart()
{
HookEvent("round_freeze_end", Event_RoundFreezeEnd);
}
public OnMapStart()
{
g_iRoundCounter = -2;
}
public Action:Event_RoundFreezeEnd(Handle:hEvent, const String:sEventName[], bool:bSilent)
{
g_iRoundCounter++;

if ( g_iRoundCounter != 0 && g_iRoundCounter % 5 == 0 )
for ( new i = 1; i <= MaxClients; i++ )
if ( IsClientInGame(i) && IsPlayerAlive(i) )
SetEntProp(i, Prop_Send, "m_iAccount", 16000);
}
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Re: Extra Cash v0.2

KorDen
И? Причем тут вызов евента при подключении игрока? Это совершенно не причем. У него ошибка в коде была (у ТС), я написал reiko про условие if (++CountRounds[client] > 5),а ТС добавил в код это, т.е. у него получилось два прибавления (Условие - if (++CountRounds[client] > 5) и CountRounds[client]++), т.е. каждые три раунда выдавало деньги, твоя 'гипотеза' тут не причем
 
Сверху Снизу