19:02
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
Сохранение позиций игрока
MckenzyДата: Пятница, 06.01.2012, 00:48 | Сообщение # 1
Советчик
Группа: I'm V.I.P.
Сообщений: 1212
Награды: 130
Город: Ярославль
Репутация: 2125
Замечания: 80%
Статус:
Суть проблемы в том, что как бы я не пробовал, на нужную позицию игрок не спавнится. Сейчас все подробно объясню, дабы раскрыть суть проблемы.
Вот сохранение позиций, использую mxINI:
Code

В дисконнекте:
    new pl[MAX_PLAYER_NAME];
    new str[256];
    new Float:X,Float:Y,Float:Z;
    GetPlayerName(playerid,pl,MAX_PLAYER_NAME);
    GetPlayerPos(playerid,X,Y,Z);
    format(str,sizeof(str),"/pos/%s.ini",pl);
    new f = ini_createFile (str);
    if(f < 0)
     {
      f = ini_openFile(str);
     }
    if(f >= 0)
     {
      new Float:PosX = X;
      new Float:PosY = Y;
      new Float:PosZ = Z;
      ini_setFloat(f,"X",PosX);
      ini_setFloat(f,"Y",PosY);
      ini_setFloat(f,"Z",PosZ);
      ini_closeFile(f);
     }


Code
public OnPlayerSpawn(playerid)
{
       new X,Y,Z;
    new pl[MAX_PLAYER_NAME];
    new str[256];
    format(str,sizeof(str),"/pos/%s.ini",pl);
    new f = ini_openFile(str);
    new Float:PosX = X;
    new Float:PosY = Y;
    new Float:PosZ = Z;

    ini_getFloat(f,"X",PosX);
    ini_getFloat(f,"Y",PosY);
    ini_getFloat(f,"Z",PosZ);
    ini_closeFile(f);
    SetPlayerPos(playerid,X,Y,Z);
    SpawnPlayer(playerid);
    SetCameraBehindPlayer(playerid);
    return 1;

Тут думаю все верно. Авторизацию/регистрацию поставил в public OnPlayerRequestClass. Проблема в том, что функция SpawnPlayer спавнит игрока в заданных координатах, которые находились в OnGameModeInit(), оттуда я их соответственно удалил. Что делать?



Сообщение отредактировал Mckenzy - Пятница, 06.01.2012, 02:29
ВеликсДата: Пятница, 06.01.2012, 11:08 | Сообщение # 2
Мастер джэдай
Группа: Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус:
Code
public OnPlayerSpawn(playerid)  
{  
     new pl[MAX_PLAYER_NAME];  
     new str[256];  
     format(str,sizeof(str),"/pos/%s.ini",pl);  
     new f = ini_openFile(str);  
     new Float:PosX = X;  
     new Float:PosY = Y;  
     new Float:PosZ = Z;  

     ini_getFloat(f,"X",PosX);  
     ini_getFloat(f,"Y",PosY);  
     ini_getFloat(f,"Z",PosZ);  
     ini_closeFile(f);  
     SetPlayerPos(playerid,PosX,PosY,PosZ);  
     SetCameraBehindPlayer(playerid);  
     return 1;
}

Хоть немного вдумывайся в то, что пишешь...



[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]
MckenzyДата: Пятница, 06.01.2012, 15:51 | Сообщение # 3
Советчик
Группа: I'm V.I.P.
Сообщений: 1212
Награды: 130
Город: Ярославль
Репутация: 2125
Замечания: 80%
Статус:
Quote (velix)
Хоть немного вдумывайся в то, что пишешь...

А что там не так??
Ищем файл, открываем, читаем координаты и спавним по ним.

ВеликсДата: Пятница, 06.01.2012, 15:57 | Сообщение # 4
Мастер джэдай
Группа: Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус:
Quote (Mckenzy)
А что там не так?? Ищем файл, открываем, читаем координаты и спавним по ним.

Советую еще раз посмотреть алгоритм действий записи данных в переменную.

PS - Мой код тоже неверный, ибо я сразу до конца не изучил алгоритм.



[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]


Сообщение отредактировал velix - Пятница, 06.01.2012, 15:59
DiSEДата: Понедельник, 09.01.2012, 20:55 | Сообщение # 5
Группа: I'm V.I.P.
Сообщений: 1759
Награды: 23
Город: Уфа
Репутация: 337
Замечания: 80%
Статус:
Mckenzy, зачем на два форума выкладывать свою проблему?
Fus1Дата: Понедельник, 09.01.2012, 22:04 | Сообщение # 6
Группа: Продвинутые
Сообщений: 2704
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус:
Quote (DiSE)
Mckenzy, зачем на два форума выкладывать свою проблему?

Чтобы найти разные решения и быстрее решить проблему ?

  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua