Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 13
  1. #1
    Аватар для Elaid
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.09.2014
    Адрес
    Киров [43]
    Сообщений
    93
    Репутация:
    0 ±

    Система уровня по фрагам

    Еще раз тебя приветствую. У меня появился еще вопросик: 'Как сделать простую систему уровня по фрагам на Mysql r39-2?' Искал в Google and Yandex. Нашел только одну и то она на файлах. Мне бы по проще. Просто количество убийств и прогресс уровня.
    Последний раз редактировалось Elaid; 18.11.2014 в 11:10. Причина: прост))0)

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Разве система уровней как-то связана с MySQL или файлами? О_о
    Просто записывайте число убийств в массив и далее делайте проверки по типу
    PHP код:
    if(<= Массив_с_убийствами <= 10)
    {
       
    //Первый уровень
    }
    else if(
    11 <= Массив_с_убийствами <= 50)
    {
       
    //Второй уровень
    }
    //... 
    И после уже записывайте число убийств в БД
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. Пользователь сказал cпасибо:
    Elaid (20.09.2014)
  4. #3
    Аватар для Elaid
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.09.2014
    Адрес
    Киров [43]
    Сообщений
    93
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Разве система уровней как-то связана с MySQL или файлами? О_о
    Просто записывайте число убийств в массив и далее делайте проверки по типу
    PHP код:
    if(<= Массив_с_убийствами <= 10)
    {
       
    //Первый уровень
    }
    else if(
    11 <= Массив_с_убийствами <= 50)
    {
       
    //Второй уровень
    }
    //... 
    И после уже записывайте число убийств в БД
    А можно по подробнее. Я просто мало что знаю
    Функция SetGameModeText определяет уникальность вашего мода :D (Evil School Boy)


    Иногда так хочется крикнуть: "Подручныый .." :с



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

    Статус
    Оффлайн
    Регистрация
    15.06.2014
    Сообщений
    651
    Репутация:
    106 ±
    Цитата Сообщение от Elaid Посмотреть сообщение
    А можно по подробнее. Я просто мало что знаю
    Skype: akin a_sinna21 подмогу )

  6. #5
    Аватар для Elaid
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.09.2014
    Адрес
    Киров [43]
    Сообщений
    93
    Репутация:
    0 ±
    Цитата Сообщение от #Azumi Посмотреть сообщение
    Skype: akin a_sinna21 подмогу )
    Может быть akina_sinna21? А то с akin a_sinna21 ничего не находит
    Функция SetGameModeText определяет уникальность вашего мода :D (Evil School Boy)


    Иногда так хочется крикнуть: "Подручныый .." :с



  7. #6
    Аватар для gangzone.ini
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.06.2014
    Сообщений
    651
    Репутация:
    106 ±
    Цитата Сообщение от Elaid Посмотреть сообщение
    Может быть akina_sinna21? А то с akin a_sinna21 ничего не находит
    ага))

  8. #7
    Аватар для Elaid
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.09.2014
    Адрес
    Киров [43]
    Сообщений
    93
    Репутация:
    0 ±
    Вот нечего мне делать и я решил все таки доделать это. Дак вот. Как построить этот массив? Мне просто надое, так сказать, сделать проверку на количество убитый человек и при коннекте выдавать ему уровень, в зависимости от этого количества? А можно сделать так, чтобы все это происходило непосредственно в игре. И тебе выдавался уже сохраненный уровень. Меня вот это интересует.

    Цитата Сообщение от DeimoS Посмотреть сообщение
    Разве система уровней как-то связана с MySQL или файлами? О_о
    Просто записывайте число убийств в массив и далее делайте проверки по типу
    PHP код:
    if(<= Массив_с_убийствами <= 10)
    {
       
    //Первый уровень
    }
    else if(
    11 <= Массив_с_убийствами <= 50)
    {
       
    //Второй уровень
    }
    //... 
    И после уже записывайте число убийств в БД
    Функция SetGameModeText определяет уникальность вашего мода :D (Evil School Boy)


    Иногда так хочется крикнуть: "Подручныый .." :с



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

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    551
    Репутация:
    274 ±
    самый банальный пример:

    PHP код:
    if( GetPlayerScoreplayerid ) % 50 == ){
    //level up

    Каждый 50 убийств будет давать новый уровень

  10. #9
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Ну вот тебе самый элементарный пример скрипта, когда разница в фрагах между уровнями может быть разная.
    Глобально:
    PHP код:
    new PlayerScore[MAX_PLAYERS];//Или же в enum создай новый член
    new PlayerLevel[MAX_PLAYERS];//Или же в enum создай новый член 
    В этом stock производи все действия, которые должны происходить при получении нового уровня/обновлении числа фрагов (например, текстдравы с фрагами/уровнем обновлять можно тут, дабы код не плодить)
    PHP код:
    stock UpdatePlayerLevel(playerid)
    {
        if(
    PlayerScore[playerid] < 10)
        {
            
    PlayerLevel[playerid] = 1;
        }
        else if(
    10 <= PlayerScore[playerid] < 50)
        {
            
    PlayerLevel[playerid] = 2;
        }
        else if(
    50 <= PlayerScore[playerid] < 100)
        {
            
    PlayerLevel[playerid] = 3;
        }
        else if(
    100 <= PlayerScore[playerid] < 200)
        {
            
    PlayerLevel[playerid] = 3;
        }
        
    //... 
        
    return 1;

    Ну и теперь в OnPlayerDeath
    PHP код:
    if(killerid != INVALID_PLAYER_ID)
    {
        
    PlayerScore[killerid]++;
        
    SetPlayerScore(killeridPlayerScore[killerid]);
        
    UpdatePlayerLevel(killerid);

    А так же OnPlayerSpawn + при загрузке аккаунта (можно прямо после загрузки строки с фрагами вставить)
    PHP код:
    UpdatePlayerLevel(playerid); 
    Ну и так же во все команды/функции, что обновляют число убийств у игрока и при этом не идёт вызов UpdatePlayerLevel (например, команда, типа /setscore)
    PHP код:
    UpdatePlayerLevel(тут_переменная_с_id); 
    P.S. Когда-то я за подобный код (немного доработанный и более удобный) брал деньги... Хорошие были времена
    Последний раз редактировалось DeimoS; 17.11.2014 в 19:35.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  11. Пользователь сказал cпасибо:
    Elaid (17.11.2014)
  12. #10
    Аватар для Seregamil
    Проверенный

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    551
    Репутация:
    274 ±
    stock UpdatePlayerLevel(playerid)
    {
    if(0 <= PlayerScore[playerid] < 10)
    {
    PlayerLevel[playerid] = 1;
    }
    else if(10 <= Массив_с_убийствами < 50)
    {
    PlayerLevel[playerid] = 2;
    }
    else if(50 <= Массив_с_убийствами < 100)
    {
    PlayerLevel[playerid] = 3;
    }
    else if(100 <= Массив_с_убийствами < 200)
    {
    PlayerLevel[playerid] = 3;
    }
    //...
    return 1;
    }
    Стареешь, друг мой.
    Последний раз редактировалось Seregamil; 17.11.2014 в 18:39.

  13. Пользователь сказал cпасибо:
    Elaid (18.11.2014)
 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

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

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

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

Ваши права

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