Herro[CM] |
Дата: Среда, 09.09.2015, 19:09 | Сообщение # 1
|
Бывалый
Сообщений: 425
Статус: Offline
|
Код // Создать барьер barrier = CreateObject (968,2102.7000000, -2059.6001000,13.3000000,0.0000000,270.0000000,46.0000000); // объект (барьер) (1)
// Перемещение барьер в вертикальное положение. MoveBarrier (барьер, +2102,7000000, -2059.6001000,13.3000000, 0.2, 0.0000000,360.0000000,46.0000000);
// Вернуть ,барьер к нормальному положению MoveBarrier (барьер, +2102,7000000, -2059.6001000,13.3000000, 0.2, 0.0000000,270.0000000,46.0000000);
Include: Код #include <a_samp> new Float: posRX[MAX_OBJECTS]; new Float: posRY[MAX_OBJECTS]; new Float: posRZ[MAX_OBJECTS]; new TimerBarr[MAX_OBJECTS]; new bool: TimerAc[MAX_OBJECTS]; #define TIME_TO_MOVE 5 #define FLOAT_MOVE 0.25 forward MoveBarrier(barriername, Float: px, Float: py, Float: pz, Float: speed, Float: rx, Float: ry, Float: rz); public MoveBarrier(barriername, Float: px, Float: py, Float: pz, Float: speed, Float: rx, Float: ry, Float: rz) { if(!IsValidObject(barriername)) return printf("Object (%i) dosen't exist!",barriername); if(TimerAc[barriername] == false) { GetObjectRot(barriername, posRX[barriername], posRY[barriername], posRZ[barriername]); TimerBarr[barriername] = SetTimerEx("MoveBarrierT", TIME_TO_MOVE, true,"ifffffff",barriername,px,py,pz,speed,rx,ry,rz); printf(" Object (%i) start moving.",barriername); } TimerAc[barriername] = true; return 1; } forward MoveBarrierT(barriername, Float: px, Float: py, Float: pz, Float: speed, Float: rx, Float: ry, Float: rz); public MoveBarrierT(barriername, Float: px, Float: py, Float: pz, Float: speed, Float: rx, Float: ry, Float: rz) { if(rx > posRX[barriername]) { posRX[barriername] = posRX[barriername]+FLOAT_MOVE; MoveObject(barriername, px, py, pz, speed, posRX[barriername], ry, rz); } else if(rx < posRX[barriername]) { posRX[barriername] = posRX[barriername]-FLOAT_MOVE; MoveObject(barriername, px, py, pz, speed, posRX[barriername], ry, rz); } if(ry > posRY[barriername]) { posRY[barriername] = posRY[barriername]+FLOAT_MOVE; MoveObject(barriername, px, py, pz, speed, rx, posRY[barriername], rz); } else if(ry < posRY[barriername]) { posRY[barriername] = posRY[barriername]-FLOAT_MOVE; MoveObject(barriername, px, py, pz, speed, rx, posRY[barriername], rz); } if(rz > posRZ[barriername]) { posRZ[barriername] = posRZ[barriername]+FLOAT_MOVE; MoveObject(barriername, px, py, pz, speed, rx, ry, posRZ[barriername]); } else if(rz < posRZ[barriername]) { posRZ[barriername] = posRZ[barriername]-FLOAT_MOVE; MoveObject(barriername, px, py, pz, speed, rx, ry, posRZ[barriername]); } if(rx == posRX[barriername] && ry == posRY[barriername] && rz == posRZ[barriername]) { KillTimer(TimerBarr[barriername]); printf(" Object (%i) stop moving.",barriername); TimerAc[barriername] = false; } return 1; }
Автор: Mihaitza97
Когда нет знания, есть мнение.
Сообщение отредактировал Herro[CM] - Среда, 09.09.2015, 19:10 |
|
|
|