Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 5 из 5

Тема: мод TDM

  1. #1
    Аватар для CheRryS_MinT
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.07.2014
    Сообщений
    2
    Репутация:
    0 ±

    мод TDM

    Всем привет, кто может помочь с одной функцией. В чем смысл, на сервере 3 команды, и при заходе на сервер автоматически тебя распределит в одну из команд так чтобы кол. участников в каждой команде было поровну. Вот как я сделал но почему то делает полную лажу.
    В начале мода:
    Переменные:
    Код HTML:
    new PlayerClass[MAX_PLAYERS];
    new russia = 0;
    new america = 0;
    new japonia = 0;
    Код HTML:
    stock PlayerCountrySelection(playerid)
    {
    	if(russia == america && america == japonia)
    	{
    		new country = random(2);
    		if(country == 0)//russia
    		{
    		    PlayerClass[playerid] = 0;
    		    russia++;
    		    GamemodeBlankStat();
    		}
    		else if(country == 1)//america
    		{
    		    PlayerClass[playerid] = 1;
    		    america++;
    		    GamemodeBlankStat();
    		}
    		else if(country == 2)//japonia
    		{
    		    PlayerClass[playerid] = 2;
    		    japonia++;
    		    GamemodeBlankStat();
    		}
    
    	}
    	else if(russia << america && america == japonia)
    	{
    	    PlayerClass[playerid] = 0;
    	    russia++;
    	    GamemodeBlankStat();
    	}
    	else if(russia == america && america >> japonia)
    	{
    	    PlayerClass[playerid] = 2;
    	    japonia++;
    	    GamemodeBlankStat();
    	}
    	else if(russia == japonia && russia >> america)
    	{
    	    PlayerClass[playerid] = 1;
    		america++;
    		GamemodeBlankStat();
    	}
    	else if(russia == japonia && russia << america)
    	{
    	    new country = random(1);
    	    if(country == 0)//russia
    	    {
    	        PlayerClass[playerid] = 0;
    	        russia++;
    	        GamemodeBlankStat();
    	    }
    	    else if(country == 1)//japonia
    	    {
    	        PlayerClass[playerid] = 2;
    	        japonia++;
    	        GamemodeBlankStat();
    	    }
    	}
    	else if(russia == america && russia << japonia)
    	{
    	    new country = random(1);
    	    if(country == 0)//russia
    	    {
    	        PlayerClass[playerid] = 0;
    	        russia++;
    	        GamemodeBlankStat();
    	    }
    	    else if(country == 1)//america
    	    {
    	        PlayerClass[playerid] = 1;
    	        america++;
    	        GamemodeBlankStat();
    	    }
    	}
    	else if(america == japonia && america << russia)
    	{
    	    new country = random(1);
    	    if(country == 0)//america
    	    {
    	        PlayerClass[playerid] = 1;
    	        america++;
    	        GamemodeBlankStat();
    	    }
    	    else if(country == 1)//japonia
    	    {
    	        PlayerClass[playerid] = 2;
    	        japonia++;
    	        GamemodeBlankStat();
    	    }
    	}
    }
    stock PlayerLeaveCountry(playerid)
    {
    	if(PlayerClass[playerid] == 0)
    	{
    		russia = russia - 1;
    		GamemodeBlankStat();
    	}
    	if(PlayerClass[playerid] == 1)
    	{
    	    america = america - 1;
    	    GamemodeBlankStat();
    	}
    	if(PlayerClass[playerid] == 2)
    	{
    	    japonia = japonia - 1;
    	    GamemodeBlankStat();
    	}
    }
    Дальше в OnPlayerSpawn
    Код HTML:
    	PlayerCountrySelection(playerid);
    	if(PlayerClass[playerid] == 0)
    	{
    	    SendClientMessage(playerid,-1,"Òû ïðèñîåäèíèëñÿ ê Àðìèé Ðîññèè!");
    	}
    	else if(PlayerClass[playerid] == 1)
    	{
    	    SendClientMessage(playerid,-1,"Òû ïðèñîåäèíèëñÿ ê Àðìèé ÑØÀ!");
    	}
    	else if(PlayerClass[playerid] == 2)
    	{
    	    SendClientMessage(playerid,-1,"Òû ïðèñîåäèíèëñÿ ê Àðìèé ßïîíèè!");
    	}
    И в OnPlayerDisconnect
    Код HTML:
    	pLogged[playerid] = 0;
    	PlayerLeaveCountry(playerid);
    	SavePlayerInfo(playerid);
    Заранее спасибо.
    P.S. Если скажете что то про то что я вставил в OnPLayerSpawn и после смерти т.д. забудьте. Проблема в самом распределений игрока в одну из трёх команд.

  2. #2
    Аватар для Seregamil
    Проверенный

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    560
    Репутация:
    272 ±
    russia << america
    Вы откуда перешли на этот недоЯП?
    new country = random(1);
    Рекомендую почитать: http://wiki.sa-mp.com/wiki/Random

  3. #3
    Аватар для CheRryS_MinT
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.07.2014
    Сообщений
    2
    Репутация:
    0 ±
    Цитата Сообщение от Seregamil Посмотреть сообщение
    Вы откуда перешли на этот недоЯП?

    Рекомендую почитать: http://wiki.sa-mp.com/wiki/Random
    Example Usage:
    new value = random(5);

    // 'value' might be 0, 1, 2, 3 or 4. 5 possible values.

    вот так там написано. У меня 3 команды поэтому я написал random(2) чтоб было 0, 1 и 2.

  4. #4
    Аватар для MR_BEN
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.01.2014
    Сообщений
    110
    Репутация:
    29 ±
    Цитата Сообщение от CheRryS_MinT Посмотреть сообщение
    Example Usage:
    new value = random(5);

    // 'value' might be 0, 1, 2, 3 or 4. 5 possible values.

    вот так там написано. У меня 3 команды поэтому я написал random(2) чтоб было 0, 1 и 2.
    надо random(3), тогда будет 0, 1 и 2

  5. #5
    Аватар для Seregamil
    Проверенный

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    560
    Репутация:
    272 ±
    5 possible values.
    Гугл в помощь.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •