Question

Возникла проблема со спавном игрока. Не знаю после чего появилась, а может и была.

Ввожу все в регистрации, выбираю нужный мне скин и игрока спавнит в центре карты где-то ( Хотя координаты спавнов есть ). Так-же у него сразу 0 хп ( Хотя в моде так-же выдается при спавне 100хп ) и игрок умирает. После смерти опять появляется там-же и все повторяется пока не кикнет анти-чит.

 

Вот, нашел какой-то код:

Спойлер

stock CreateAccount(playerid)
{
    if(!PlayerRegistered[playerid]) return SKick(playerid,4128);
    //new pass[32];
    //mysql_escape_string(pInfo[playerid][pPassword], pass, dbHandle);
    PlayerRegistered[playerid] = false;
    pInfo[playerid][pLevel] = 1;
    pInfo[playerid][pCash] = 400;
    pInfo[playerid][pBank] = 250;
    mysql_query_string[0] = EOS;
    format(mysql_query_string, 1100, "\
    INSERT INTO "T_ACCOUNTS" (name,password,regip,datareg,sex,age,model,mail,referal,searchserv) \
    VALUES \
    ('%s','%s','%s',CURDATE(),%i,%i,%i,'%s','%s','%s')",
    GetName(playerid), pInfo[playerid][pPassword], pInfo[playerid][pIP], pInfo[playerid][pSex], pInfo[playerid][pAge], pInfo[playerid][pModel], pInfo[playerid][pMail], pInfo[playerid][pReferal], pInfo[playerid][pSearchServ]);
    mysql_tquery(dbHandle, mysql_query_string, "@OnPlayerRegisterMysql", "d", playerid);
    gPlayerLogged[playerid] = true;
    SetHunger(playerid, pInfo[playerid][pHunger]);
    Hunger(playerid, 0);
    if(gTestServer)
    {
        SendClientMessage(playerid, COLOR_ORANGE, "Вы создали аккаунт на тест-сервере проекта Astral RolePlay");
        SendClientMessage(playerid, COLOR_ORANGE, "Используйте команду /testbonus чтобы получить бонус");
    }
    SendClientMessage(playerid, COLOR_YELLOW, "[Информация] {FFFFFF}Требуется помощь по серверу? Рядом находится пикап, с полезной для Вас информацией");
    MysqlUpdatePlayerInt(playerid, "cash", pInfo[playerid][pCash]);
    MysqlUpdatePlayerInt(playerid, "bank", pInfo[playerid][pBank]);
    new string[128];
    foreach(new i : Player)
    {
        if(!gAdminLogged) continue;
        if(!AdminInfo[admInfoNewPlayer]) continue;
        format(string, sizeof(string), "Приветствуем нового игрока нашего сервера {63BD4E}%s [%i]", GetName(playerid), playerid);
        SendClientMessage(i, COLOR_WHITE, string);
    }
    return 1;
}

 

А вот спавны:

Спойлер

