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

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Разве система уровней как-то связана с MySQL или файлами? О_о
    Просто записывайте число убийств в массив и далее делайте проверки по типу
    PHP код:
    if(<= Массив_с_убийствами <= 10)
    {
       
    //Первый уровень
    }
    else if(
    11 <= Массив_с_убийствами <= 50)
    {
       
    //Второй уровень
    }
    //... 
    И после уже записывайте число убийств в БД
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 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
    Сообщений
    650
    Репутация:
    105 ±
    Цитата Сообщение от 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
    Сообщений
    650
    Репутация:
    105 ±
    Цитата Сообщение от 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
    Сообщений
    560
    Репутация:
    272 ±
    самый банальный пример:

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

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

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Ну вот тебе самый элементарный пример скрипта, когда разница в фрагах между уровнями может быть разная.
    Глобально:
    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.
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    560
    Репутация:
    272 ±
    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 12 ПоследняяПоследняя

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

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

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

Ваши права

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