Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

OnPlayerDeath работа с кастомным скинов

Мар
35
32
Пользователь
Здравствуйте читатели и скриптеры. Мне нужна помощь по коду. Давайте объясню ситуацию: Если мы играем с компьютера на версии samp 0.3.7 r3, при смерти на сервере и с кастомным скином, и с самповским скинов появляемся в кастом инте госпиталя. А если мы играем с телефона, то если мы умираем с самповским скинов попадаем в больницу, а вот если в кастомном скине - появляемся на этом месте.
Версия сервера 0.3.7 R2, сервер на хостинге.
Пытался при смерти поставить любой самповский скинь, а после телепортации вернуть - не помогает. Сам public OnPlayerdeath работает, я проверял с помощью printf, но не телепортирует в больницу. Так же хочу подметить С ПК РАБОТАЕТ, С ТЕЛЕФОНА НЕТ!
Кто в этом шарит - помогите мне...
 
Мар
35
32
Пользователь
Код из моего мода OnPlayerDeath:

public OnPlayerDeath(playerid, killerid, reason)
{
#if defined debug_mode
printf("[DEBUG] [OnPlayerDeath] playerid:%d | killerid:%d | reason:%d", playerid, killerid, reason);
#endif

#if defined __anti_godmode
antigm_OnPlayerDeath(playerid, killerid, reason);
#endif

reset_player_weapon(playerid);

p_t_info[playerid][p_tp_immune_time] = 3;
p_t_info[playerid][p_gun_immune_time] = 8;
p_t_info[playerid][p_dialog] = -1;

StopAudioStreamForPlayer(playerid);

if(!GetPVarInt(playerid, "p_dead"))
{
if(IsPlayerToSquare(playerid, -891.3302, -2950.0190,2915.9917,560.3257)) SetPVarInt(playerid, "p_dead", 1);
else if(IsPlayerToSquare(playerid,-2929.6589,-2889.1660,-1326.9077,1493.1770)) SetPVarInt(playerid, "p_dead", 2);
else SetPVarInt(playerid, "p_dead", 3);
if(army_player(playerid)) SetPVarInt(playerid, "p_dead", 4);
if(gang_player(playerid) && IsPlayerToSquare(playerid,1843.9275,-2205.1902,2960.9487,-954.5435)) SetPVarInt(playerid, "p_dead", 5);


if(GetPVarInt(playerid, "exam_vehicle")!= 0)
{
is_leave_exam_vehicle {playerid} = 0;
SendClientMessage(playerid, col_gray, ""c_orange_red"* "c_grey"Вы допустили грубые ошибки, экзамен провален.");
GameTextForPlayer(playerid, "~r~FAILED", 5000, 6);
new vehicle_id = GetPVarInt(playerid, "exam_vehicle");
DeletePVar(playerid, "exam_vehicle");
DeletePVar(playerid, "driving_cp");
DisablePlayerRaceCheckpoint(playerid);

SetPVarInt(playerid, "p_dead", GetVehicleModel(vehicle_id));
DestroyVehicle(vehicle_id);
}
}
if(GetPVarInt(playerid, "filling_timer")!= 0)KillTimer(GetPVarInt(playerid, "filling_timer")), DeletePVar(playerid, "filling_timer");
if(GetPVarInt(playerid,"Stol")) ExitBone(playerid);

if(GetPVarInt(playerid, "p_h_bed") > 0)
{
h_bed_toggled[GetPVarInt(playerid, "p_h_bed")-1][GetPlayerVirtualWorld(playerid)-1] = false;
DeletePVar(playerid, "p_h_bed");
}
if((gang_player(playerid)|| mafia_player(playerid)) && IsPlayerToSquare(playerid, 80.8047, 1762.5040, 390.7005, 2093.4778))
{
PlayerInfo[playerid][crim_ammo] = 0;
PlayerInfo[playerid][crim_guns] = 0;
SendClientMessage(playerid, col_gray, "* Перед отправкой в больницу солдаты изъяли у Вас патроны и оружие.");
}

if(GetPVarInt(playerid,"p_masked"))DeletePVar(playerid, "p_masked");

if(PlayerInfo[playerid][timejob])
{
give_money(playerid, PlayerInfo[playerid][salary]);
PlayerInfo[playerid][salary] = 0;
if(PlayerInfo[playerid][timejob] == job_porter || PlayerInfo[playerid][timejob] == job_forklift)
{
give_money(playerid, PlayerInfo[playerid][salary]);
insert_money_log(playerid, INVALID_PLAYER_ID, PlayerInfo[playerid][salary], "зп в порту");

SendClientMessage(playerid, col_white, ""c_green"* "c_white"Вы покинули территорию порта и завершили рабочую смену.");
new __t_string[72];
format(__t_string, sizeof(__t_string), ""c_green"* "c_white"Заработано: "c_green"%d$", PlayerInfo[playerid][salary]);
SendClientMessage(playerid, col_white, __t_string);

new pljob = PlayerInfo[playerid][timejob];

PlayerInfo[playerid][timejob] = 0;
PlayerInfo[playerid][salary] = 0;

if(is_fraction_duty {playerid} == 1)SetPlayerSkin(playerid, PlayerInfo[playerid][org_skin]);
else SetPlayerSkin(playerid, PlayerInfo[playerid][skin]);

hide_payment(playerid);
DisablePlayerCheckpoint(playerid);


if(pljob == job_forklift)
{
if(forklift_ptd[playerid] != PlayerText:-1)
{
PlayerTextDrawDestroy(playerid, forklift_ptd[playerid]);
TextDrawHideForPlayer(playerid, forklift_td);

forklift_ptd[playerid] = PlayerText:-1;
forklift_time[playerid] = -600;
}
new _v_id = player_rentcar[playerid];
player_rentcar[playerid] = INVALID_VEHICLE_ID;

SetVehicleToRespawn(_v_id);
if(GetPVarInt(playerid, "fork_object"))
{
DestroyDynamicObject(GetPVarInt(playerid, "fork_object"));
DeletePVar(playerid, "fork_object");
}
}
else if(pljob == job_porter)
{
if(IsPlayerAttachedObjectSlotUsed(playerid, 1)) RemovePlayerAttachedObject(playerid, 1);
ClearAnimations(playerid);
DeletePVar(playerid, "have_factory_box");
}

}
PlayerInfo[playerid][timejob] = job_none;
if(IsPlayerAttachedObjectSlotUsed(playerid, 0)) RemovePlayerAttachedObject(playerid, 0);
if(IsPlayerAttachedObjectSlotUsed(playerid, 1)) RemovePlayerAttachedObject(playerid, 1);
if(IsPlayerAttachedObjectSlotUsed(playerid, 2)) RemovePlayerAttachedObject(playerid, 2);
if(IsPlayerAttachedObjectSlotUsed(playerid, 3)) RemovePlayerAttachedObject(playerid, 3);
if(IsPlayerAttachedObjectSlotUsed(playerid, 4)) RemovePlayerAttachedObject(playerid, 4);
DisablePlayerCheckpoint(playerid);

}
if(td_db[playerid][1] != PlayerText:-1)
{
for(new j = 0; j < 4; j ++)
{
PlayerTextDrawDestroy(playerid, td_db[playerid][j]);
td_db[playerid][j] = PlayerText:-1;
}
}
if(GetPVarInt(playerid, "PlayerCuffed")> 0)
{
DeletePVar(playerid, "PlayerCuffed");
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
RemovePlayerAttachedObject(playerid, 1);
}
if(GetPVarInt(playerid, "PlayerTied")> 0)
{
DeletePVar(playerid, "PlayerTied");
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
}

is_ether {playerid} = 0; // отключаем эфир

if(quest_photographer_id[playerid] != -1)
EndJobPhotographer(playerid);
if(p_t_info[playerid][phone_id] != INVALID_PLAYER_ID)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
SetPlayerSpecialAction(p_t_info[playerid][phone_id], SPECIAL_ACTION_STOPUSECELLPHONE);
RemovePlayerAttachedObject(playerid, 2);
RemovePlayerAttachedObject(p_t_info[playerid][phone_id], 2);

SendClientMessage(p_t_info[playerid][phone_id], 0x940000FF, "Связь оборвалась...");
me_action(p_t_info[playerid][phone_id], "положил(а) трубку", 5.0);

p_t_info[p_t_info[playerid][phone_id]][phone_id] = INVALID_PLAYER_ID;
p_t_info[p_t_info[playerid][phone_id]][phone_caller] = 0;

p_t_info[playerid][phone_id] = INVALID_PLAYER_ID;
p_t_info[playerid][phone_caller] = 0;
}
if(GetPVarInt(playerid, "p_sm_used")!= 0)
{
CancelSelectTextDraw(playerid);
PlayerTextDrawDestroy(playerid, sm_ptd[playerid]);
sm_ptd[playerid] = PlayerText:INVALID_TEXT_DRAW;
for(new i = 0; i < 4; i ++)
{
TextDrawHideForPlayer(playerid, sm_td);
}
sm_used[GetPVarInt(playerid, "p_sm_used")-1] = false;
DeletePVar(playerid, "p_sm_used");
DeletePVar(playerid, "sm_bet");
}

