08.05.2016, 16:02
Доброго времени суток. Во время переустановки объекта, убежав или уехав из стримзоны объекта, выбирается другой объект. Я это пресекаю, блокирую перемещение нового выбранного объекта, старый возвращаю на место и выключаю эдит режим игроку, после этого пропадает курсор. В чем проблема?
Код:
Курсора нет не в диалогах, не в эдит режиме.
Код:
Код:
public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz) { if(objectid == INVALID_OBJECT_ID) return 1; if(pInfo[playerid][EditOID] != objectid) { GetDynamicObjectPos(objectid, x, y, z); GetDynamicObjectRot(objectid, rx, ry, rz); SetDynamicObjectPos(objectid, x, y, z); SetDynamicObjectRot(objectid, rx, ry, rz); if(pInfo[playerid][eKB]) { new o = pInfo[playerid][EditOID], sl = pInfo[playerid][eKBID]; GetDynamicObjectPos(o, x, y, z); GetDynamicObjectRot(o, rx, ry, rz); SetDynamicObjectPos(o, x, y, z); SetDynamicObjectRot(o, rx, ry, rz); format(logtext, 98, "Kelio blokada nr. {ffffff}%d\n{1d5187}Pastate: {ffffff}%s\n%s", sl + 1, GetPlayerNameEx(pKB[sl][kbC]), TimestampToDate(pKB[sl][kbCT])); pKB[sl][kblID] = CreateDynamic3DTextLabel(logtext, 0x1d5187FF, x, y, z + 1.0, 10.0); pKB[sl][kbB] = true; pInfo[playerid][eKB] = false; pInfo[playerid][eKBID] = -1; pInfo[playerid][EditOID] = INVALID_OBJECT_ID; } if(response != EDIT_RESPONSE_CANCEL) CancelEdit(playerid); return 1; } if(pInfo[playerid][eKB]) { switch(response) { case EDIT_RESPONSE_CANCEL, EDIT_RESPONSE_FINAL: { new sl = pInfo[playerid][eKBID]; if(response == EDIT_RESPONSE_CANCEL) { GetDynamicObjectPos(objectid, x, y, z); GetDynamicObjectRot(objectid, rx, ry, rz); SetDynamicObjectPos(objectid, x, y, z); SetDynamicObjectRot(objectid, rx, ry, rz); } else { DestroyDynamicObject(pKB[sl][kboID]); pKB[sl][kboID] = CreateDynamicObject(978, x, y, z, rx, ry, rz); } format(logtext, 98, "Kelio blokada nr. {ffffff}%d\n{1d5187}Pastate: {ffffff}%s\n%s", sl + 1, GetPlayerNameEx(pKB[sl][kbC]), TimestampToDate(pKB[sl][kbCT])); pKB[sl][kblID] = CreateDynamic3DTextLabel(logtext, 0x1d5187FF, x, y, z + 1.0, 10.0); pKB[sl][kbB] = true; pInfo[playerid][eKB] = false; pInfo[playerid][eKBID] = -1; pInfo[playerid][EditOID] = INVALID_OBJECT_ID; } } } return 1; }