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

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

    Помогите, как написать систему которая при регистрации игрока...

    Вообщем мне нужно создать типа, после регистрации игрока его спавнило в дом. Тоесть у игрока будет интерьер где это лично его инта будет сразу после реги. Как настроить виртуальные миры скажите, что бы каждый игрок при регистрации не попадал в один интерьер. Мне надо один инта но с другими вирт мирами. И это будет сохраняться на mysql . Дайте на мою память как это можно реализовать. Готовое решение не приму в дар. Лучше объясните.

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

    Статус
    Оффлайн
    Регистрация
    06.02.2017
    Сообщений
    123
    Репутация:
    16 ±
    Вот тебе готовое решение:
    Регистрируешь аккаунт, возвращаешь ключ игрока (инкремент БД) и плюсудешь любое число, вуаля, у каждого игрока свой мир.
    MyProject:
    DriftEmpire©

    Ленивые всё делают быстро, чтобы поскорее избавиться от работы.
    И делают качественно, чтобы потом не переделывать.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Alpano Посмотреть сообщение
    Вот тебе готовое решение:
    Регистрируешь аккаунт, возвращаешь ключ игрока (инкремент БД) и плюсудешь любое число, вуаля, у каждого игрока свой мир.
    Не самый удачный вариант, ибо есть вероятность, что виртуальный мир совпадёт с уже использующемся (не в этой системе).
    Да и к чему все эти извращения, когда есть ID игрока, границы которого известны (легко вычислить все занимаемые системой ID, дабы они не повторялись больше нигде) и который так же всегда уникален для игроков в сети?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    21.07.2017
    Сообщений
    46
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Не самый удачный вариант, ибо есть вероятность, что виртуальный мир совпадёт с уже использующемся (не в этой системе).
    Да и к чему все эти извращения, когда есть ID игрока, границы которого известны (легко вычислить все занимаемые системой ID, дабы они не повторялись больше нигде) и который так же всегда уникален для игроков в сети?
    Можно с ID игрока поподробнее?)

    - - - Updated - - -

    ааххаха лол так что ли? SetPlayerVirtualWorld(playerid); это гениально

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Hecf Посмотреть сообщение
    Можно с ID игрока поподробнее?)

    - - - Updated - - -

    ааххаха лол так что ли? SetPlayerVirtualWorld(playerid); это гениально
    Ну да, только лучше к этому ID прибавлять ещё какое-то значение, дабы не занимать нулевой ID который, обычно, основным миром является.
    То есть, что-то типа
    PHP код:
    SetPlayerVirtualWorld(playerid+1000);//1000 игроков займут виртуальные миры с 1000 по 1999 
    И когда нужно проверить, находится ли игрок в своём доме, можно просто сверить координаты +
    PHP код:
    if(GetPlayerVirtualWorld(playerid) == playerid+1000)
    {
        
    //Игрок в своём доме

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

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

    Steve Pavlina

  6. Пользователь сказал cпасибо:
    Hecf (14.09.2017)
  7. #6
    Аватар для Hecf
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.07.2017
    Сообщений
    46
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну да, только лучше к этому ID прибавлять ещё какое-то значение, дабы не занимать нулевой ID который, обычно, основным миром является.
    То есть, что-то типа
    PHP код:
    SetPlayerVirtualWorld(playerid+1000);//1000 игроков займут виртуальные миры с 1000 по 1999 
    И когда нужно проверить, находится ли игрок в своём доме, можно просто сверить координаты +
    PHP код:
    if(GetPlayerVirtualWorld(playerid) == playerid+1000)
    {
        
    //Игрок в своём доме

    Вопрос возник: как друзьям зайти в дом друга если он оффлайн? Какие варианты?

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

    Статус
    Оффлайн
    Регистрация
    06.02.2017
    Сообщений
    123
    Репутация:
    16 ±
    Ненадо связывать ID дома и ID игрока.
    Мир дома должен составлятся формулой, подобной той, что предложил "DeimoS".
    Только вместо ID игрока - ID дома.


    //DeimoS: Да, если требуется, чтоб в дом можно было войти и другим игрокам, а не просто спавн-комната - завязывать всё нужно на ID дома
    Последний раз редактировалось DeimoS; 15.09.2017 в 01:19.
    MyProject:
    DriftEmpire©

    Ленивые всё делают быстро, чтобы поскорее избавиться от работы.
    И делают качественно, чтобы потом не переделывать.

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

    Статус
    Оффлайн
    Регистрация
    21.07.2017
    Сообщений
    46
    Репутация:
    0 ±
    Цитата Сообщение от Alpano Посмотреть сообщение
    Ненадо связывать ID дома и ID игрока.
    Мир дома должен составлятся формулой, подобной той, что предложил "DeimoS".
    Только вместо ID игрока - ID дома.


    //DeimoS: Да, если требуется, чтоб в дом можно было войти и другим игрокам, а не просто спавн-комната - завязывать всё нужно на ID дома
    Как я написал? Ид игрока имел ввиду номер инскримента в базе данных игрока.

    Зачем тогда нужен ид инскрименьа дома

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Hecf Посмотреть сообщение
    Как я написал? Ид игрока имел ввиду номер инскримента в базе данных игрока.

    Зачем тогда нужен ид инскрименьа дома
    Затем, что когда ты выгружаешь данные домов из базы, ты можешь и ID их выгрузить сразу. А в случае с ID владельцев тебе придётся либо выгружать их дополнительно, либо каждый раз запросы в базу делать. Да и не будет возникать никаких проблем в случае, если один игрок продал дом, а второй его купил и в этом доме были какие-то улучшения в виде объектов, которые останутся в старом виртуальном мире, если завязать всё на ID аккаунта игрока. В общем, завязывай систему на той информации, которая и уникальна, и статична.

    А я до этого говорил именно про ID игрока в игре, а не ID аккаунта, ибо решил, что ты просто хочешь сделать спавн-точку уникальной для каждого игрока.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  11. #10
    Аватар для Hecf
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.07.2017
    Сообщений
    46
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Затем, что когда ты выгружаешь данные домов из базы, ты можешь и ID их выгрузить сразу. А в случае с ID владельцев тебе придётся либо выгружать их дополнительно, либо каждый раз запросы в базу делать. Да и не будет возникать никаких проблем в случае, если один игрок продал дом, а второй его купил и в этом доме были какие-то улучшения в виде объектов, которые останутся в старом виртуальном мире, если завязать всё на ID аккаунта игрока. В общем, завязывай систему на той информации, которая и уникальна, и статична.

    А я до этого говорил именно про ID игрока в игре, а не ID аккаунта, ибо решил, что ты просто хочешь сделать спавн-точку уникальной для каждого игрока.
    Хорош. Я понял про ид самого игрока в игре, и ид в бд аккаунта. Просто решил узнать для себя кое какую инфу. Огромное спасибо, возьму для себя что то из предоставленной инфы.

    Поможешь ещё с одним делом? Не хочу ради этого создавать new тему.

    PHP код:
    stock ac_SetPlayerPos(playeridxyzvirtworldfaceangle)
    {
        if(
    && && && virtworld && faceangle)
        {
            
    SetPlayerPos(playeridxyz);
            
    SetPlayerVirtualWorld(playeridvirtworld);
            
    SetPlayerFacingAngle(playeridfaceangle);
        }
        return 
    1;

    Я хочу записать за один раз в сток функцию одной строкой что бы работала. Но типа таг мишман пишет при компиляции. Как такое правильно делать что бы я в будущем знал?

 

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

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

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

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

Ваши права

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