• 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

Возможно координаты будут в паблике "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

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

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


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

Сразу поспешил, у меня появилось две ошибки 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

@yan2348 вместо playerid используйте i, которая передается в функцию. 

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


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

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

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

    • Mister Odin
      От Mister Odin
       
      new
       g_teleport_list[39][E_TELEPORT_LIST] = {  {"Спавн пгт.Батырево", 1802.3612, 2508.4824, 15.8887},  {"Спавн г.Арзамас", -113.5887, 977.7222, 12.0346},     {"Спавн г.Южный", 2744.2770, -2446.7246, 21.8988},     {"Центральный банк", 1852.020385,2040.791381,15.892713},  {"Рублёвка", -837.7783, 888.6161, 12.7232},  {"Казино", 1332.4252, 2358.7014, 17.6641},  {"Битва за контейнеры", 614.5167, 1722.3566, 12.0709},  {"Автосалон низкого класса", 2493.9616, -722.9544, 12.3315},  {"Автосалон среднего класса", 1407.7449, 455.4801, 13.1630},  {"Автосалон высокого класса", -14.0637, 2614.5664, 10.9892},   {"Мотосалон Harley Davidson", 785.720153, 750.465087, 12.000024},  {"Автошкола", 1909.174438,2227.679687,15.708162},  {"Военкомат", 1916.778564,2302.411376,15.574637},  {"Правительство области", -139.140975,593.789611,12.145712},  {"Отдел полиции №1 (ГИБДД)", 1906.805786,-2234.382812,11.257631},  {"Отдел полиции №2 (УМВД)", 2581.309326,-2416.139892,21.960090},  {"Отдел ФСБ", 1823.904663,2095.636718,15.848405},  {"Городская больница г.Арзамас", -285.797210,581.851562,12.120290},   {"СМИ", -317.708038,821.221679,13.051450},  {"Воинская часть", 1703.197265,1678.025878,15.279437},  {"Арзамасская ОПГ", 438.705322,1046.505126,12.002637},  {"Батыревская ОПГ", 1941.203857,2161.006591,15.705187},  {"Лыткаринская ОПГ", -2346.002441,75.257041,21.002962},  {"Шахта", 2381.5727, 1726.4451, -2.1506},  {"Завод", -1062.6697, 2204.1894, 38.0964},  {"Инкосация", 1864.1374, 2011.7136, 15.8546},  {"Транспортная Компания", 2362.1115, 1972.5627, 15.5530},  {"База механиков", 1840.918090,-118.025146,15.695312},  {"Курьерская служба доставки", 2764.509765,-2396.882568,21.890625},  {"Аренда автобуса(Южный)", 2771.041992,-2454.780761,21.845964},  {"Аренда автобуса(Арзамас)", -127.487670,943.652648,12.142824},   {"Аренда автобуса(Батырево)", 1798.986328,2529.591552,15.664262},  {"Гоночная трасса", -1568.7784, 1611.8305, 36.3971},  {"Дом на горе", -789.5397, -456.7479, 741.1422},  {"СТО и тюнинг-ателье", 1856.1375, -122.3266, 15.6888},  {"Аренда транспорта пгт.Батырево", 1763.641723,2255.673339,15.865348},  {"Аренда транспорта г.Арзамас", -36.923530,1360.673583,12.002090},  {"Аренда транспорта г.Южный", 1966.599975,-2603.943603,10.820312},  {"Тайный интерьер в Лыткарино", -2424.5818, 2846.3291, 40.7908} };