sKeLeT
Изучающий
- Регистрация
- 11 Июн 2011
- Сообщения
- 421
- Лучшие ответы
- 0
- Репутация
- 102
Spawn in hospital | Спавн в больнице
- Добрый день пользователи Pawno-info.Ru.
- Сейчас я Вам расскажу, как сделать спавн, после смерти/убийства в госпитале/больнице.
- Не забывайте, это для GF.(вырезка SA)
1. Убираем:
- И в onplayerconnect'е убираем:
2. Ко всем new, добавляем:
3. В OnPlayerConnect добавляем:
4. Ищем public/stock SetPlayerSpawn и видим там:
- Выше написанное, заменяем этим:
5. Находим if(newstate == PLAYER_STATE_WASTED) и сразу после этого:
- Вставляем:
6. Затем добавляем ко всем forward's:
- И сразу добавляем public:
7. Добавляем к enum pInfo:
- Далее идет смотря какая у Вас рега(на Dini или mxINI).
- В OnPlayerConnect добавляем:
- В OnPlayerRegister добавляем:
- В OnPlayerUpdate добавляем:
- В OnPlayerLogin добавляем:
8. В паблике OtherTimer ищите это:
- И заменяйте этим:
9. Добавляем stock:
- Спасибо за внимание.
- Будут ошибки пишите, но я проверял и все вроде работает.
- Не забывайте указывать свои координаты.
- Мой скайп: lucky_drug.
- Кому не жалко +?
- Добрый день пользователи Pawno-info.Ru.
- Сейчас я Вам расскажу, как сделать спавн, после смерти/убийства в госпитале/больнице.
- Не забывайте, это для GF.(вырезка SA)
1. Убираем:
PHP:
new MedicTime[MAX_PLAYERS];
new NeedMedicTime[MAX_PLAYERS];
PHP:
MedicTime[playerid] = 0; NeedMedicTime[playerid] = 0;
PHP:
new Hospital[MAX_PLAYERS];
PHP:
Hospital[playerid] = 0;
PHP:
if(MedicBill[playerid] == 1 && PlayerInfo[playerid][pJailed] == 0 && PlayerPaintballing[playerid] == 0)
{
new string[256];
new cut = deathcost; //PlayerInfo[playerid][pLevel]*deathcost;
GivePlayerMoney(playerid, -cut);
format(string, sizeof(string), "DOC: Счёт за ваше медицинское обслуживание равен $%d, Приятного дня.", cut);
SendClientMessage(playerid, TEAM_CYAN_COLOR, string);
MedicBill[playerid] = 0;
MedicTime[playerid] = 0;
NeedMedicTime[playerid] = 0;
PlayerInfo[playerid][pDeaths] += 1;
SetPlayerHealth(playerid, 25.0);
/*SetPlayerInterior(playerid, 5);
rand = random(sizeof(gMedicSpawns));
SetPlayerPos(playerid, gMedicSpawns[rand][0], gMedicSpawns[rand][1], gMedicSpawns[rand][2]); // Warp the player
SetPlayerFacingAngle(playerid, 270.0);
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~y~You are recovering from your ~r~wounds~y~...", 35000, 3);
MedicTime[playerid] = 1;
if(PlayerInfo[playerid][pDonateRank] > 0)
{
NeedMedicTime[playerid] = 30;
}
else
{
NeedMedicTime[playerid] = 60;
}
PlayerPlaySound(playerid, 1062, 0.0, 0.0, 0.0);
return 1;*/
}
PHP:
if(Hospital[playerid] == 1 || PlayerInfo[playerid][pNeedTime] > 0 && PlayerInfo[playerid][pJailed] == 0)
{
ResetPlayerWeapons(playerid);
MedicBill[playerid] = 0;
Hospital[playerid] = 2;
PlayerInfo[playerid][pMedicTime] = 0;
PlayerInfo[playerid][pNeedTime] = 0;
SetPlayerPos(playerid, 1157.5624,-1317.6317,15.0851 ); // координаты Ваши
SetPlayerFacingAngle(playerid, 180.0);
GameTextForPlayer(playerid, FixText("~n~~n~~n~~n~~n~~n~~n~~y~вы были положены в больницу~n~ожидайте выздоровления..."), 15000, 3);
PlayerInfo[playerid][pMedicTime] = 1;
if(PlayerInfo[playerid][pDonateRank] > 0)
{
PlayerInfo[playerid][pNeedTime] = 60;
SendClientMessage(playerid, COLOR_LIGHTRED, "Доктор: Вам повезло, уважаемый. Думаю вы тут ненадолго.");
}
else
{
PlayerInfo[playerid][pNeedTime] = 120;
SendClientMessage(playerid, COLOR_LIGHTRED, "Доктор: Как вас так угораздило! Ну что ж, приступим к процедурам!");
}
PlayerPlaySound(playerid, 1062, 0.0, 0.0, 0.0);
return 1;
}
PHP:
if(count == 1)
{
GivePlayerMoney(playerid, - price);
PlayerInfo[playerid][pWantedDeaths] += 1;
PlayerInfo[playerid][pJailed] = 1;
PlayerInfo[playerid][pJailTime] = (WantedLevel[playerid])*(600);
format(string, sizeof(string), "* Вы находитесь в Тюрьме %d Секунды и теряете $%d и из-за побега можете быть застреленным Офицером.", PlayerInfo[playerid][pJailTime], price);
SendClientMessage(playerid, COLOR_LIGHTRED, string);
WantedPoints[playerid] = 0;
WantedLevel[playerid] = 0;
}
}
PHP:
new randdeath = random(10);
if(randdeath > 0 && randdeath < 3)
{
// PlayerInfo[playerid][pRPD] = 1;
EmptyMessages(playerid, 50);
SendClientMessage(playerid, COLOR_LIGHTRED, "Вы находитесь в критическом состоянии...");
EmptyMessages(playerid, 5);
Hospital[playerid] = 1;
}
else
{
EmptyMessages(playerid, 50);
SendClientMessage(playerid, COLOR_LIGHTRED, "Вам повезло и вы остались в живых...");
EmptyMessages(playerid, 5);
Hospital[playerid] = 1;
}
PHP:
forward EmptyMessages(playerid, count);
PHP:
public EmptyMessages(playerid, count){
for (new i = 0; i < count; i++){SendClientMessage(playerid, 0, "\n");}
}
PHP:
pMedicTime,
pNeedTime,
- В OnPlayerConnect добавляем:
PHP:
PlayerInfo[playerid][pMedicTime] = 0;
PlayerInfo[playerid][pNeedTime] = 0;
PHP:
format(var, 32, "MedicTime=%d\n",PlayerInfo[playerid][pMedicTime]);fwrite(hFile, var);
format(var, 32, "NeedTime=%d\n",PlayerInfo[playerid][pNeedTime]);fwrite(hFile, var);
PHP:
format(var, 32, "MedicTime=%d\n",PlayerInfo[playerid][pMedicTime]);fwrite(hFile, var);
format(var, 32, "NeedTime=%d\n",PlayerInfo[playerid][pNeedTime]);fwrite(hFile, var);
PHP:
if( strcmp( key , "MedicTime" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMedicTime] = strval( val ); }
if( strcmp( key , "NeedTime" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pNeedTime] = strval( val ); }
PHP:
if(MedicTime[i] > 0)
{
if(MedicTime[i] == 3)
{
SetPlayerInterior(i, 5);
new Float:X, Float:Y, Float:Z;
GetPlayerPos(i, X,Y,Z);
SetPlayerCameraPos(i, X + 3, Y, Z);
SetPlayerCameraLookAt(i,X,Y,Z);
}
MedicTime[i] ++;
if(MedicTime[i] >= NeedMedicTime[i])
{
new cut = deathcost; //PlayerInfo[playerid][pLevel]*deathcost;
GivePlayerMoney(i, -cut);
format(string, sizeof(string), "DOC: Твой врач забрал чаевые в размере: $%d, Приятного дня.", cut);
SendClientMessage(i, TEAM_CYAN_COLOR, string);
TogglePlayerControllable(i, 1);
MedicBill[i] = 0;
MedicTime[i] = 0;
NeedMedicTime[i] = 0;
PlayerInfo[i][pDeaths] += 1;
PlayerFixRadio(i);
SpawnPlayer(i);
}
}
PHP:
if(PlayerInfo[i][pMedicTime] > 0)
{
PlayerInfo[i][pMedicTime] ++;
if(PlayerInfo[i][pMedicTime] >= PlayerInfo[i][pNeedTime])
{
new cut = PlayerInfo[i][pLevel]*deathcost;
GivePlayerMoney(i, -cut);
format(string, sizeof(string), "* Ваше лечение обошлось вам в %d$. Будте осторожны!", cut);
SendClientMessage(i, COLOR_LIGHTRED, string );
PlayerPlayMusic(i);
Hospital[i] = 0;
MedicBill[i] = 0;
PlayerInfo[i][pNeedTime] = 0;
PlayerInfo[i][pMedicTime] = 0;
PlayerInfo[i][pDeaths] += 1;
PlayerFixRadio(i);
SetPlayerToTeamColor(i);
}
}
PHP:
stock FixText(string[]) {
new result[256];
for(new i=0; i < 256; i++) {
switch(string[i]) {
case 'а':result[i] = 'a';
case 'А':result[i] = 'A';
case 'б':result[i] = '—';
case 'Б':result[i] = 'Ђ';
case 'в':result[i] = 'ў';
case 'В':result[i] = '‹';
case 'г':result[i] = '™';
case 'Г':result[i] = '‚';
case 'д':result[i] = 'љ';
case 'Д':result[i] = 'ѓ';
case 'е':result[i] = 'e';
case 'Е':result[i] = 'E';
case 'ё':result[i] = 'e';
case 'Ё':result[i] = 'E';
case 'ж':result[i] = '›';
case 'Ж':result[i] = '„';
case 'з':result[i] = 'џ';
case 'З':result[i] = '€';
case 'и':result[i] = 'њ';
case 'И':result[i] = '…';
case 'й':result[i] = 'њ';
case 'Й':result[i] = '…';
case 'к':result[i] = 'k';
case 'К':result[i] = 'K';
case 'л':result[i] = 'ћ';
case 'Л':result[i] = '‡';
case 'м':result[i] = 'Ї';
case 'М':result[i] = 'M';
case 'н':result[i] = '®';
case 'Н':result[i] = '*';
case 'о':result[i] = 'o';
case 'О':result[i] = 'O';
case 'п':result[i] = 'Ј';
case 'П':result[i] = 'Њ';
case 'р':result[i] = 'p';
case 'Р':result[i] = 'P';
case 'с':result[i] = 'c';
case 'С':result[i] = 'C';
case 'т':result[i] = '¦';
case 'Т':result[i] = 'Џ';
case 'у':result[i] = 'y';
case 'У':result[i] = 'Y';
case 'ф':result[i] = '';
case 'Ф':result[i] = 'Ѓ';
case 'х':result[i] = 'x';
case 'Х':result[i] = 'X';
case 'ц':result[i] = '*';
case 'Ц':result[i] = '‰';
case 'ч':result[i] = '¤';
case 'Ч':result[i] = 'Ќ';
case 'ш':result[i] = 'Ґ';
case 'Ш':result[i] = 'Ћ';
case 'щ':result[i] = 'Ў';
case 'Щ':result[i] = 'Љ';
case 'ь':result[i] = '©';
case 'Ь':result[i] = '’';
case 'ъ':result[i] = 'ђ';
case 'Ъ':result[i] = '§';
case 'ы':result[i] = 'Ё';
case 'Ы':result[i] = '‘';
case 'э':result[i] = 'Є';
case 'Э':result[i] = '“';
case 'ю':result[i] = '«';
case 'Ю':result[i] = '”';
case 'я':result[i] = '¬';
case 'Я':result[i] = '•';
default:result[i]=string[i];
}
}
return result;
}
- Будут ошибки пишите, но я проверял и все вроде работает.
- Не забывайте указывать свои координаты.
- Мой скайп: lucky_drug.
- Кому не жалко +?
Последнее редактирование: