Đăng ký

Tham gia : 2012-11-30
Bài gửi : 7
Point : 57
Nhận thích : 3
Tường Bài viết Kết bạn Chặn

[System] RealitySys 1.4c - Make by 19101994

Reality System
19101994

Code:


/*
=============================================================================
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
=============================================================================

||==||  ||=====    //\\    ||      II ======== \\  //
||  ||  ||        //  \\    ||      II    ||    \\//
||==\\  ||=====  =//====\\=  ||      II    ||      //
||  \\  ||      //      \\  ||      II    ||    //
||    \\ ||===== //        \\ ||===== II    ||    //            1.4c

                                        ||=====|| \\  // ||=====||
                                        ||        \\//  ||
                                        ||=====||  //  ||=====||
                                              ||  //          ||
                                        ||=====|| //    ||=====||

=============================================================================
oO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*Oo
=============================================================================
||  M A K E    B Y    1 9 1 0 1 9 9 4
||          Update 16/5/2013
||-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
||      Requires:
||          Newgen 5d+
||          Warcraft 1.24e+
||-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
||      Instal:
||          + Copy Code
||          + goto trigger */RSmain/*
||              remove one */"/"/* of */"///! external ObjectMerger"/*
||              save map
||              close map
||              open map and  add */"/"/* back
=============================================================================
oO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*OoO*Oo
=============================================================================
*/

P O S I T I O N
    +- position.create(real x, real y, real z)                              //-create a position with x,y,z
    |  +- return lastCreatedPosition3D
    |
    +- position.GetUnitPos(unit whichUnit)                                  //-create a position with x,y,z
    |  +- return lastCreatedPosition3D                                    //at unit-point
    |
    +- position.GetLocPos(location whichLoc)                                //-create a position at location
    |  +- return lastCreatedPosition3D
    |
    +- .move(real x, real y, real z)                                        //-move a position to new x,y,z
    |
    +- .destroy()                                                          //-destroy a position
    |
    +- .x                                                                  //-get x of position
    |
    +- .y                                                                  //-get y of position
    |
    +- .z                                                                  //-get z of position
    |
    +- .x=                                                                  //-set x of position
    |
    +- .y=                                                                  //-set y of position
    |
    +- .z=                                                                  //-set z of position
   
A N G L E 3 D
    +- angle3d.create(position pos1, position pos2)                        //-create a angle3d : pos1 -> pos2
    |  +- return lastCreatedAngle3D
    |
    +- angle3d.GetUnitAngle3D(unit whichUnit)                              //-create a angle3d for unit
    |  +- return lastCreatedAngle3D
    |
    +- angle3d.Angle3DBetweenPoints(location loc1,location loc2)            //-create a angle3d : loc1 -> loc2
    |  +- return lastCreatedAngle3D
    |
    +- .destroy()                                                          //-destroy a angle3d
    |
    +- .alpha                                                              //-get angle in Oxy
    |
    +- .beta                                                                //-get angle in Oxz or Oyz
    |
    +- .alpha=                                                              //-set angle in Oxy
    |
    +- .beta=                                                              //-set angle in Oxz or Oyz
   
U N I T 3 D
    +- unit3d.CreateAtPosition(player id, integer unitid, position pos, real angle)
    |  +- return lastCreatedUnit3D                                        //-create a unit3d at position
    |
    +- unit3d.create(player id, integer unitid, real x, real y, real z, real angle)
    |  +- return lastCreatedUnit3D                                        //-create a unit3d with x,y,z
    |
    +- unit3d.CreateAtOffset(real x, real y)                                //-create a unit3d on surface with x,y
    |  +- return lastCreatedUnit3D
    |
    +- unit3d.getStructId(unit whichUnit)                                  //-get struct when you just know unit
    |  +- return integer
    |
    +- .Move(position pos)                                                  //-move unit of unit3d to the position
    |
    +- .move(real x, real y, real z)                                        //-move path of effect3d to x,y,z
    |
    +- .remove()                                                            //-remove unit of unit3d and destroy(unit3d)
    |
    +- .destroy()                                                          //-just destroy(unit3d), not remove unit
    |
    +- .getPos                                                              //-get position of unit3d
    |  +- return position
    |
    +- .getPath                                                            //-get unit of unit3d
    |  +- return unit
    |
    +- .CustomValue            /*default: 0*/                              //-get custom value of unit3d
    |                                                                      //you can use it for something
    |
    +- .CustomValue=                                                        //-set custom value of unit3d
    |
    +- .created                                                            //-check: if struct is created => return true
    |  +- return boolean
    |
    +- .x                                                                  //-get x of unit of unit3d
    |
    +- .y                                                                  //-get y of unit of unit3d
    |
    +- .z                                                                  //-get z of unit of unit3d
   
E F F E C T 3 D
    +- effect3d.CreateAtPosition(position pos)                              //-create a effect3d at position
    |  +- return lastCreatedEffect3D
    |
    +- effect3d.CreateAtUnit(unit)                                          //-create a effect3d at unit
    |  +- return lastCreatedEffect3D
    |
    +- effect3d.CreateAtOffset(real x, real y)                              //-create a unit3d on surface with x,y
    |  +- return lastCreatedEffect3D
    |
    +- effect3d.create(real x, real y, real z)                              //-create a effect3d with x,y,z
    |  +- return lastCreatedEffect3D
    |
    +- effect3d.getStructId(unit whichUnit)                                //-get struct when you just know path (it's a unit) of effect3d
    |  +- return integer
    |
    +- .add(string modelName, string attachPointName)                      //-add effect to path
    |  +- return bj_lastCreatedEffect
    |
    +- .Move(position pos)                                                  //-move path of effect3d to the position
    |
    +- .move(real x, real y, real z)                                        //-move path of effect3d to x,y,z
    |
    +- .scale(real scaleX, real scaleY, real scaleZ)                        //-you can change scale of effects on path by changing scale of path
    |
    +- .getPos                                                              //-get position of unit3d
    |  +- return position
    |
    +- .remove()                                                            //-remove path of effect3d and destroy(effect3d)
    |
    +- .destroy()                                                          //-just destroy(effect3d), not remove path
    |
    +- .getPath                                                            //-get path of effect3d
    |  +- return unit
    |
    +- .CustomValue            /*default: 0*/                              //-get custom value of unit3d
    |                                                                      //you can use it for something
    |
    +- .CustomValue=                                                        //-set custom value of unit3d
    |
    +- .setTimedLife=                                                      //-set TimedLife for effect3d
    |                                                                      //auto remove and destroy
    |
    +- .created                                                            //-check: if struct is created => return true
    |  +- return boolean
    |
    +- .x                                                                  //-get x of path of effect3d
    |
    +- .y                                                                  //-get y of path of effect3d
    |
    +- .z                                                                  //-get z of path of effect3d
   
D U M M Y
    +- effect3d.CreateAtPosition(position pos)                              //-create a dummy at position
    |  +- return lastCreatedDummy
    |
    +- effect3d.CreateAtUnit(unit)                                          //-create a dummy at unit
    |  +- return lastCreatedDummy
    |
    +- effect3d.CreateAtOffset(real x, real y)                              //-create a dummy on surface with x,y
    |  +- return lastCreatedDummy
    |
    +- effect3d.create(real x, real y, real z)                              //-create a dummy with x,y,z
    |  +- return lastCreatedDummy
    |
    +- effect3d.getStructId(unit whichUnit)                                //-get struct when you just know path (it's a unit) of dummy
    |  +- return integer
    |
    +- .add(string modelName, string attachPointName)                      //-add effect to unit of dummy
    |  +- return bj_lastCreatedEffect
    |
    +- .Move(position pos)                                                  //-move unit of dummy to the position
    |
    +- .move(real x, real y, real z)                                        //-move unit of dummy to x,y,z
    |
    +- .scale(real scaleX, real scaleY, real scaleZ)                        //-change scale of unit of dummy
    |                                                                      //note: scale of effect is attached on unit will change too
    |
    +- .getPos                                                              //-get position of dummy
    |  +- return position
    |
    +- .destroy()                                                          //-remove and destroy all
    |
    +- .getPath                                                            //-get unit of dummy
    |  +- return unit
    |
    +- .getEfx                                                              //-get effect is attached
    |  +- return effect
    |
    +- .CustomValue            /*default: 0*/                              //-get custom value of dummy
    |                                                                      //you can use it for something
    |
    +- .CustomValue=                                                        //-set custom value of dummy
    |
    +- .setTimedLife=                                                      //-set TimedLife for dummy
    |                                                                      //auto destroy
    |
    +- .created                                                            //-check: if struct is created => return true
    |  +- return boolean
    |
    +- .x                                                                  //-get x of unit of dummy
    |
    +- .y                                                                  //-get y of unit of dummy
    |
    +- .z                                                                  //-get z of unit of dummy
   
O T H E R S
    +- PolarProjection3D(position pos, real dist, angle3d ang)              //-Polar 3D
    |  +- return position
    |
    +- DistanceBetweenPositions(position pos1, position pos2)              //-Distance: Pos1 -> Pos2
    |  +- return real
    |
    +- DistanceBetweenUnits(unit a, unit b)                                //-Distance: UnitA -> UnitB
    |  +- return real                                                      //just x,y
    |
    +- Distance3DBetweenUnits(unit a, unit b)                              //-Distance: UnitA -> UnitB
    |  +- return real                                                      //3D with x,y,z
    |
    +- DistanceBetweenUnit3Ds(unit3d a, unit3d b)                          //-Distance: Unit3D_A -> Unit3D_B
    |  +- return real                                                      //3D
    |
    +- DistanceBetweenEffect3Ds(effect3d a, effect3d b)                    //-Distance: Effect3D_A -> Effect3D_B
    |  +- return real                                                      //3D
    |
    +- DistanceBetweenUnit3DAndEffect3D(unit3d a, effect3d b)              //-Distance: Unit3D_A -> Effect3D_B
        +- return real                                                      //3D




Một số công dụng:

1. Cho phép tính góc trong Oxyz (3D) từ đó lấy Polar 3D. Dễ hiểu hơn là so sánh với angle có sẵn của warcraft thì chỉ có thể lấy góc từ vị trí A -> B trong Oxy (2D), angle3d của sys cho phép lấy góc từ A -> B nhưng trong Oxyz.
=> nếu A ở vị trí thấp hơn B thì lấy Polar 3D với distance (tự cho) góc angle3d từ A->B thì ta sẽ được các điểm đi từ A -> B NHƯNG là đường thẳng trên không nối liền 2 điểm A, B chứ KHÔNG PHẢI là các điểm từ A -> B trên mặt đất như khi lấy Polar của war.
Từ đó mở rộng ra ta có thể làm các hiệu ứng đi kèm như:
- Knock back chéo lên trời hay văng vào ngọn núi nào đó >big grin<
- Tạo các spell hoành tráng có effect trên không bắn vào target

2. unit3d cho phép tạo unit trong Oxyz (bình thường thì phải tạo rùi add/remove CROWFORM rùi nâng FlyHeight), quản lí type: "unit3d" như type: "unit".

3. effect3d cho phép tạo effect trên không (thường thì tạo unit rùi attach model vào), một effect3d có thể chứa nhiều model effect (tìm hiểu hàm .add), move trong hệ trục Oxyz, chỉnh kích cỡ effect (hàm .scale), hẹn time remove effect (hàm .setTimedLife).

4. dummy cũng như unit3d nhưng tại sao phải tách riêng? Đơn giản là tôi muốn quản lí dễ dàng hơn. Đồng thời kết hợp khả năng của 2 thằng unit3d và effect3d lại.

5. position (3D) thay thế location (2D)

6. angle3d tính góc trong Oxyz (chéo lên, chéo xuống, hướng nào cũng được tất)

7. đi kèm 1 số hàm tính distance 3D nếu xài distance của war thì khi 2 unit A(0,0) và B(0,100) thì distance sẽ cho ra 100 dù cho B ở vị trí cao hơn A cả ngàn thước đi chăng nữa rolling on the floor vì vậy mà mềnh làm mí cái distance 3D là zậy.

Và còn cách công dụng khác tùy cách bạn sử dụng nó big grin

Link down:
mediafire.com ?v7gg02b9kyufgdw

View user profile
Tầng 1 on 17/5/2013, 15:18
Tham gia : 2012-11-30
Bài gửi : 7
Point : 57
Nhận thích : 3
Tường Bài viết Kết bạn Chặn

Re: [System] RealitySys 1.4c - Make by 19101994

Khung code trên này chật hẹp nhìn tởm vãi _ _! ai thấy khó đọc thì down map về rùi vào "Read me" cho dễ đọc

View user profile
Tầng 2 on 17/5/2013, 15:20
Tham gia : 2012-05-29
Bài gửi : 1526
Point : 14475
Nhận thích : 346
Biệt Danh : Ajen Kul huyền thoại
Tường Bài viết Kết bạn Chặn

Re: [System] RealitySys 1.4c - Make by 19101994

Chẹp

View user profile
Tầng 3 on 17/5/2013, 15:24
Tham gia : 2013-05-06
Bài gửi : 11
Point : 38
Nhận thích : 0
Tường Bài viết Kết bạn Chặn

Re: [System] RealitySys 1.4c - Make by 19101994

like cho em nè

View user profile
Tầng 4 on 17/5/2013, 16:09
Tham gia : 2012-01-16
Bài gửi : 2501
Point : 3511
Nhận thích : 512
Biệt Danh : ..Have Some Tea ?..
Tường Bài viết Kết bạn Chặn

Re: [System] RealitySys 1.4c - Make by 19101994

Hiroshi.Kaze -.-

View user profile
Tầng 5 on 17/5/2013, 16:49
Tham gia : 2012-11-30
Bài gửi : 7
Point : 57
Nhận thích : 3
Tường Bài viết Kết bạn Chặn

Re: [System] RealitySys 1.4c - Make by 19101994

thái độ gì đó -.-

View user profile
Tầng 6 on 17/5/2013, 17:26
Tham gia : 2012-01-16
Bài gửi : 2501
Point : 3511
Nhận thích : 512
Biệt Danh : ..Have Some Tea ?..
Tường Bài viết Kết bạn Chặn

Re: [System] RealitySys 1.4c - Make by 19101994

Close h -.-

View user profile
Tầng 7 on 23/6/2013, 21:58

Re: [System] RealitySys 1.4c - Make by 19101994

Tầng 8 Today at 01:19


Tên truy cập