Angry1337
Новичок
Всем привет , нужна помощь со скинами , а точнее.. когда делаешь себя лидером ставится скин первого ранга , НО его можно поменять в магазине одежды , если его меняешь а потом перезаходишь , то он опять сбрасывается , и становится тот который на 1 ранге. :С
CMD:invite(playerid,params[])
{
if(PlayerInfo[playerid][pMember] == 0) return true;
if(!CanInvitePlayer(playerid)) return SCM(playerid, COLOR_GREY,"Вам недоступна данная функция!");
new giveplayerid;
if(sscanf(params,"d",giveplayerid)) return SCM(playerid, COLOR_WHITE, "Введите: /invite [ид]");
if(!IsPlayerConnected(giveplayerid) || giveplayerid == playerid || gPlayerLogged[giveplayerid] == false || gPlayerLogged[playerid] == false) return true;
if(!ProxDetectorS(5.0, playerid, giveplayerid)) return SCM(playerid,COLOR_WHITE,"Далеко от вас!");
if(PlayerInfo[giveplayerid][pWarn] > 0) return SCM(playerid, COLOR_WHITE, "Ошибка: У данного игрока предупреждение!");
//
if(PlayerInfo[playerid][pMember] == TEAM_LSPD || PlayerInfo[playerid][pMember] == TEAM_SFPD || PlayerInfo[playerid][pMember] == TEAM_LVPD)
{
if(PlayerInfo[giveplayerid][pMember] != TEAM_LVA && PlayerInfo[playerid][pMember] == TEAM_LSA) return SCM(playerid, COLOR_WHITE, "Данный человек не служит в армии!");
if(PlayerInfo[giveplayerid][pRang] < 3) return SCM(playerid, COLOR_WHITE,"Звание служищего не позволяет перевестись. Требуется 3 ранг и более.");
//
GetPlayerName(playerid, sn, sizeof(sn));
GetPlayerName(giveplayerid, gp, sizeof(gp));
format(nsa, sizeof(nsa),"Вы были переведены в %s лидером %s", GetFrakName(PlayerInfo[playerid][pMember]), sn);
SCM(giveplayerid,COLOR_LIGHTBLUE,nsa);
format(nsa, sizeof(nsa),"Вы перевели %s в %s",gp,GetFrakName(PlayerInfo[playerid][pMember]));
SCM(playerid,COLOR_LIGHTBLUE,nsa);
//
PlayerInfo[giveplayerid][pMember] = PlayerInfo[playerid][pMember];
PlayerInfo[giveplayerid][pRang] = 1;
PlayerInfo[giveplayerid][pJob] = 0;
PlayerInfo[giveplayerid][pHourFractions] = 0;
ResetPlayerWeaponEx(giveplayerid);
SetPlayerToTeamColor(giveplayerid);
switch(PlayerInfo[giveplayerid][pSex])
{
case 0:
{
SetPlayerSkin(giveplayerid, InviteFracSkin[PlayerInfo[giveplayerid][pMember]][0]);
PlayerInfo[giveplayerid][pSkin] = InviteFracSkin[PlayerInfo[giveplayerid][pMember]][0];
}
case 1:
{
SetPlayerSkin(giveplayerid, InviteFracSkin[PlayerInfo[giveplayerid][pMember]][1]);
PlayerInfo[giveplayerid][pSkin] = InviteFracSkin[PlayerInfo[giveplayerid][pMember]][1];
}
}
return true;
}
if(PlayerInfo[playerid][pMember] == TEAM_FBI)
{
if(PlayerInfo[giveplayerid][pMember] != TEAM_LSPD && PlayerInfo[giveplayerid][pMember] != TEAM_SFPD && PlayerInfo[giveplayerid][pMember] != TEAM_LVPD) return SCM(playerid, COLOR_WHITE, "Человек не является законником!");
if(PlayerInfo[giveplayerid][pRang] < 7) return SCM(playerid, COLOR_WHITE,"Звание служищего не позволяет перевестись. Требуется 7 ранг и более.");
//
GetPlayerName(playerid, sn, sizeof(sn));
GetPlayerName(giveplayerid, gp, sizeof(gp));
format(nsa, sizeof(nsa),"Вы были переведены в %s лидером %s", GetFrakName(PlayerInfo[playerid][pMember]), sn);
SCM(giveplayerid,COLOR_LIGHTBLUE,nsa);
format(nsa, sizeof(nsa),"Вы перевели %s в %s",gp,GetFrakName(PlayerInfo[playerid][pMember]));
SCM(playerid,COLOR_LIGHTBLUE,nsa);
//
PlayerInfo[giveplayerid][pMember] = PlayerInfo[playerid][pMember];
PlayerInfo[giveplayerid][pRang] = 1;
PlayerInfo[giveplayerid][pJob] = 0;
PlayerInfo[giveplayerid][pHourFractions] = 0;
ResetPlayerWeaponEx(giveplayerid);
SetPlayerToTeamColor(giveplayerid);
switch(PlayerInfo[giveplayerid][pSex])
{
case 0:
{
SetPlayerSkin(giveplayerid, InviteFracSkin[PlayerInfo[giveplayerid][pMember]][0]);
PlayerInfo[giveplayerid][pSkin] = InviteFracSkin[PlayerInfo[giveplayerid][pMember]][0];
}
case 1:
{
SetPlayerSkin(giveplayerid, InviteFracSkin[PlayerInfo[giveplayerid][pMember]][1]);
PlayerInfo[giveplayerid][pSkin] = InviteFracSkin[PlayerInfo[giveplayerid][pMember]][1];
}
}
return true;
}
//
if(PlayerInfo[giveplayerid][pMember] != 0 || StartJobPorter[giveplayerid] != 0 || StartJobDrov[giveplayerid] != 0 || PlayerInfo[giveplayerid][pAcceptFarm] == true) return SCM(playerid, COLOR_WHITE, "Ошибка: Данный игрок в другой организации или работает на другой работе!");
if(PlayerInfo[playerid][pMember] == TEAM_LVA || PlayerInfo[playerid][pMember] == TEAM_LSA)
{
if(!IsPlayerInRangeOfPoint(playerid, 20.0, 1165.8824,1352.2939,10.9219)) return SCM(playerid, COLOR_GREY,"Вы должны находиться в военкомате!");
if(GetPlayerSkin(giveplayerid) != 252) return SCM(playerid, COLOR_WHITE, "Ошибка: Гражданин не готов проходить мед. комиссию.");
}
//
PlayerInfo[giveplayerid][pMember] = PlayerInfo[playerid][pMember];
PlayerInfo[giveplayerid][pRang] = 1;
PlayerInfo[giveplayerid][pJob] = 0;
PlayerInfo[giveplayerid][pHourFractions] = 0;
ResetPlayerWeaponEx(giveplayerid);
SetPlayerToTeamColor(giveplayerid);
//
GetPlayerName(playerid, sn, sizeof(sn));
GetPlayerName(giveplayerid, gp, sizeof(gp));
format(nsa, sizeof(nsa),"Вы приглашены в организацию %s лидером %s", GetFrakName(PlayerInfo[playerid][pMember]), sn);
SCM(giveplayerid,COLOR_LIGHTBLUE,nsa);
format(nsa, sizeof(nsa),"Вы пригласили во фракцию %s",gp);
SCM(playerid,COLOR_LIGHTBLUE,nsa);
//
switch(PlayerInfo[giveplayerid][pSex])
{
case 0:
{
SetPlayerSkin(giveplayerid, InviteFracSkin[PlayerInfo[giveplayerid][pMember]][0]);
PlayerInfo[giveplayerid][pSkin] = InviteFracSkin[PlayerInfo[giveplayerid][pMember]][0];
}
case 1:
{
SetPlayerSkin(giveplayerid, InviteFracSkin[PlayerInfo[giveplayerid][pMember]][1]);
PlayerInfo[giveplayerid][pSkin] = InviteFracSkin[PlayerInfo[giveplayerid][pMember]][1];
}
}
return true;
}
Если что , мне надо что бы на определенном ранге был определенный скин.CMD:makeleader(playerid, params[])
{
if(DostupForAdministration[playerid] == false || PlayerInfo[playerid][pAdmin] < 6) return SCM(playerid, -1, "Неизвестная команда. Воспользуйтесь: /menu > Команды сервера");
new giveplayerid;
if(sscanf(params,"d",giveplayerid)) return SCM(playerid, COLOR_WHITE, "Введите: /makeleader [ид]");
GetPlayerName(playerid, sn, sizeof(sn));
GetPlayerName(giveplayerid, gp, sizeof(gp));
if(!IsPlayerConnected(giveplayerid)) return SCM(playerid,COLOR_WHITE,"Этого игрока нет на сервере!");
if(PlayerInfo[giveplayerid][pLeader] > 0)
{
format(nsa, sizeof(nsa), "[A] Администратор %s снял игрока %s с лидерства.",sn, gp);
SCMA(COLOR_WHITE, nsa);
format(nsa, sizeof(nsa), "Администратор %s снял вас с должности руководителя организации.",sn);
SCM(giveplayerid,COLOR_WHITE,nsa);
SCM(giveplayerid,COLOR_WHITE,"Если вы не справились с лидерством, то вы больше никогда не сможете встать на пост вновь.");
PlayerInfo[giveplayerid][pMember] = 0;
PlayerInfo[giveplayerid][pLeader] = 0;
UpdatePlayerTableInt(giveplayerid, "Leader", PlayerInfo[giveplayerid][pLeader]);
PlayerInfo[giveplayerid][pRang] = 0;
PlayerInfo[giveplayerid][pSkin] = 0;
PlayerInfo[giveplayerid][pHourFractions] = 0;
SetPlayerSkin(giveplayerid, PlayerInfo[giveplayerid][pChar]);
DisablePlayerCheckpoint(giveplayerid);
LoadMaterialsFraction[giveplayerid] = 0;
LoadMaterialsArmy[giveplayerid] = 0;
RemovePlayerAttachedObject(giveplayerid, 1);
PlayerTextDrawHide(giveplayerid, GangWar[giveplayerid]);
TextDrawHideForPlayer(giveplayerid,TextBizzWar);
SetPlayerToTeamColor(giveplayerid);
ResetPlayerWeaponEx(giveplayerid);
SetPlayerSpawn(giveplayerid);
return true;
}
else
{
if(PlayerInfo[giveplayerid][pReputation] < 0) return SCM(playerid, -1, "У этого игрока {FF0000}отрицательная {FFFFFF}репутация лидерства!");
new string[55];
format(string, sizeof(string),"Будущий руководитель: {FF0000}%s", gp);
SPD(playerid,153,DIALOG_STYLE_LIST,string,"1. Правительство\n2. Федеральное Бюро Расследования\n3. Полиция ЛС\n4. Полиция СФ\n5. Полиция ЛВ\n6. Поликлиника\n7. Армия ЛВ\n8. Армия ЛС\n9. Новости\n10. LCN\n11. Китайские триады\n12. Русская Мафия\n13. Грув\n14. Баллас\n15. Ацтек\n16. Вагос\n17. Рифа\n18. Школа вождения\n19. Гонщики","Выбор","Выход");
SetPVarInt(playerid, "PlayerMakeLeader", giveplayerid);
return true;
}
}
