• 0

Куда и как верно написать появление игрока на координатах после регистрации и авторизации?

Вопросы

yan2348
Свой человек

Привет народ! Мне понадобилось поменять место спавна, а при моей регистрации и авторизации я не могу понять куда вставлять координаты и сам спавн игрока. Регистрацию и авторизацию прикреплю в спойлере, мне нужно понять куда вписывать. Заранее спасибо!

 

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
 new string[370];
 switch(dialogid)
 {
     case 1:
     {
         if(response)
         {
             if(!strlen(inputtext))
             {
                 f("{FFFFFF}Здравствуй игрок! Мы рады видеть тебя на нашем сервере!{0xFAAC58FF}Sunlight RP!\n\n{FFFFFF}Аккаунт {}%s {FFFFFF}не зарегистрирован, для продолжения придумайте свой\nбудущий пароль\n\n\t{29b017}Пароль должен состоять из 6 и до 30 символов\n\t{29b017}{29b017}В пароле могут использоваться цифры и английские символы!\n\t{29b017}{BE2D2D}ВАЖНО:{0xFFFFFFFF}Не передавайте пароль не кому, даже друзьям/админам", GN(playerid));
     SPD(playerid, 1, DSI,"{1724b0}Регистрация", string, "Далее", "Отмена");
     return true;
    }
    for(new i = strlen(inputtext); i != 0; --i)
          switch(inputtext)
          {
              case 'А'..'Я', 'а'..'я':
     return SPD(playerid, 1, DSM, "{17b021}Проверка русских символов", "{FFFFFF}Пароль не должен содержать русских символов\nПожалуйста повторите попытку на английском языке", "Повторить", "");
          }
          if(strlen(inputtext) < 6 || strlen(inputtext) > 30) return SPD(playerid, 1, DSM, "{BE2D2D}Длина пароля", "{FFFFFF}Пароль должен состоять из цифр и букв\nДлина пароля должна быть от 6 до 30 символов\nПовторите попытку", "Повторить", "");
    strmid(Player[playerid][pPass], inputtext, 0, strlen(inputtext), 30);
    SPD(playerid, 2, DSM, "{17b021}Выбор пола персонажа", "{FFFFFF}Для продолжения вам надо выбрать пол\nПол персонажа вам понадобится для:\n\n{29b017}   1)Можно будет пожениться с противоположным полом\n{29b017}   -2)У каждого пола имеются свои скины\n   -3){29b017}В дальнейшем пол персонажа нельзя поменять!", "Мужской", "Женский");
   }
   else
   {
       SCM(playerid, COLOR_ROT, "Вы были отключены от сервера, для выхода ведите /q");
       Kickk(playerid);
   }
  }
  case 2:
  {
      if(response)
      {
          Player[playerid][pSex] = 1;
   }
   else
   {
       Player[playerid][pSex] = 2;
   }
   Player[playerid][pLevel] = 1;
         mysql_format(ConnectMySQL, string, sizeof(string), "INSERT INTO `accounts` (`Name`, `Level`, `Skin`, `Sex`, `Pass`) VALUES ('%s', '%d', '%d', '%d', '%s')", GN(playerid), Player[playerid][pLevel], Player[playerid][pSkin], Player[playerid][pSex], Player[playerid][pPass]);
         mysql_function_query(ConnectMySQL, string, true, "Registr", "d", playerid);
   Login[playerid] = true;
  }
  case 3:
  {
      if(response)
      {
          if(!strlen(inputtext))
          {
              f("{FFFFFF}Акаунт уже зарегистрирован на SunlightRP\n\n{FFFFFF}Для продолжения введите свой пароль,\nкоторый вы указали при регистрации акаунта.\n\nЛогин: {3FE21C}%s\n{FFFFFF}Пароль:", GN(playerid));
     SPD(playerid, 3, DSP, "{1724b0}Авторизация", string, "Вход", "Отмена");
     return true;
    }
    mysql_format(ConnectMySQL, string, sizeof(string), "SELECT * FROM `accounts` WHERE `Name` = '%e' AND `Pass` = '%e'", GN(playerid), inputtext);
    return mysql_function_query(ConnectMySQL, string, true, "OnLogin", "d", playerid);
   }
   else
   {
       SCM(playerid, COLOR_ROT, "Вы были кикнуты с сервера, для выхода ведите /q");
       Kickk(playerid);
   }
  }
 }
 return true;
}


       

 

 

