yn0p0T
Ученик
Суть проблемы: фракционный скин записан под переменной pSkin которая записана в файле аккаунта как Skin, вроде бы верно должен менять её значение, но, когда пишу /changeskin id, вылетает диалог, выбираю скин и он меняется, но, при смерти персонажа которому был выдан скин, или при перезаходе на сервер, скин возвращается такой, какой был. Пример: если сделал игроку invite во фракцию, и сменил скин, когда он умрёт у него будет такой скин, который был при invite ( так же, если выдать лидерку а потом сменить скин ).
Помогите пожалуйста :c
+-ик с меня :3
Вот часть диалога:
p.s. и так для каждого скина ( если надо будет, скину все диалоги целиком и всю команду)
Помогите пожалуйста :c
+-ик с меня :3
PHP:
if(strcmp(cmd,"/changeskin",true)==0)
{
if(PlayerInfo[playerid][pLeader] >= 1 || PlayerInfo[playerid][pRang] >= 9)
{
new skinid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SCM(playerid, -1, " Используй: /changeskin [id]");
skinid = ReturnUser(tmp);
new Leader;
if(PlayerInfo[playerid][pLeader] >0) Leader = PlayerInfo[playerid][pLeader];
if(Leader == 1)
{
if(PlayerInfo[skinid][pMember] == 1)
{
SetPVarInt(playerid,"SKIN",skinid);
SPD(playerid, 2351, DIALOG_STYLE_LIST,"Выдача скина", "Скин №1(id 98)\nСкин №2(id 164)\nСкин №3(id 165)\nСкин №4(id 185)\nСкин №5(id 59)\nСкин №6(id 240)\nСкин №7(id 187)\nСкин №8(id 17)\nСкин №9(id 147)\nСкин №10(id 150)\nСкин №11(id 141)\nСкин №12(id 219)","Выдать","Отмена");
return 1;
}}
SavePlayer(skinid);
}
return true;
}
PHP:
case 2351:
{
if(response)
{
switch(listitem)
{
case 0:
{
switch(PlayerInfo[playerid][pMember])
{
case 1: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 98);
case 2..4: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 98);
case 5..8: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 287);
case 9..12: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 265);
case 13: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 286);
case 14..17: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 170);
case 18: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 274);
case 19: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 105);
case 20: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 102);
case 21: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 175);
case 22: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 116);
case 23: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 108);
case 24: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 98);
case 25: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 112);
case 26: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 121);
case 27..29: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 274);
case 30: SetPlayerSkin(GetPVarInt(playerid,"SKIN"), 170);
}
PlayerInfo[GetPVarInt(playerid,"SKIN")][pSkin] = GetPlayerSkin(playerid); // может эта строчка лишняя? :D
}