if(GetPVarInt(playerid, "p_skin_shop") == 1)
{
DeletePVar(playerid, "skin_select_number");
DeletePVar(playerid, "p_skin_shop");

TogglePlayerControllable(playerid, true);
SetCameraBehindPlayer(playerid);
set_world(playerid, 0);

for(new i = 0; i < 19; i ++)
{
TextDrawHideForPlayer(playerid, td_skinshop);
}
CancelSelectTextDraw(playerid);
PlayerTextDrawDestroy(playerid, td_skinshop_price[playerid]);
td_skinshop_price[playerid] = PlayerText:-1;
SetPlayerSkin(playerid, PlayerInfo[playerid][skin]);
}

if(duel_opponent[playerid] != INVALID_PLAYER_ID)
{
new _text_string[144];
format(_text_string, sizeof(_text_string), ""c_green"* "c_white"Вы одержали победу над "c_green"%s"c_white" и выиграли ставку в размере "c_green"%d$", PlayerInfo[playerid][name], duel_price[playerid]);
SendClientMessage(duel_opponent[playerid], col_white, _text_string);

set_health(playerid, 100);
set_health(duel_opponent[playerid], 100);

give_money(duel_opponent[playerid], duel_price[playerid]*2);
insert_money_log(playerid, duel_opponent[playerid], duel_price[playerid], "дуэль");

SendClientMessage(playerid, col_white, ""c_green"* "c_white"Вы проиграли дуэль.");

if(PlayerInfo[duel_opponent[playerid]][jailed] > 0)
{
if(4 > PlayerInfo[duel_opponent[playerid]][jail] > 0)
{
new random_jail_pos = random(2);
set_pos(duel_opponent[playerid], jail_spawn[random_jail_pos][0],
jail_spawn[random_jail_pos][1],
jail_spawn[random_jail_pos][2],
jail_spawn[random_jail_pos][3],
1, PlayerInfo[duel_opponent[playerid]][jail]);
if(is_fraction_duty {duel_opponent[playerid]} == 1)SetPlayerSkin(duel_opponent[playerid], PlayerInfo[duel_opponent[playerid]][org_skin]), SetPlayerColor(duel_opponent[playerid], f_info[PlayerInfo[duel_opponent[playerid]][member] -1][f_radar_color]);
else SetPlayerSkin(duel_opponent[playerid], PlayerInfo[duel_opponent[playerid]][skin]);
}
else if(PlayerInfo[duel_opponent[playerid]][jail] == 10)
{
set_pos(duel_opponent[playerid], 217.9972, 3082.9668, 658.7508, 268.2277, 2, 15);

if(is_fraction_duty {duel_opponent[playerid]} == 1)SetPlayerSkin(duel_opponent[playerid], PlayerInfo[duel_opponent[playerid]][org_skin]), SetPlayerColor(duel_opponent[playerid], f_info[PlayerInfo[duel_opponent[playerid]][member] -1][f_radar_color]);
else SetPlayerSkin(duel_opponent[playerid], PlayerInfo[duel_opponent[playerid]][skin]);
}
}
else set_pos(duel_opponent[playerid], 2057.3447,-1898.6816,13.5538, 354.7014, 0, 0);
SetPVarInt(duel_opponent[playerid], "tp_area_used", 1);


reset_player_weapon(duel_opponent[playerid]);
for(new i = 0; i < 12; i ++)
{
give_weapon(duel_opponent[playerid], duel_guns[duel_opponent[playerid]][0], duel_guns[duel_opponent[playerid]][1]);
}
duel_price[playerid] = 0;
duel_price[duel_opponent[playerid]] = 0;
duel_opponent[duel_opponent[playerid]] = INVALID_PLAYER_ID;
duel_opponent[playerid] = INVALID_PLAYER_ID;

SetPVarInt(playerid, "p_dead", 322);
}
if(GetPVarInt(playerid, "fork_object"))
{
DestroyDynamicObject(GetPVarInt(playerid, "fork_object"));
DeletePVar(playerid, "fork_object");
}
SendClientMessage(playerid, 0xFF0000FF, "!!! OnPlayerDeath Смерть !!!");
return 1;
}