Поделиться сообщением


Ссылка на сообщение

4 ответа на этот вопрос

  • 0
SCRIPTMAN
Великий Гуру

Возможно координаты будут в паблике "OnLogin", а вообще, чтобы найти координаты спавна в самом моде, сделай следующее:

1. авторизуйся / зарегистрируйся на сервере

2. Тебя заспавнит, ты ничего не делаешь, не трогаешь мышь, а уж тем более клавиши движения игрока

3. Нажимаешь F6 и пишешь команду "/save координаты спавна"(наприме, но "/save" пишешь точно)

4. В файле savedpositions.txt по пути: "Документы\GTA San Andreas User Files\CR-MP\GenerationC"(если у тебя CRMP 03e) будут твои координаты, если у тебя их несколько, твои - самая последняя строка, например: 

AddPlayerClass(109,2403.6960,-1839.3885,39.7767,183.2486,0,0,0,0,0,0); // pickup на крыше в лифт
AddPlayerClass(109,2404.7095,-1837.1433,39.7778,318.6700,0,0,0,0,0,0); // телепорт на крышу из лифта

Последний сохранённый - это "телепорт на крышу из лифта", от туда достаём координаты: следующим образом: x,y,z,angle, получаем:

2404.7095,-1837.1433,39.7778,318.6700
x        ,y         ,z      ,angle

Сохраняются координаты со следующими аргументами: 

AddPlayerClass(skin, Float:x, Float:y, Float:z, Float:Angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);

5. Чтобы найти место спавна, достаточно скопировать x,y,z координаты, если не находит: поиграйся с пробелом после запятых, или попробуй найти по одной из координат(x,y,z или angle), например: по x,y,z:

2404.7095,-1837.1433,39.7778
или так:
2404.7095, -1837.1433, 39.7778

по angle:

318.6700

 

В итоге ты нашёл координаты спавна и можешь заменять на свои (точно также можешь сохранить нужные тебе координаты)

Поделиться сообщением


Ссылка на сообщение
  • 0
yan2348
Свой человек

Спасибо, я бы не додумался сам найти. Всё, нашёл координаты в попе мода. Спасибо, не додумался бы найти сами координаты таким способом. 

Поделиться сообщением


Ссылка на сообщение
  • 0
yan2348
Свой человек

Сразу поспешил, у меня появилось две ошибки 17, не найден символ playerid , спойлером прикреплю паблик OnLogin

 

 

