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

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Страница 1 из 7 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 70
  1. #1
    Аватар для [ForD]
    Пользователь

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

    ТОП игроков

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

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





    #FIXSAMP

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

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

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

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

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

    Steve Pavlina

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

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

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





    #FIXSAMP

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

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

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Нашёл ошибку. Вот подправленный вариант
    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"Закрыть""");

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

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

    Steve Pavlina

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

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

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





    #FIXSAMP

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

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    694
    Репутация:
    104 ±
    Цитата Сообщение от 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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Цитата Сообщение от [ForD] Посмотреть сообщение
    а разница? GetPlayerScore(i) -это вроде функция узнающая score игрока,во время гонки все дрифт очки идут в score игрока,так что без разницы указать переменную или функцию,ну и все ровно и так и так у меня пустой список,а суть предыдущего вопроса в том что если я буду один(без других игроков) в список я должен буду выйти или обязательно что-бы кто-то еще был?
    Отобразит и одного.
    А по поводу GetPlayerScore. Данный код будет работать только в случае, если ты сразу же устанавливаешь новое значение Score игрока (через SetPlayerScore) при малейших изменениях.
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

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

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

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

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





    #FIXSAMP

 

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

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

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

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

Ваши права

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