Код тп в госпиталь (комментарии были сделаны временно. Так как с ними/без них ситуация одна и та же)

new Float:hospital_spawn[2][4]=
{
{1479.0599, 1755.7018, 1746.6821, 191.7619},
{1468.4417, 1758.0919, 1746.6821, 93.0609}
};


public OnPlayerDeath
//new customskindeath = GetPlayerSkin(playerid);
SetPlayerSkin(playerid, 1);

new random_h_pos = random(2);
set_pos(playerid, hospital_spawn[random_h_pos][0],
hospital_spawn[random_h_pos][1],
hospital_spawn[random_h_pos][2],
hospital_spawn[random_h_pos][3],
0, PlayerInfo[playerid][hospital]);
if(random_h_pos == 0)
{
SetActorVirtualWorld(playerid, 1);
SetPlayerInterior(playerid, 1);
}
else if(random_h_pos == 1)
{
SetActorVirtualWorld(playerid, 2);
SetPlayerInterior(playerid, 1);
}

//SetPlayerSkin(playerid, customskindeath);
set_health(playerid, 15.0);

if(is_fraction_duty {playerid} == 1)SetPlayerSkin(playerid, PlayerInfo[playerid][org_skin]), SetPlayerColor(playerid, f_info[PlayerInfo[playerid][member] -1][f_radar_color]);
else SetPlayerSkin(playerid, PlayerInfo[playerid][skin]);

