Name | Type | is_array | initial_value |
AAAKratos | unit | No | |
ActiveCharacter | unit | No | |
AllyATB | integer | Yes | |
AllyBattleGroup | group | No | |
AllyBattleUnit | unit | Yes | |
Anti_Cheat_Damage_Shooter | unit | No | |
Anti_Cheat_Damage_Taker | unit | No | |
Anti_Cheat_Mana | unit | No | |
Anti_Cheat_Vision | unit | No | |
BattleGroup | group | No | |
BattleLocation | location | No | |
BattleMode | boolean | No | |
BattleRoomPosition | location | Yes | |
Bone_Chiller_Caster | unit | No | |
Bone_Chiller_INT | integervar | No | |
Bone_Chiller_UG | group | No | |
BookOfLight | quest | No | |
CAMPAIGN_CHAPTER | integer | No | |
CHEAT_ON | boolean | No | |
Cinematic | boolean | No | |
CinematicSkipped | boolean | No | false |
CircleActivationBool | boolean | Yes | |
ContinueTest | button | No | |
Creep_Point | location | Yes | |
Damage_AAA_Spell | real | No | |
DemonBase | quest | No | |
Details | quest | No | |
Difficulty | dialog | No | |
Easy | button | No | |
EndTest | dialog | No | |
EnemyBattleGroup | group | No | |
EnemyBattleUnit | unit | No | |
ExpRequirement | integer | Yes | |
FindDog | effect | No | |
FindDogGold | button | No | |
FindDogItem | button | No | |
FindDogPrize | dialog | No | |
FindDogStone | button | No | |
Findmydog | quest | No | |
FinishTest | button | No | |
FloatText1 | texttag | No | |
FloatText2 | texttag | No | |
FloatText3 | texttag | No | |
FloatText4 | texttag | No | |
GatherFood | quest | No | |
GloomyWoods | weathereffect | No | |
Hard | button | No | |
Harrison | unit | No | |
HarrisonAccessory | boolean | Yes | false |
HarrisonAGI | button | No | |
HarrisonArmor | boolean | Yes | false |
HarrisonBoot | boolean | Yes | false |
HarrisonHand | boolean | Yes | false |
HarrisonHouse | weathereffect | No | |
HarrisonINT | button | No | |
HarrisonKills | integer | No | |
HarrisonLevel | dialog | No | |
HarrisonSTR | button | No | |
HarrisonWeapon | boolean | Yes | false |
HideNSeek | effect | No | |
HidenSeekQuest | quest | No | |
HunterTraining | quest | No | |
I | location | No | |
i | integervar | No | |
Inn | dialog | No | |
Inn_DB_1 | button | No | |
Inn_DB_2 | button | No | |
Item1Harrison | item | No | |
Item2Harrison | item | No | |
Item3Harrison | item | No | |
Item4Harrison | item | No | |
Item5Harrison | item | No | |
Jade | unit | No | |
JadeAgi | button | No | |
JadeInt | button | No | |
JadeKills | integer | No | |
JadeLevel | dialog | No | |
JadeStr | button | No | |
justTaken | boolean | No | |
KillCounter | multiboard | No | |
L | location | No | |
LifeSpring | quest | No | |
LightRain | weathereffect | No | |
LightRain2 | weathereffect | No | |
LostDog | effect | No | |
Marina | unit | No | |
MarinaAGI | button | No | |
MarinaINT | button | No | |
MarinaKills | integer | No | |
MarinaLevel | dialog | No | |
MarinaSTR | button | No | |
MaxLife | integer | No | |
MaxMana | integer | No | |
Music_Volume | real | No | |
Normal | button | No | |
Number0 | button | No | |
Number1 | button | No | |
Number2 | button | No | |
Number3 | button | No | |
Number4 | button | No | |
Number5 | button | No | |
Number6 | button | No | |
Number7 | button | No | |
Number8 | button | No | |
Number9 | button | No | |
OrbType1 | integer | No | |
OrbType2 | integer | No | |
RANDOM | integer | No | |
Respawn_Time | real | No | |
ReturnDog | effect | No | |
SaveSigfrid1 | dialog | No | |
SaveSigfrid2 | dialog | No | |
SaveSigfrid3 | dialog | No | |
SecretBooks | quest | No | |
SellingTheBearHide | quest | No | |
ShadowOrbs | itemcode | Yes | |
Sigfrid | unit | No | |
SigfridAgi | button | No | |
SigfridInt | button | No | |
SigfridKills | integer | No | |
SigfridLevel | dialog | No | |
SigfridStr | button | No | |
Temp_Integer | integer | No | |
TempGroup | group | No | |
TempLoc | location | No | |
TempLoc2 | location | No | |
TempTarget | unit | No | |
THEMIST | weathereffect | No | |
THEMIST2 | weathereffect | No | |
Tothecastle | quest | No |
//Copyright by FREEZE_ball
//Support: XGM.ru
//========================================
//-------Functions Cache (DONT CHANGE)--------
//========================================
function SDMS_YourCache takes nothing returns gamecache
return InitGameCacheBJ("SDMS.w3v")
endfunction
function SDMS_H2I takes handle h returns integer
return h
return 0
endfunction
function SDMS_Tr2I takes integer i returns trigger
return i
return null
endfunction
function SDMS_SetTrigger takes trigger whichTrigger, string whichString returns nothing
call StoreIntegerBJ(SDMS_H2I(whichTrigger),whichString,"SDMS_trigger",SDMS_YourCache())
endfunction
function SDMS_GetTrigger takes string whichString returns trigger
return SDMS_Tr2I(GetStoredIntegerBJ(whichString,"SDMS_trigger",SDMS_YourCache()))
endfunction
//========================================
//----------Color Constants-----------
//========================================
function SDMSTextVars takes integer PlayerNumber returns string
local string array Color
set Color[0] = "|c00FF0303"//Player 1(Red)
set Color[1] = "|c000042FF"//etc.
set Color[2] = "|c001CE6B9"
set Color[3] = "|c00540079"
set Color[4] = "|c00FFFC01"
set Color[5] = "|c00FE8A0E"
set Color[6] = "|c00FE8A0E"
set Color[7] = "|c00E55BB0"
set Color[8] = "|c00959697"
set Color[9] = "|c00FF0303" // Original - c007EBFF1
set Color[10] = "|c00106246"
set Color[11] = "|c004E2A04"
set Color[12] = "|c00282828"// \
set Color[13] = "|c00282828"// >>3 Neutral Players
set Color[14] = "|c00282828"// /
return Color[PlayerNumber]
endfunction
//========================================
//---------____________ variables----------
//========================================
function SDMSFontSize takes nothing returns real
return 10.0//Font size, which will be used to write floating text with. Dont Make It too small, cuz you wont see it. 10-15 RECOMENDED.
endfunction
function SDMStheTrigger takes nothing returns trigger
return SDMS_GetTrigger("SDMStheTrigger")//Here name of a random variable like trigger.
endfunction
function SDMSLifeTime takes nothing returns real
return 1.5//Time continuos. Dont make it too much, cuz you will be lagging. 1-2 seconds RECOMENDED.
endfunction
function SDMSMinus takes nothing returns string
return "== "//Gives back whatever written before damage number. Examples:
//"Given Damage " eg.: -15
//"Taken Damage " eg.: -21
//"" ________: 16
//RECOMENDED to use "-" because of good production.
endfunction
function SDMSPlus takes nothing returns string
return " =="//Gives Back whatever goes after the damage number. Examples
//" dmg. points" example: 15 dmg. points
//" damage" example: 21 damage
//Recomended to use "" cuz of good production. If plus and minus combined, you may get good result. Example: Given 17 dmg. points
endfunction
function SDMSBooleanDysplayOnlyVisible takes nothing returns boolean
return true//Make it true, if you want that string wont show in closed fog of war places. And false that string appear even in invisible for player places.
endfunction
function SDMSIntegerWhichColor takes nothing returns integer
return 3//Use number that can rely on your own choice:
//1 - text will be shown with color, who gave damage (standard)
//2 - text will be shown with color of player, who taken damage
//3 - text will be shown specially for player that must be configured in next function.
endfunction
function SDMSGetYourColor takes string Parameter returns string
//This Function gives back text colors that are shown for specific player.
if Parameter=="YourByYour" then
return "|c000000FF"//Your units under attack by your units
elseif Parameter=="YourByAlly" then
return "|c00FF8080"//Your units attacked by Ally units
elseif Parameter=="YourByEnemy" then
return "|c00FF0000"//Your Units attacked by enemy units
elseif Parameter=="AllyByYour" then
return "|c00800080"//Your Ally's units attacked by your units
elseif Parameter=="AllyByAlly" then
return "|c008080FF"//Your Ally's units attacked by your Ally's units
elseif Parameter=="AllyByEnemy" then
return "|c00FFFF00"//Your Ally's units attacked by your enemy
elseif Parameter=="EnemyByYour" then
return "|c00F1D810"//Enemy units attacked by your units
elseif Parameter=="EnemyByAlly" then
return "|c00008080"//Enemy units attacked by your ally units
elseif Parameter=="EnemyByEnemy" then
return "|c00008000"//Enemy units attacked by your enemy units
elseif Parameter=="Not Specific Type" then
return "|c00FFFFFF"//All other possible combinations
endif
return "|cffff0000String Error!|r |c00000000"//Shown if other configurations were wrong
endfunction
//========================================
//----Permanent Functions - DONT CHANGE!---
//========================================
function SDMSCreateFloatingTextTagAboveUnit takes string Text, integer Size, unit TargetUnit, real LifeTime returns texttag
local texttag tt=null
call CreateTextTagUnitBJ(Text,TargetUnit,0,Size,100.0,100.0,100.0,0.0)
set tt=GetLastCreatedTextTag()
call SetTextTagVelocityBJ(tt,96.0,90)
call SetTextTagPermanentBJ(tt,false)
call SetTextTagLifespanBJ(tt,LifeTime)
call SetTextTagFadepointBJ(tt,0.0)
return tt
endfunction
function SDMSGetParameterOfAttack takes player Attacked, player Attacker, player You returns string
if Attacked==You then
if Attacker==You then
return "YourByYour"
elseif IsPlayerAlly(Attacker,You) then
return "YourByAlly"
elseif IsPlayerEnemy(Attacker,You) then
return "YourByEnemy"
endif
elseif IsPlayerAlly(Attacked,You) then
if Attacker==You then
return "AllyByYour"
elseif IsPlayerAlly(Attacker,You) then
return "AllyByAlly"
elseif IsPlayerEnemy(Attacker,You) then
return "AllyByEnemy"
endif
elseif IsPlayerEnemy(Attacked,You) then
if Attacker==You then
return "EnemyByYour"
elseif IsPlayerAlly(Attacker,You) then
return "EnemyByAlly"
elseif IsPlayerEnemy(Attacker,You) then
return "EnemyByEnemy"
endif
endif
return "Not Specific Type"
endfunction
function SDMSCreateTextTag takes nothing returns nothing
local unit u=GetAttackedUnitBJ()
local player pl=GetOwningPlayer(u)
local player attacker=GetOwningPlayer(GetEventDamageSource())
local integer i=GetConvertedPlayerId(pl)
local texttag tt=null
local real fontSize=SDMSFontSize()
local real lifeTime=SDMSLifeTime()
local string minus=SDMSMinus()
local string plus=SDMSPlus()
local string textColor=SDMSTextVars(i-1)
local boolean if1=SDMSBooleanDysplayOnlyVisible()
local integer GetDamage=R2I(GetEventDamage())
local force lF=CreateForce()
local integer eI=0
if SDMSIntegerWhichColor()==2 then
set textColor=SDMSTextVars(GetConvertedPlayerId(attacker)-1)
elseif SDMSIntegerWhichColor()==3 then
loop
exitwhen eI==14
if GetPlayerController(Player(eI))==MAP_CONTROL_USER and GetPlayerSlotState(Player(eI))==PLAYER_SLOT_STATE_PLAYING then
set textColor=SDMSGetYourColor(SDMSGetParameterOfAttack(pl,attacker,Player(eI)))
if GetDamage!=0 then
set tt=SDMSCreateFloatingTextTagAboveUnit(textColor+minus+I2S(GetDamage)+plus+"|r",R2I(fontSize),u,lifeTime)
call ShowTextTagForceBJ(false,tt,GetPlayersAll())
if IsUnitVisible(u,Player(eI))==true then
call ForceAddPlayer(lF,Player(eI))
call ShowTextTagForceBJ(true,tt,lF)
call DestroyForce(lF)
set lF=CreateForce()
endif
endif
endif
set eI=eI+1
endloop
call DestroyForce(lF)
return
endif
if GetDamage!=0 then
set tt=SDMSCreateFloatingTextTagAboveUnit(textColor+minus+I2S(GetDamage)+plus+"|r",R2I(fontSize),u,lifeTime)
if if1==true then
call ShowTextTagForceBJ(false,tt,GetPlayersAll())
loop
exitwhen eI==14
if IsUnitVisible(u,Player(eI))==true then
call ForceAddPlayer(lF,Player(eI))
endif
set eI=eI+1
endloop
call ShowTextTagForceBJ(true,tt,lF)
endif
call PolledWait(lifeTime)
endif
call DestroyForce(lF)
endfunction
function SDMSTriggerRegisterUnitDamaged takes nothing returns nothing
call TriggerRegisterUnitEvent(SDMStheTrigger(),GetEnteringUnit(),EVENT_UNIT_DAMAGED)
endfunction
function SDMSGroupFunction takes nothing returns nothing
local unit u=GetEnumUnit()
call TriggerRegisterUnitEvent(SDMStheTrigger(),u,EVENT_UNIT_DAMAGED)
set u=null
endfunction
function theSDMSTriggerActions takes nothing returns nothing
local trigger UnitEnter=CreateTrigger()
call TriggerRegisterEnterRectSimple(UnitEnter,GetPlayableMapRect())
call TriggerAddAction(UnitEnter,function SDMSTriggerRegisterUnitDamaged)
call ForGroupBJ(GetUnitsInRectAll(GetPlayableMapRect()),function SDMSGroupFunction)
set UnitEnter=null
endfunction
//========================================
//---------------DONT TOUCH!--------------
//========================================
function InitTrig_the_SDMSTrigger takes nothing returns nothing
local trigger tr=CreateTrigger()
local trigger xTR=CreateTrigger()
call SDMS_SetTrigger(xTR,"SDMStheTrigger")
call TriggerAddAction(SDMStheTrigger(),function SDMSCreateTextTag)
call TriggerRegisterTimerEventSingle(tr,0.0)
call TriggerAddAction(tr,function theSDMSTriggerActions)
set tr=null
endfunction