-
EditObject
При создании и последовательном редактировании объекта, редактирование моментально прекращается и объект ремувиться(вызываеться EDIT_RESPONSE_CANCEL).
Т.е создаешь объект, а он моментально исчезает.
Редактирование:
PHP код:
public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
{
if(response == EDIT_RESPONSE_FINAL)
{
switch(PVar::GetInt(playerid,"TypeGateCreate"))
{
case 1:
{
if(PVar::GetInt(playerid,"TypeGateCreate") != 2)
{
TOTALGATE++;
GateInfo[TOTALGATE][gShlak][0] = x;
GateInfo[TOTALGATE][gShlak][1] = y;
GateInfo[TOTALGATE][gShlak][2] = z;
GateInfo[TOTALGATE][gShlakRot][0] = rx;
GateInfo[TOTALGATE][gShlakRot][1] = ry;
GateInfo[TOTALGATE][gShlakRot][2] = rz;
ShowPlayerDialog(playerid,D_GATE+2,DIALOG_STYLE_LIST,"{33CCFF}Создание ворот/шлагбаумы","Шлагбаум\nИзменить позицию основания","Accept","Cancel");
}
}
case 2:
{
GateInfo[TOTALGATE][gShlak][0] = x;
GateInfo[TOTALGATE][gShlak][1] = y;
GateInfo[TOTALGATE][gShlak][2] = z;
GateInfo[TOTALGATE][gShlakRot][0] = rx;
GateInfo[TOTALGATE][gShlakRot][1] = ry;
GateInfo[TOTALGATE][gShlakRot][2] = rz;
SendMe(playerid,COLOR_LIGHTRED," * Координаты основания Шлагбаума обновлены!");
ShowPlayerDialog(playerid,D_GATE+2,DIALOG_STYLE_LIST,"{33CCFF}Создание ворот/шлагбаумы","Шлагбаум\nИзменить позицию основания","Accept","Cancel");
}
case 3:
{
if(PVar::GetInt(playerid,"GateCreate") == 968)
{
GateInfo[TOTALGATE][gObjID] = PVar::GetInt(playerid,"GateCreate");
GateInfo[TOTALGATE][gClose_X] = x;
GateInfo[TOTALGATE][gClose_Y] = y;
GateInfo[TOTALGATE][gClose_Z] = z;
GateInfo[TOTALGATE][gCloseRotX] = rx;
GateInfo[TOTALGATE][gCloseRotY] = ry;
GateInfo[TOTALGATE][gCloseRotZ] = rz;
PVar::SetInt(playerid,"TypeGateCreate",4);
SendMe(playerid,COLOR_LIGHTRED," * Теперь сохраните координаты в открытом положении!");
EditDynamicObject(playerid,admgateedit2);
}
else
{
TOTALGATE++;
GateInfo[TOTALGATE][gObjID] = PVar::GetInt(playerid,"GateCreate");
GateInfo[TOTALGATE][gClose_X] = x;
GateInfo[TOTALGATE][gClose_Y] = y;
GateInfo[TOTALGATE][gClose_Z] = z;
GateInfo[TOTALGATE][gCloseRotX] = rx;
GateInfo[TOTALGATE][gCloseRotY] = ry;
GateInfo[TOTALGATE][gCloseRotZ] = rz;
PVar::SetInt(playerid,"TypeGateCreate",4);
SendMe(playerid,COLOR_LIGHTRED," * Теперь сохраните ворота в открытом положении!");
EditDynamicObject(playerid,admgateedit);
}
}
case 4:
{
GateInfo[TOTALGATE][gOpen_X] = x;
GateInfo[TOTALGATE][gOpen_Y] = y;
GateInfo[TOTALGATE][gOpen_Z] = z;
GateInfo[TOTALGATE][gOpenRotX] = rx;
GateInfo[TOTALGATE][gOpenRotY] = ry;
GateInfo[TOTALGATE][gOpenRotZ] = rz;
ShowPlayerDialog(playerid,D_GATE+3,DIALOG_STYLE_INPUT,"{33CCFF}Создание ворот/шлагбаумы - Данные","\tИмя,Тип: 1-фракция 2-работа 3- дом, Тип: 1 - ворота, 2 - шлагбаум,организация,работа,номер дома\
\nПример:\n","Accept","Cancel");
}
}
}
if(response == EDIT_RESPONSE_CANCEL)
{
DestroyDynamicObject(objectid);
}
}
Создание:
PHP код:
admgateedit = CreateDynamicObject(strval(inputtext),Pos[0],Pos[1]+2.5,Pos[2],0.0,0.0,0.0);
PVar::SetInt(playerid,"GateCreate",strval(inputtext));
PVar::SetInt(playerid,"TypeGateCreate",3);
EditDynamicObject(playerid,admgateedit);
Обдумал все варианты. Жду ваши предложения.
-
Разобрался сам.
- - - Добавлено - - -
Закройте, будьте любезны.
-