SendClientMessage(playerid, col_gray, ""c_orange_red"* "c_grey"Вам придется пройти курс лечения или вылечиться у медика. Займите койку в палате для более эффективного лечения.");
return 1;
}
 
Фев
28
0
Пользователь
Попробуй сделать телепорт через переменную в OnPlayerSpawn. Скорее всего, после смерти на Android происходит пересинхронизация клиента, и позиция перезаписывается, поэтому телепорт из OnPlayerDeath не срабатывает.
 
Осуждён за гениальность или проклят за талант?
Окт
239
647
Активный
OFFTOP

к слову, у тебя вирт мир ставится на актора, а не игрока



SetPlayerVirtualWorld:
// у тебя
SetActorVirtualWorld(playerid, 1);

// для игроков
SetPlayerVirtualWorld(playerid, 1);
 
Мар
35
32
Пользователь
public OnPlayerSpawn(playerid)
{
if(Timer_UpdateSkin[playerid] != 0) {
KillTimer(Timer_UpdateSkin[playerid]);
}

Timer_UpdateSkin[playerid] = SetTimerEx("UpdateSkinShopPrice", 600000, true, "i", playerid);

setLogo(playerid, -30.0, 301.0, "onlinerplogo:texas_blue_orp"); // âøèòûé ëîãîòèï UNITLINE RP
#if defined __anti_godmode
antigm_OnPlayerSpawn(playerid);
#endif

if(vk_checking {playerid} == 1)
{
show_dialog(playerid, d_vk_entrance, DIALOG_STYLE_INPUT, ""c_server"Êîä áåçîïàñíîñòè", ""c_white"Ââåäèòå êîä áåçîïàñíîñòè, êîòîðûé áûë îòïðàâëåí Âàì Âêîíòàêòå:", "Âîéòè", "Îòìåíà");
}
else if(google_checking {playerid} == 1)
{
show_dialog(playerid, d_googleauth_entrance, DIALOG_STYLE_INPUT, ""c_server"Google Auth", ""c_white"Ââåäèòå êîä èç ïðèëîæåíèÿ:", "Âõîä", "Âûéòè");
}
#if defined debug_mode
printf("[DEBUG] [OnPlayerSpawn] playerid:%d", playerid);
#endif
set_health(playerid, 100);
SetPlayerScore(playerid, PlayerInfo[playerid][level]);
SetPlayerSkills(playerid);
p_t_info[playerid][p_tp_immune_time] = 4;
p_t_info[playerid][p_gun_immune_time] = 8;


if(anim_loaded {playerid} == 0)
{
PreloadAnimLib(playerid,"BASEBALL");
PreloadAnimLib(playerid,"RAPPING");
PreloadAnimLib(playerid,"SHOP");
PreloadAnimLib(playerid,"BEACH");
PreloadAnimLib(playerid,"SMOKING");
PreloadAnimLib(playerid,"FOOD");
PreloadAnimLib(playerid,"ON_LOOKERS");
PreloadAnimLib(playerid,"DEALER");
PreloadAnimLib(playerid,"CRACK");
PreloadAnimLib(playerid,"CARRY");
PreloadAnimLib(playerid,"COP_AMBIENT");
PreloadAnimLib(playerid,"PARK");
PreloadAnimLib(playerid,"INT_HOUSE");
PreloadAnimLib(playerid,"BAR");
PreloadAnimLib(playerid,"GHANDS");
PreloadAnimLib(playerid,"BOMBER");
PreloadAnimLib(playerid,"DANCING");
PreloadAnimLib(playerid,"MISC");
PreloadAnimLib(playerid,"ped");
PreloadAnimLib(playerid,"DEALER");
PreloadAnimLib(playerid,"BENCHPRESS");
PreloadAnimLib(playerid,"GANGS");
PreloadAnimLib(playerid,"INT_OFFICE");
PreloadAnimLib(playerid,"RYDER");
PreloadAnimLib(playerid,"PED");
PreloadAnimLib(playerid,"CAR_CHAT");
anim_loaded {playerid} = 1;
}
if(PlayerInfo[playerid][fight_style]) SetPlayerFightingStyle(playerid, PlayerInfo[playerid][fight_style]);
else SetPlayerFightingStyle(playerid, 0);

ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][money]);

