- Joined
- Dec 5, 2011
- Messages
- 368
no that is why gui exists
DotA is all vJass, most LoaPs are all vJass, all RPs are all vJass...
As far as I know, DotA is written in GUI
local trigger t=GetTriggeringTrigger()
local integer E0X=GetHandleId(t)
local unit CGR=(LoadUnitHandle(HY,(E0X),('|')))
local integer CLR=(LoadInteger(HY,(E0X),('}')))
local integer CMR=(LoadInteger(HY,(E0X),('j')))
local integer CPR=(LoadInteger(HY,(E0X),('k')))
local integer CQR=(LoadInteger(HY,(E0X),('l')))
local integer CSR=(LoadInteger(HY,(E0X),('m')))
local integer CTR=(LoadInteger(HY,(E0X),('n')))
local integer CUR=(LoadInteger(HY,(E0X),('o')))
local player p0=(LoadPlayerHandle(HY,(E0X),('v')))
local player p1=(LoadPlayerHandle(HY,(E0X),('w')))
local player p2=(LoadPlayerHandle(HY,(E0X),('x')))
local player p3=(LoadPlayerHandle(HY,(E0X),('y')))
local player p4=(LoadPlayerHandle(HY,(E0X),('z')))
local player p5=(LoadPlayerHandle(HY,(E0X),('{')))
local integer CWR=(LoadInteger(HY,(E0X),('p')))
local integer CYR=(LoadInteger(HY,(E0X),('q')))
local integer CZR=(LoadInteger(HY,(E0X),('r')))
local integer C_R=(LoadInteger(HY,(E0X),('s')))
local integer C0R=(LoadInteger(HY,(E0X),('t')))
local integer C1R=(LoadInteger(HY,(E0X),('u')))
loop
exitwhen X6X>X7X
call V7X(M0,1,X6X+3+PSV,E5X(L1[GetPlayerId(T1[X6X])]))
call V3X(M0,3,X6X+3+PSV,"|c00838B8B"+I2S(GetHeroLevel(L1[GetPlayerId(T1[X6X])]))+"|r")
if TVV[GetPlayerId(GetLocalPlayer())]then
call ENX(M0,7,1,3)
call ENX(M0,8,1,2.8)
call ENX(M0,9,1,.8)
call ENX(M0,$A,1,.8)
call ENX(M0,$B,1,.8)
call ENX(M0,$C,1,.8)
call ENX(M0,$D,1,.1)
call ENX(M0,7,X6X+3+PSV,3)
call ENX(M0,8,X6X+3+PSV,1.1)
call ENX(M0,9,X6X+3+PSV,1.1)
call ENX(M0,$A,X6X+3+PSV,1.1)
call ENX(M0,$B,X6X+3+PSV,1.1)
call ENX(M0,$C,X6X+3+PSV,1.1)
call ENX(M0,$D,X6X+3+PSV,.1)
call V9X(M0,8,X6X+3+PSV,false,true)
call V9X(M0,9,X6X+3+PSV,false,true)
call V9X(M0,$A,X6X+3+PSV,false,true)
call V9X(M0,$B,X6X+3+PSV,false,true)
call V9X(M0,$C,X6X+3+PSV,false,true)
call V9X(M0,$D,X6X+3+PSV,false,true)
call V3X(M0,8,1,"Items")
else
call ENX(M0,7,1,2)
call ENX(M0,8,1,.1)
call ENX(M0,9,1,.1)
call ENX(M0,$A,1,.1)
call ENX(M0,$B,1,.1)
call ENX(M0,$C,1,.1)
call ENX(M0,$D,1,.1)
call ENX(M0,7,X6X+3+PSV,2.5)
call ENX(M0,8,X6X+3+PSV,.1)
call ENX(M0,9,X6X+3+PSV,.1)
call ENX(M0,$A,X6X+3+PSV,.1)
call ENX(M0,$B,X6X+3+PSV,.1)
call ENX(M0,$C,X6X+3+PSV,.1)
call ENX(M0,$D,X6X+3+PSV,.1)
call V9X(M0,8,X6X+3+PSV,false,false)
call V9X(M0,9,X6X+3+PSV,false,false)
call V9X(M0,$A,X6X+3+PSV,false,false)
call V9X(M0,$B,X6X+3+PSV,false,false)
call V9X(M0,$C,X6X+3+PSV,false,false)
call V9X(M0,$D,X6X+3+PSV,false,false)
call V3X(M0,8,1," ")
endif
call V7X(M0,8,X6X+3+PSV,PXR(T1[X6X],1))
call V7X(M0,9,X6X+3+PSV,PXR(T1[X6X],2))
call V7X(M0,$A,X6X+3+PSV,PXR(T1[X6X],3))
call V7X(M0,$B,X6X+3+PSV,PXR(T1[X6X],4))
call V7X(M0,$C,X6X+3+PSV,PXR(T1[X6X],5))
call V7X(M0,$D,X6X+3+PSV,PXR(T1[X6X],6))
I had one of those opendota maps as well, and it contained a gazillion of BJ's - so even if it's not coded in GUI, it's really poorly written.
function ReleaseCameraUnit takes player p returns nothing
function ReleaseMovementUnit takes player p returns nothing
Dota is JASSAs far as I know, DotA is written in GUI
Radamantus, your link is a deprotected version of DotA, not an unprotected one (which means everything has not been recovered, including GUI triggers if there were some in the devellopment version).
There was a time I investigated the jass scripts of protected version of DotA. I think it is done in pure jass and not vJass, because there were a big use of hashtable (and string hash) and nothing like structs-looking stuff. There wasn't any "ExecuteFunc" in the main function either, which is a vJass mark.
But I know it has changed several time since then. The string hashs have been replaced by integers, for instance.
[/mytwocents]
Is that all??
// Advanced Camera System by The_Witcher
//
// This is a very advanced advanced camera system which adjusts the camera
// distance to the target so the camera isn't looking through houses/trees/...
// and the cameras angle of attack so the view isn't blocked because of hills...
//
// useful for RPGs and that stuff
//
// To bind the camera to a unit for a player use
// SetCameraUnit( unit, player )
//
// if you want to have your normal camera again use
// ReleaseCameraUnit( player )
//
// in case you want to know which unit is bound to the camera for player xy use
// GetCameraUnit( player )
//
// to change the AngleOfAttack of a player ingame use
// SetCamDefaultAngleOfAttack( Player, NewValue )
//
// to change the maximal camera target distance of a player ingame use
// SetCamMaxDistance( Player, NewValue )
//
// to change the maximal distance behind the target, the z-offset is checked (for z-angle), of a player ingame use
// SetCamMaxZCheckDistance( Player, NewValue )