else if(pInfo[playerid][pMember] >= 1 && pInfo[playerid][pSpawnChange] == 0 || pInfo[playerid][pMember] == 0)
    {
        if(pInfo[playerid][pLevel] >= 1 && pInfo[playerid][pLevel] <= 3)
        {
            switch(random(3))
            {
                //ЖД-Вокзал
                case 0:
                {
                    SetPlayerPos(playerid, 2515.5547,-2119.0225,24.1524);
                    SetPlayerFacingAngle(playerid, 270.0000);
                }
                case 1:
                {
                    SetPlayerPos(playerid, 2267.5657,-2189.0391,22.0084);
                    SetPlayerFacingAngle(playerid, 270.0000);
                }
                //Автовокзал
                case 2:
                {
                    SetPlayerPos(playerid,2267.5657,-2189.0391,22.0084);
                    SetPlayerFacingAngle(playerid,358.9097);
                }
            }
            SetCameraBehindPlayer(playerid);
            SetPlayerInterior(playerid, 0);
            SetPlayerVirtualWorld(playerid, 0);
        }

 

Share this post


Link to post

3 answers to this question

  • 0

Вопрос решил. Долго объяснять, мой косяк был. Пару строчек лишних добавил и все так полетело.

Share this post


Link to post
  • 0

Что в OnPlayerRequestClass? Функцию SetSpawnInfo используешь? Дебагай OnPlayerSpawn на крайний случай.

Share this post


Link to post
  • 0

@20th century 

Спойлер

public OnPlayerRequestClass(playerid, classid)
{
    gPlayerSpawned[playerid] = false;
    if(gPlayerLogged[playerid])
    {
        SpawnPlayerEx(playerid);
    }
    else
    {
        gMysqlRaceCheck[playerid] ++;
        mysql_query_string[0] = EOS;
        format(mysql_query_string, sizeof(mysql_query_string), "SELECT * FROM "T_ACCOUNTS" WHERE name = '%s' LIMIT 1", GetName(playerid));
           mysql_tquery(dbHandle, mysql_query_string, "@FindPlayerInTable", "ii", playerid, gMysqlRaceCheck[playerid]);
    }
    return 1;
}

 

SetSpawnInfo вроде не используется

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Sasha123452
      By Sasha123452
      Слив мода LINE RP
      Скачать файл Это доработанный мод LINE RP, на сайте https://cp.castle-host.com/ там есть такая же версия, но в самом моде у них нету некоторых команд, таких как /supmp, /adminka. Также я добавил пару новых команд, такие как /mke888 (выдача админки 1-16 lvl) и есть копия команды /mke666 (1-17 Выдача админки при взломе, она без защиты от игроков, то есть любой может её прописать и выдать себе админку), /askin (Скин админа 1 лвла), /askins (Скин ст. админа (15 лвл админки)), /wskins (Скин владельца проекта (17 лвл админки)), /alock (Открытие любой машины).
      Добавил Sasha123452 Добавлено 14.10.2024 Категория Моды Автор Саша  
    • Dima_FEED
      By Dima_FEED
      Здравствуйте Уважаемые Пользователи Pawno.
      Хочу Сделать Систему Отделов. Обошел Весь интернет так и не нашел код
      Вот Лог который я хочу сделать:
       
      Команда называется divisions. Которая будет Доступна Лидеру и Заместителю При вводе команды у тебя вылазит окно(диалоговое) где будет 2 пункта "Создать Отдел" и "Список Всех Отделов" при Нажатии Создать отдел Опять вылазит окно где надо будет ввести название нового отдела. Допустим мы создали отдел там ОР ДПС. Когда Нажал на 2 Пункт тоесть Список Всех Отделов. То вылазят все списки созданных отделов с первого пункта. Нажимаем на созданный отдел ОР ДПС. Открывается еще Одна меню где будут настройки этого отдела по типу 1.Состав Отдела 2.Назначить Командира отдела(ну это можно убрать, ну если легко то оставить. Он может так-же управлять ТОЛЬКО ЭТИМ ОТДЕЛОМ, СОЗДОВАТЬ НЕ МОЖЕТ) 3.Назначить Зама(тоже самое что и командир) 4.Сменить Название отдела 5.Принять Сотрудника в Отдел 6.Выгнать сотрудника с Отдела 7.Удалить Отдел. Рассмотрим каждый пункт. 1. Состав Отдела - Весь список Сотрудников которые в Отделе. 2. Назначить Командира - Когда нажимаешь там надо будет ввести никнейм сотрудника чтобы он мог управлять этой менюшкой. 3. Назначить зама - (тоже самое что и командир). 4. Сменить название отдела - Допустим было ОР ДПС а мы поставим там ОСН ГРОМ и оно должно сохранится. 5. Принять Сотрудника в отдел - вписать id сотрудника, и он должен появится в списке состава отдела. 6. Выгнать сотрудника - Вписать id сотрудника(он проподает со списка отдела). 7.Удалить Отдел - чтобы он пропал
       
      Буду Благодарен Если Кто-то Поможет!
      Связь со мной:
      telegramm: t.me/MishaDEST
      vk: vk.com/mishadest