SetPlayerSkin(playerid, PlayerInfo[playerid][skin]);

if(GetPVarInt(playerid, "have_box")) DeletePVar(playerid, "have_box");
if(GetPVarInt(playerid, "have_factory_box")) DeletePVar(playerid, "have_factory_box");
if(GetPVarInt(playerid, "exam_vehicle")!= 0)DestroyVehicle(GetPVarInt(playerid, "exam_vehicle")), DeletePVar(playerid, "exam_vehicle");
if(action_type {playerid} != 0)
{
action_td_status(playerid, false);
}

if(PlayerInfo[playerid][salary] != 0)
{
new _t_string[62];
format(_t_string, sizeof(_t_string), "Âû ïîëó÷èëè çà ðàáîòó êîìïåíñàöèþ â ðàçìåðå %d$.", PlayerInfo[playerid][salary]);
SendClientMessage(playerid, 0xCCCCCCFF, _t_string);
give_money(playerid, PlayerInfo[playerid][salary]);
insert_money_log(playerid, INVALID_PLAYER_ID, PlayerInfo[playerid][salary], "êîìïåíñàöèÿ ÇÏ");
PlayerInfo[playerid][salary] = 0;
}
if(noclipdata[playerid][spawntypec] != 0)
{
switch(noclipdata[playerid][spawntypec])
{
case 1:
{
GetPlayerCameraPos(playerid, noclipdata[playerid][EndX], noclipdata[playerid][EndY], noclipdata[playerid][EndZ]);

set_pos(playerid, noclipdata[playerid][EndX], noclipdata[playerid][EndY], noclipdata[playerid][EndZ], 0.0, 0 ,0);
}
case 2:
{
set_pos(playerid, noclipdata[playerid][StartX], noclipdata[playerid][StartY], noclipdata[playerid][StartZ], 0.0, 0 ,0);
}
}
noclipdata[playerid][spawntypec] = 0;
return 1;
}

