- Joined
- Dec 5, 2011
- Messages
- 369
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
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 )
Custom script: call ReleaseCameraUnit(udg_your_gui_variable)
