Перемещение игроков

awp-sirius

Участник
Сообщения
26
Реакции
0
как переместить игрока?
CS_SwitchTeam (i, 2); выдаёт ошибку
 
Последнее редактирование:

awp-sirius

Участник
Сообщения
26
Реакции
0
C-подобный:
#include <sourcemod> 

new ct = 0, t = 0, tct[MAXPLAYERS+1] = 0, ctp = 0, tp = 0, k = 0;



public OnPluginStart() 
{ 
    // Ловим событие конца раунда 
    HookEvent("round_end", Event_OnRoundEnd); 
} 

// Обрабатываем 
public Event_OnRoundEnd(Handle:event, const String:name[], bool:dontBroadcast) 
{ 
    for(new i = 0; i < MaxClients; i++) 
    { 
        // Кто в игре 
        if(IsClientInGame(i)) 
        { 
            // Кто за Т 
            if(GetClientTeam(i) == 2) 
            { 
                // число игроков за Т 
                t++; 
            } 
            // Кто за КТ 
            if(GetClientTeam(i) == 3) 
            { 
                // число игроков за КТ 
                ct++; 
            } 

		//tct[i] = i;  
        } 
    } 
	//PrintToChatAll("Игроки перемешаны случайным образом");
 






//когда есть массив tct с userid всех игроков и переменные ct, t в которых содержится колличество игроков в определённой команде:


for(new i = 0; i < (ct + t); i++) 
{
//случайно присваиваем переменной k 2 или 3
	k = GetRandomInt(2, 3);
	
	if (k == 2)
	{
		if (tp == t)
			{
                        //если команда террористов уже заполнена (тоесть было 6 человек и уже 6 перемещено), то перемещается за кт
			CS_SwitchTeam(i, 3);
                        //считает количество перемещённых игроков за кт
			ctp++;
			}
                //если за теров перемещено недостаточно человек (было 6 а переместило только 3-х)
		else
			{
                        //перемещает
			CS_SwitchTeam(i, 2);
                        //считает количество перемещённых игроков за кт
			tp++;
			}

	}
//далее всё аналогично, только если к = 3
	else
	{
	if (ctp == ct)
			{
			CS_SwitchTeam(i, 2);
			tp++;
			}
		else
			{
			CS_SwitchTeam(i, 3);
			ctp++;
			}

	}
}
}
 

legend1998

Участник
Сообщения
286
Реакции
187
Забыл подключить:
#include <cstrike>
либо используй
ChangeClientTeam(i, 2); - 1 но: в CSS игрока убивает и перемещает.
 

awp-sirius

Участник
Сообщения
26
Реакции
0
СПАСИБО!!!))))) А из-а чего ещё ошибка может plugin.sp<49> : warning 217: loose indentation

49-я строка это:
C-подобный:
for(new i = 0; i < (ct + t); i++)

может из-за того что использую переменную i второй раз? странно она вроде обнуляется
 

legend1998

Участник
Сообщения
286
Реакции
187
Неправильный отступ(выравнивание) строки.
Используй ТОЛЬКО пробел или TAB.
 

awp-sirius

Участник
Сообщения
26
Реакции
0
блин, всё равно та же ошибка... я подправил весь код, заново протабулировал и всё равно, вобщем вот сам код программы: скачать

ошибка на 38 теперь строке ну for(new i = 0; i < (ct + t); i++)
 

Вложения

  • plugin.sp
    1.8 КБ · Просмотры: 9

awp-sirius

Участник
Сообщения
26
Реакции
0
блин, а что ты исправил?)))) не догоняю

вот подогнал свой под то что ты скинул (ну удалил пару комментов, и в конце убрал лишние табуляции)

щелкаю между ними отличий - 0, а в компилятор запихиваю, и в plugin.sp ошибка есть а в твоём plugin (2).sp в той же 38-й строчке, кодировки вроде тоже одинаковые, ♥♥♥ц чё за бред??
 
Последнее редактирование:

legend1998

Участник
Сообщения
286
Реакции
187
блин, а что ты исправил?)))) не догоняю

вот подогнал свой под то что ты скинул (ну удалил пару комментов, и в конце убрал лишние табуляции)

щелкаю между ними отличий - 0, а в компилятор запихиваю, и в plugin.sp ошибка есть а в твоём plugin (2).sp в той же 38-й строчке, кодировки вроде тоже одинаковые, ♥♥♥ц чё за бред??

На всех строках используй отступы с помощью пробела или TAB(лучше TAB'ом - по мне лучший вариант, все красиво и "прямо" :)).
Чтобы эта ошибка исчезла(просто скроется при компиляции, но не устранится), пропиши в начале плагина:
#pragma tabsize 0

P.S. Для заметки: Перейти (может чем и поможет :victory:).
 
Сверху Снизу