if(TeamPaint[playerid] > 0)
{
switch(StartPaintBall)
{
case 0:
{
TeamPaint[playerid]=
KillPaint[playerid]=
DeathPaint[playerid] = 0;
TextDrawHideForPlayer(playerid, PaintTextDraws);
PlayerTextDrawDestroy(playerid, PaintStats[playerid]);
PaintStats[playerid] = PlayerText:-1;
}
case 2:
{
SetPlayerHealth(playerid, 100.0);
SetPlayerSkinEx(playerid, SkinPaint[PlayerInfo[playerid][gender]][TeamPaint[playerid] -1]);

give_weapon(playerid, 24, 2000);
give_weapon(playerid, 25, 2000);
give_weapon(playerid, 31, 2000);

new spawn = random(10);
switch(TeamPaint[playerid])
{
case 1:
{
set_pos(playerid, SpawnBlueTeam[PaintBallMap-1][spawn][0], SpawnBlueTeam[PaintBallMap-1][spawn][1], SpawnBlueTeam[PaintBallMap-1][spawn][2], SpawnBlueTeam[PaintBallMap-1][spawn][3], 0, 45);
SetPlayerColor(playerid, 0x33AAFFFF);
}
case 2:
{
set_pos(playerid, SpawnRedTeam[PaintBallMap-1][spawn][0], SpawnRedTeam[PaintBallMap-1][spawn][1], SpawnRedTeam[PaintBallMap-1][spawn][2], SpawnRedTeam[PaintBallMap-1][spawn][3], 0, 45);
SetPlayerColor(playerid, 0xAA3333FF);
}
}
return 1;
}
}
}


if(PlayerInfo[playerid][admin] != 0 && GetPVarInt(playerid, "spectate_status")> 0)
{
DeletePVar(playerid, "spectate_status");
set_pos(playerid, p_t_info[playerid][p_pos][0], p_t_info[playerid][p_pos][1], p_t_info[playerid][p_pos][2], p_t_info[playerid][p_pos][3], p_t_info[playerid][p_data][0], p_t_info[playerid][p_data][1]);
CancelSelectTextDraw(playerid);
ResetPlayerWeapons(playerid);
is_control_chat{playerid} = in_recon_chat{playerid};
for(new j = 0; j < 7; j ++)
{
TextDrawHideForPlayer(playerid, sp_td[j]);
if(j < 3)
{
if(sp_ptd[playerid][j] != PlayerText:-1)PlayerTextDrawDestroy(playerid, sp_ptd[playerid][j]);
sp_ptd[playerid][j] = PlayerText:-1;
}
}



for(new i = 0; i < 12; i ++)
{
GivePlayerWeapon(playerid, p_t_info[playerid][p_gun_slot], p_t_info[playerid][p_gun_ammo]);
}
return 1;
}
reset_player_weapon(playerid);