publics OnLogin(i)//Паблик Загрузски игрока
{
 new rows;
 new rows2;
 new string[200];
 cache_get_data(rows, rows2);
 if(rows)
 {
  cache_get_field_content(0, "Pass", Player[pPass], ConnectMySQL, 20);
  Player[pLevel] = cache_get_field_content_int(0, "Level");
  Player[pSkin] = cache_get_field_content_int(0, "Skin");
  Player[pSex] = cache_get_field_content_int(0, "Sex");
  Login = true;
  SpawnPlayer(i);
  SetSpawnInfo(playerid, 0, Player[playerid][pSkin], Float:x, Float:y, Float:z,Float:rotate, 0, 0, 0, 0, 0, 0)
  SpawnPlayer(playerid);
 }
 else
 {
     f("{FFFFFF}Здравствуй игрок! Мы рады видеть тебя на нашем сервере!\n\nДанный аккаунт уже зарегистрирован на {0xFAAC58FF}Sunlight RP\n\n{FFFFFF}Чтобы продолжить, Вам надо ввести свой пароль\nКоторый вы указали при регистрации аккаунта\n\n{17b021}Вы вошли под именем: %s\n\n{FFFFFF}Введите Пароль:", GN(i));
  SPD(i, 3, DSP, "{0xFFFFFFFF}Авторизация", string, "Вход", "Отмена");
     SCM(i, COLOR_ROT, "Пароль введён не верно!");
 }
 return true;
} 

 

 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Дебилойд
      От Дебилойд
      Здравствуйте!
      Мы ищем талантливого 3D-моделлера в команду нашего CRMP-проекта!
      Что нужно будет делать:
      Моделировать и адаптировать автомобили.
      Создавать и настраивать скины (модели персонажей).
      Большим плюсом будет:
      Умение создавать качественные и оптимизированные интерьеры.
      Если вы хотите стать частью нашей команды и развивать проект вместе с нами, пишите в ЛС. Ждем ваши портфолио!
    • LORDIKUS
      От LORDIKUS
      Уважаемые участники форума - всех приветствую, кто перешел в беседу моей темы обсуждения. В настоящее время у меня зарождается огромное желание и мысль создать собственный CR:MP проект, но столкнулся с единственной проблемой - с отсутствием команды людей, у которых будет искреннее желание ежедневно вкладывать свой труд на разработку проекта. Особого опыта в скриптинге, маппинге, дизайне или в моделировании у меня не имеется, поэтому такой критерий как опыт в определенной сфере для желающих вступить в команду я не рассматриваю. Так как проект не открыт и находится на начальной стадии создания, мое сотрудничество выстраивается на некоммерческой основе (без выплаты за проделанную работу и труд), однако я не собираюсь отрицать высокую ценность вложенного командой труд — труд, особенно на первой стадии разработки я рассматриваю превыше всего. После открытия проекта в зависимости от коммерции и чистой прибыли каждый участник будет получать настоящую выплату, однако это также может убить еще значительное время. Мне нужна команда, которая проявит искренний интерес в создании общего между командой CR:MP проекта, пожертвует свое время, а также вложит собственный труд благодаря заработанным навыкам. Если вас заинтересовала данная тема обсуждения, пожалуйста, свяжитесь со мной по любым возможным и удобным для вас контактам связи ниже. Спасибо всем, кто зашел в мою беседу!

      🔗 Спец. Связь:
      — DISCORD: https://discord.com/users/1452715348196589691 (перейти по ссылке и добавить в друзья) ИЛИ _shin833_ (ввести никнейм и отправить запрос дружбы)
      — VK: https://vk.com/shin833
      — TG: https://t.me/s_hin833
    • Korochansky
      От Korochansky
      Настало время объявить о скором выпуске первого релиза среды разработки под названием Spawn.

      В настоящее время программа находится на заключительных этапах доработки кода и локализации интерфейса.
      Таким образом, в течение следующей недели будет выпущена быстрая и современная среда разработки, обладающая следующими возможностями (о которых я расскажу сейчас, а о других — позже):
       
      Полнофункциональный локальный Git: 
      Индексирование, фиксации, индикаторы состояния и мягкий/жесткий сброс до любой точки сохранения одним щелчком мыши. Разрабатывайте свой игровой сервер, не боясь его сломать.
      Новички могут рассматривать это как историю кодовой базы вашего сервера (что и есть на самом деле).
       
      Чистый UTF-8 (без BOM): 
      Полный отказ от устаревшей кодировки Windows-1251 (CP1251) для абсолютной стабильности и идеальной совместимости с Git.
      Реализация поддержки CP1251 привела бы к нестабильному поведению программы и ухудшила бы пользовательский опыт.
       
      История изменений строк: Редактор выделяет измененные строки в реальном времени в полях рядом с номерами строк. Это позволяет мгновенно видеть границы изменений, внесенных с момента открытия файла.
       
      Сопоставление и выделение фигурных скобок: мгновенное выделение открывающих и закрывающих фигурных скобок для быстрой навигации по структуре кода и защиты от ошибок компиляции.
       
      Интеграция с SAMPCTL: готовая к использованию автоматизация процессов. Сборка, запуск сервера и менеджер зависимостей (управление библиотеками и плагинами) работают напрямую из интерфейса редактора.
       
      И многое другое...
       
      И самое главное: проект будет с открытым исходным кодом под лицензией GPLv3!
      Следите за новостями о выпуске в репозитории: https://github.com/daniilkorochansky/spawn
    • KodBi
      От KodBi
      шапка
      по одиночке работают
      нужны оба