Перейти к содержанию
Авторизация  
Sumrak

Возрождение в больнице

Рекомендуемые сообщения

Sumrak

Это моё первое готовое решение + оформлять темы я умею плохо так что...Пожалуй начнем.Ко всем дефайнам (#define) добавляем ещё один:

#define HOSPITAL_TIME 5 //5 - Кол-во минут в больнице

Ко всем new добавим ещё одну:

new HospitalTime[MAX_PLAYERS];

В public OnPlayerConnect( playerid ) добавляем обнуление переменной

HospitalTime[playerid] = 0;

Нам нужно загрузить оставшееся время нахождения в больнице, для этого в public OnPlayerLogin( playerid, password[] ) вставляем:1)Для тех, у кого загрузка на mxINI т.е загрузка уровня у них выглядит примерно так:

ini_getInteger(File, "Level", PlayerInfo[playerid][pLevel]);//Этот код вставлять НЕ надо!!!

Вставляем вот такую строку

ini_getInteger(File, "HospitalTime", HospitalTime[playerid]);

2)Для тех у кого НЕ на mxINI т.е загрузка уровня выглядит примерно так:

if( strcmp( key , "Level" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pLevel] = strval( val ); }

Вставляем следующую строку:

if( strcmp( key , "HospitalTime" , true ) == 0 ) { val = ini_GetValue( Data ); HospitalTime[playerid] = strval( val ); }

С загрузкой разобрались.Далее нам нужно сделать сохранение время проведения в больнице и для этого в public SavePlayer( playerid ) или public GF_OnPlayerUpdate( playerid ) (у всех поразному) добавляем следующее:У кого mxINI, а у кого не mxINI мы разобрались уже.1)Для тех, у кого mxINI:

ini_setInteger(File, "HospitalTime", HospitalTime[playerid]);

2)Для тех, у кого НЕ mxINI:

format(var, 32, "HospitalTime=%dn",HospitalTime[playerid]);fwrite(hFile, var);

С сохранением мы тоже разобрались.Теперь нам надо сделать так, чтобы после смерти игрок попадал в больницу, для этого вpublic OnPlayerDeath( playerid, killerid, reason ) добавим код отвечающий за так сказать "помещение" игрока в больницу:

if(killerid != INVALID_PLAYER_ID){if(!HospitalTime[playerid]){HospitalTime[playerid] = HOSPITAL_TIME * 60;SavePlayer(playerid);//SavePlayer замените на свою функцию сохранения}}

в public SetPlayerUnJail() добавим код отвечающий за "выписку" игрока из больницы.После if(IsPlayerConnected(i)) вставляем следующий код

if(HospitalTime[i] > 0){HospitalTime[i] --;if(!HospitalTime[i]){SendClientMessage(i, 0xBFC0C2FF,"Теперь ты здоров!");//Замените на свою функциюSetPlayerInterior(i, 0);//Замените на свою функциюSetPlayerVirtualWorld(i, 0);//Замените на свою функциюSetPlayerPos(i,2024.3229, -1404.7660, 17.2010);//Замените на свою функциюTogglePlayerControllable(i, true);//Замените на свою функциюSetPlayerHealth(i,100);}SavePlayer(i);//SavePlayer замените на свою функцию сохранения}

Теперь мы добавим функцию помещения игрока в больницу при спавне (если время проведения в больнице не окончено).В начало public OnPlayerSpawn( playerid ) добавим следующий код:

if(HospitalTime[playerid] > 0){SetPlayerInterior(playerid, 3);//Замените на свою функциюSetPlayerPos(playerid,338.4664,161.4294,1019.9844);//Замените на свою функциюSetPlayerVirtualWorld(playerid, 3);//Замените на свою функциюSetPlayerHealth(playerid, 100); //Замените на свою функциюTogglePlayerControllable(playerid, 0);//Замените на свою функциюApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);SendClientMessage(playerid, 0xFF6347AA, "Вы попали в больницу, отдыхайте.");//Замените на свою функциюSavePlayer(playerid);//SavePlayer замените на свою функцию сохраненияreturn true;}

Вот и все...Автор: Jekazzz

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


Ссылка на сообщение
Поделиться на другие сайты
Alexsandro

Збс!Проверю =)

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


Ссылка на сообщение
Поделиться на другие сайты
DrYou97

1)заключи в код

2)не в скрипты а в изучение павно!

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


Ссылка на сообщение
Поделиться на другие сайты
Гость Anonymous

1)заключи в код

2)не в скрипты а в изучение павно!

 

ИЗУЧЕНИЕ ПАВНО ????, И чё мы научились ??

Это готовое решение тоесть Правильно написал!

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


Ссылка на сообщение
Поделиться на другие сайты
Гость Anonymous

Автор "ТЕМЫ", В коды лучше возьми!

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


Ссылка на сообщение
Поделиться на другие сайты
DrYou97

я дурак http://forum.gs-games.ru/public/style_emoticons/default/sad.gif

Извеняюсь тогда.

Изменено пользователем DrYou97

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


Ссылка на сообщение
Поделиться на другие сайты
SHOROOP

Ага, а еще это готовое решение ulanzetz.

  • Like 2

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


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

  • Последние посетители   0 пользователей онлайн

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

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.