if(gang_player(playerid)|| mafia_player(playerid)|| radio_player(playerid))is_fraction_duty {playerid} = 1;
else if(is_fraction_duty {playerid} == 1 && (!gang_player(playerid) && !mafia_player(playerid) && !radio_player(playerid))) is_fraction_duty {playerid} = 0, SetPlayerColor(playerid, 0xFFFFFF80); // col_white
if(gang_player(playerid)) give_weapon(playerid, 5, 1);
if(PlayerInfo[playerid][jailed] > 0)
{
if(4 > PlayerInfo[playerid][jail] > 0)
{
new random_jail_pos = random(2);
set_pos(playerid, jail_spawn[random_jail_pos][0],
jail_spawn[random_jail_pos][1],
jail_spawn[random_jail_pos][2],
jail_spawn[random_jail_pos][3],
1, PlayerInfo[playerid][jail]);
if(is_fraction_duty {playerid} == 1)SetPlayerSkin(playerid, PlayerInfo[playerid][org_skin]), SetPlayerColor(playerid, f_info[PlayerInfo[playerid][member] -1][f_radar_color]);
else SetPlayerSkin(playerid, PlayerInfo[playerid][skin]);
return 1;
}
else if(PlayerInfo[playerid][jail] == 10)
{
set_pos(playerid, 217.9972, 3082.9668, 658.7508, 268.2277, 2, 15);

if(is_fraction_duty {playerid} == 1)SetPlayerSkin(playerid, PlayerInfo[playerid][org_skin]), SetPlayerColor(playerid, f_info[PlayerInfo[playerid][member] -1][f_radar_color]);
else SetPlayerSkin(playerid, PlayerInfo[playerid][skin]);
return 1;
}
}
printf("[DEBUG] [OnPlayerDeath] playerid:%d | Ñìåðòü:%d", playerid, GetPVarInt(playerid, "p_dead"));
if(GetPVarInt(playerid, "p_dead") == 5)DeletePVar(playerid, "p_dead");
if(GetPVarInt(playerid, "p_dead") >= 1) // Ïîñòàâèë âìåñòî 1 ïîñòàâèë 0
{
if(GetPVarInt(playerid, "p_dead") > 5)
{

switch(GetPVarInt(playerid, "p_dead"))
{
case 593:set_pos(playerid, 739.3827, -1414.3588, 1500.9509, 176.8004, 1, 3);
case 473:set_pos(playerid, 739.3827, -1414.3588, 1500.9509, 176.8004, 1, 2);
case 587:set_pos(playerid, 739.3827, -1414.3588, 1500.9509, 176.8004, 1, 1);
case 322:
{
set_pos(playerid, 2057.3447,-1898.6816,13.5538, 354.7014, 0, 0);
SetPVarInt(playerid, "tp_area_used", 1);
reset_player_weapon(playerid);
for(new i = 0; i < 12; i ++)
{
give_weapon(playerid, duel_guns[playerid][0], duel_guns[playerid][1]);
}
if(is_fraction_duty {playerid} == 1)SetPlayerSkin(playerid, PlayerInfo[playerid][org_skin]), SetPlayerColor(playerid, f_info[PlayerInfo[playerid][member] -1][f_radar_color]);
else SetPlayerSkin(playerid, PlayerInfo[playerid][skin]);

}
}

DeletePVar(playerid, "p_dead");
return 1;
}
else if(GetPVarInt(playerid, "p_dead") == 4)
{
set_pos(playerid, 1868.8661, 1348.5306, 2211.6094, 86.0880, 1, 1);
set_health(playerid, 35.0);
SendClientMessage(playerid, col_gray, ""c_orange_red"* "c_grey"Âû ïîïàëè â âîåííûé ãîñïèòàëü, îæèäàéòå ïîëíîãî âîññòàíîâëåíèÿ çäîðîâüÿ, ÷òîáû åãî ïîêèíóòü.");
return 1;
}

new random_h_pos = random(3);
set_pos(playerid, hospital_spawn[random_h_pos][0],
hospital_spawn[random_h_pos][1],
hospital_spawn[random_h_pos][2],
hospital_spawn[random_h_pos][3],
0, PlayerInfo[playerid][hospital]);

if(random_h_pos == 0)
{
/*SetActorVirtualWorld(playerid, 1);
SetPlayerInterior(playerid, 1);*/
//SetPlayerSkin(playerid, customskindeath);
set_health(playerid, 15.0);
set_pos(playerid, 1479.0599, 1755.7018, 1746.6821, 191.7619, 1, 1);
}
else if(random_h_pos == 1)
{
set_health(playerid, 15.0);
set_pos(playerid, 1468.4417, 1758.0919, 1746.6821, 93.0609, 1, 2);
}
if(random_h_pos == 2)
{
set_health(playerid, 15.0);
set_pos(playerid, 1479.0599, 1755.7018, 1746.6821, 191.7619, 1, 1);
}


if(is_fraction_duty {playerid} == 1)SetPlayerSkin(playerid, PlayerInfo[playerid][org_skin]), SetPlayerColor(playerid, f_info[PlayerInfo[playerid][member] -1][f_radar_color]);
else SetPlayerSkin(playerid, PlayerInfo[playerid][skin]);

SendClientMessage(playerid, col_gray, ""c_orange_red"* "c_grey"Âàì ïðèäåòñÿ ïðîéòè êóðñ ëå÷åíèÿ èëè âûëå÷èòüñÿ ó ìåäèêà. Çàéìèòå êîéêó â ïàëàòå äëÿ áîëåå ýôôåêòèâíîãî ëå÷åíèÿ.");
return 1;
}
if(GetPVarInt(playerid, "police_camid")|| GetPVarInt(playerid, "stop_comp"))
{
if(is_fraction_duty {playerid} == 1)SetPlayerSkin(playerid, PlayerInfo[playerid][org_skin]), SetPlayerColor(playerid, f_info[PlayerInfo[playerid][member] -1][f_radar_color]);
else SetPlayerSkin(playerid, PlayerInfo[playerid][skin]);

SetCameraBehindPlayer(playerid);
set_pos(playerid, last_coord[playerid][0], last_coord[playerid][1], last_coord[playerid][2], last_coord[playerid][3], GetPVarInt(playerid, "last_interior"), GetPVarInt(playerid, "last_virtualworld"));
DeletePVar(playerid, "police_camid");
DeletePVar(playerid, "stop_comp");
DeletePVar(playerid, "last_virtualworld");
DeletePVar(playerid, "last_interior");
return 1;
}
if(PlayerInfo[playerid][house] != -1 && PlayerInfo[playerid][spawnchange] == 1)
{
new h = PlayerInfo[playerid][house] -1;
new hint = h_info[h][h_int] -1;

if(is_fraction_duty{playerid} == 1)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][org_skin]);
SetPlayerColor(playerid, f_info[PlayerInfo[playerid][member] -1][f_radar_color]);
}
else SetPlayerSkin(playerid, PlayerInfo[playerid][skin]);

