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

 



 
        
[CLEO] HUDFIX (0)
MyxaChannel 30.11.2016 18:03
GM Car для SAMP (1)
MyxaChannel 30.11.2016 18:00
 





Рекомендуем:
Добавить IP: 88.212.220.148:22003





Последние Файлы 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
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
Скачать GTA SAMP 0.3.7 - Кл... 20.07.2015
Страница 1 из 11
Модератор форума: AXE, Weddew 
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Сохранение позиций игрока
Сохранение позиций игрока
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
Мастер джэдай
Группа: Модераторы
Сообщений: 3921
Награды: 287
Город: Мухосранск
Репутация: 8404
Замечания: 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
Мастер джэдай
Группа: Модераторы
Сообщений: 3921
Награды: 287
Город: Мухосранск
Репутация: 8404
Замечания: 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
Группа: Продвинутые
Сообщений: 2705
Награды: 121
Город: Melbourne Australia
Репутация: 3103
Замечания: 0%
Статус:
Quote (DiSE)
Mckenzy, зачем на два форума выкладывать свою проблему?

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

Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Сохранение позиций игрока
Страница 1 из 11
Поиск:





 


 


 
Хостинг от uCoz SAMP-RUS.COM