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

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±

    ТОП игроков

    Подскажите теорию,можно конечно и пример с объяснением,в общем хочу сделать топ игроков,допустим по количеству очков(скор),но вот пока так и не могу понять как это сделать :с
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

  2. #2
    Аватар для Amfy
    Пользователь

    Статус
    Оффлайн
    Регистрация
    12.06.2013
    Адрес
    Казань
    Сообщений
    16
    Репутация:
    3 ±
    Ну, цикл игроков на сервере, отсеивание игроков у которых лвл например меньше 3, остальных выводи в чат или например в диалог.

  3. Пользователь сказал cпасибо:
    [ForD] (06.02.2014)
  4. #3
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,561
    Репутация:
    1973 ±
    Ну вот пример. Должно работать, по идее :)
    PHP код:
    УдаленоСмотреть ответы ниже 
    UPD: Немного подредактировал. Не учёл то, что если первым в списке игроков будет игрок с большим количеством Score, его запишет во все переменные :D Если не будет работать, опиши подробно как и что работает не так. Исправим
    Последний раз редактировалось DeimoS; 06.02.2014 в 12:39.
    Связаться со мной в VK можно через личные сообщения этой группы

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

    Steve Pavlina

  5. Пользователь сказал cпасибо:
    [ForD] (06.02.2014)
  6. #4
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    А таблица будет обновляться на 1 игрока?
    Последний раз редактировалось [ForD]; 06.02.2014 в 12:21.
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,561
    Репутация:
    1973 ±
    Цитата Сообщение от [ForD] Посмотреть сообщение
    А таблица будет обновляться на 1 игрока?
    Не совсем понял...
    И ты заменил в
    PHP код:
    score GetPlayerScore(i
    GetPlayerScore на переменную, хранящую Score?
    Связаться со мной в VK можно через личные сообщения этой группы

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,561
    Репутация:
    1973 ±
    Нашёл ошибку. Вот подправленный вариант
    PHP код:
    stock Top10(playerid)
    {
        new 
    TopPlayers[2][10];
        for(new 
    i10i++) TopPlayers[1][i] = INVALID_PLAYER_ID;
        for(new 
    iascoreoslots GetMaxPlayers(); slotsi++)
        {
            if(!
    IsPlayerConnected(i) || (score GetPlayerScore(i)) < TopPlayers[0][a]) continue;
            for(new 
    j10j++)
            {
                if(
    TopPlayers[1][j] == TopPlayers[1][a] && TopPlayers[1][a] != INVALID_PLAYER_ID)
                {
                    
    1;
                    break;
                }
                else if(
    TopPlayers[1][j] == TopPlayers[1][a] && TopPlayers[1][a] == INVALID_PLAYER_ID) break;
            }
            if(
    == 1)
            {
                
    0;
                continue;
            }
            else
            {
                
    TopPlayers[0][a] = score;
                
    TopPlayers[1][a] = i;
                
    a++;
            }
        }
        new 
    string[(53+24+2+3+11)*10], PlayerName[MAX_PLAYER_NAME];
        for(new 
    i10i++)
        {
            if(
    TopPlayers[1][i] == INVALID_PLAYER_IDformat(stringsizeof(string), "%s{c0c0c0}%d место: {FFFFFF}Не обнаружено\n\n"stringi+1);
            else
            {
                
    GetPlayerName(TopPlayers[1][i], PlayerNameMAX_PLAYER_NAME);
                
    format(stringsizeof(string), "%s{c0c0c0}%d место: {FFFFFF}%s [ID: %d]. Score = %d\n\n"stringi+1PlayerNameTopPlayers[1][i], TopPlayers[0][i]);
            }
        }
        return 
    ShowPlayerDialog(playerid6666DIALOG_STYLE_MSGBOX"Топ 10"string"Закрыть""");

    Связаться со мной в VK можно через личные сообщения этой группы

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

    Steve Pavlina

  9. Пользователь сказал cпасибо:
    Salvacore (23.02.2014)
  10. #7
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Не совсем понял...
    И ты заменил в
    PHP код:
    score GetPlayerScore(i
    GetPlayerScore на переменную, хранящую Score?
    а разница? GetPlayerScore(i) -это вроде функция узнающая score игрока,во время гонки все дрифт очки идут в score игрока,так что без разницы указать переменную или функцию,ну и все ровно и так и так у меня пустой список,а суть предыдущего вопроса в том что если я буду один(без других игроков) в список я должен буду выйти или обязательно что-бы кто-то еще был?
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

  11. #8
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Нашёл ошибку. Вот подправленный вариант
    PHP код:
    stock Top10(playerid)
    {
        new 
    TopPlayers[2][10];
        for(new 
    i10i++) TopPlayers[1][i] = INVALID_PLAYER_ID;
        for(new 
    iascoreoslots GetMaxPlayers(); slotsi++)
        {
            if(!
    IsPlayerConnected(i) || (score GetPlayerScore(i)) < TopPlayers[0][a]) continue;
            for(new 
    j10j++)
            {
                if(
    TopPlayers[1][j] == TopPlayers[1][a] && TopPlayers[1][a] != INVALID_PLAYER_ID)
                {
                    
    1;
                    break;
                }
                else if(
    TopPlayers[1][j] == TopPlayers[1][a] && TopPlayers[1][a] == INVALID_PLAYER_ID) break;
            }
            if(
    == 1)
            {
                
    0;
                continue;
            }
            else
            {
                
    TopPlayers[0][a] = score;
                
    TopPlayers[1][a] = i;
                
    a++;
            }
        }
        new 
    string[(53+24+2+3+11)*10], PlayerName[MAX_PLAYER_NAME];
        for(new 
    i10i++)
        {
            if(
    TopPlayers[1][i] == INVALID_PLAYER_IDformat(stringsizeof(string), "%s{c0c0c0}%d место: {FFFFFF}Не обнаружено\n\n"stringi+1);
            else
            {
                
    GetPlayerName(TopPlayers[1][i], PlayerNameMAX_PLAYER_NAME);
                
    format(stringsizeof(string), "%s{c0c0c0}%d место: {FFFFFF}%s [ID: %d]. Score = %d\n\n"stringi+1PlayerNameTopPlayers[1][i], TopPlayers[0][i]);
            }
        }
        return 
    ShowPlayerDialog(playerid6666DIALOG_STYLE_MSGBOX"Топ 10"string"Закрыть""");

    что-же ты блин так вовремя пишешь то..
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,561
    Репутация:
    1973 ±
    Цитата Сообщение от [ForD] Посмотреть сообщение
    а разница? GetPlayerScore(i) -это вроде функция узнающая score игрока,во время гонки все дрифт очки идут в score игрока,так что без разницы указать переменную или функцию,ну и все ровно и так и так у меня пустой список,а суть предыдущего вопроса в том что если я буду один(без других игроков) в список я должен буду выйти или обязательно что-бы кто-то еще был?
    Отобразит и одного.
    А по поводу GetPlayerScore. Данный код будет работать только в случае, если ты сразу же устанавливаешь новое значение Score игрока (через SetPlayerScore) при малейших изменениях.
    Связаться со мной в VK можно через личные сообщения этой группы

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

    Steve Pavlina

  13. #10
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Отобразит и одного.
    А по поводу GetPlayerScore. Данный код будет работать только в случае, если ты сразу же устанавливаешь новое значение Score игрока (через SetPlayerScore) при малейших изменениях.
    Эм ну у меня как-то так:
    При "дрифте"

    узнаем очки игрока(score)-записываем в переменную
    очки набранные во время дрифта - запишем в переменную
    1 переменную сложем со 2 переменной (1+2) - все это в переменную 3
    выдадим очки игроку функцией SetPlayerScore кол-во очков берем из 3 переменной
    как-то так
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

 

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

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

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

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

Ваши права

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