set_pos(playerid, house_int[hint][hspawn_position][0], house_int[hint][hspawn_position][1], house_int[hint][hspawn_position][2], house_int[hint][hspawn_position][3], house_int[hint][hint_int], h_info[h][h_id]);
return SetPVarInt(playerid, !"house_id", PlayerInfo[playerid][house]);
}

if((PlayerInfo[playerid][member] || PlayerInfo[playerid][leader]) && PlayerInfo[playerid][spawnchange] == 2)
{
set_pos(playerid, f_info[PlayerInfo[playerid][member] -1][f_spawn][0], f_info[PlayerInfo[playerid][member] -1][f_spawn][1], f_info[PlayerInfo[playerid][member] -1][f_spawn][2], f_info[PlayerInfo[playerid][member] -1][f_spawn][3], f_info[PlayerInfo[playerid][member] -1][f_spawn_int], f_info[PlayerInfo[playerid][member] -1][f_spawn_virt]);

if(is_fraction_duty{playerid} == 1)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][org_skin]);
SetPlayerColor(playerid, f_info[PlayerInfo[playerid][member] -1][f_radar_color]);
}
else SetPlayerSkin(playerid, PlayerInfo[playerid][skin]);
return 1;
}

new yacht_id = 0;
foreach(new veh_id: player_vehicles[playerid])
{
if(!v_boat_int(veh_id)) continue;
yacht_id = veh_id;
break;
}

if(yacht_id && PlayerInfo[playerid][spawnchange] == 3)
{
is_player_in_boat[playerid] = yacht_id;

if(is_fraction_duty{playerid} == 1)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][org_skin]);
SetPlayerColor(playerid, f_info[PlayerInfo[playerid][member] -1][f_radar_color]);
}
else SetPlayerSkin(playerid, PlayerInfo[playerid][skin]);

set_pos(playerid, 1390.1287, -24.9963, 1001.0063, 182.7941, 5, yacht_id);
return 1;
}

if(PlayerInfo[playerid][rent_house] != -1 && PlayerInfo[playerid][spawnchange] == 4)
{
new h = PlayerInfo[playerid][rent_house] -1;
new hint = h_info[h][h_int] -1;

if(is_fraction_duty{playerid} == 1)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][org_skin]);
SetPlayerColor(playerid, f_info[PlayerInfo[playerid][member] -1][f_radar_color]);
}
else SetPlayerSkin(playerid, PlayerInfo[playerid][skin]);

set_pos(playerid, house_int[hint][hspawn_position][0], house_int[hint][hspawn_position][1], house_int[hint][hspawn_position][2], house_int[hint][hspawn_position][3], house_int[hint][hint_int], h_info[h][h_id]);
return SetPVarInt(playerid, "house_id", PlayerInfo[playerid][rent_house]);
}

// ÑÏÀÂÍÛ || SPAWN PlAYeR
if(PlayerInfo[playerid][level] > 11)
{
set_pos(playerid, 2847.1060,1291.0349,11.3900,88.6741, 0 ,0); //Âîêçàë LV
}

else if(PlayerInfo[playerid][level] > 4)
{
set_pos(playerid, -1968.9677,138.0098,27.6873,91.4942, 0 ,0);
}
else
{
switch(random(2))
{
case 0: set_pos(playerid, 1761.8251,-1891.0409,13.5551,270.0724, 0, 0);
case 1: set_pos(playerid, 1154.2207,-1767.2568,16.5938,357.1800, 0, 0);
}
}
return 1;
}
 
Сверху