Scripts / Checking if an enemy is dead

Author
Message
sweet_jonson
9
Years of Service
User Offline
Joined: 29th Nov 2015
Location:
Posted: 2nd Dec 2015 22:43 Edited at: 3rd Dec 2015 07:49
Hi everyone!
I'm new on gameguru and i started to try some scripts but without success...I wanted to see when an enemy was killed to increase the score.
I used this instruction:
if g_Entity[e]['health']==0 then
m=m+100
end

In another script i displayed the variable 'm' but was always to the value 0
-- LUA Script - precede every function and global member with lowercase name of script

attackstart = {}
attackend = {}
damageframestart = {}
damageframeend = {}
lastroar = {}
lastswipe = {}
m=0
function zz_init(e)
ai_soldier_state[e] = "idle"
CharacterControlLimbo(e)
SetAnimationFrames(210,234)
LoopAnimation(e)
ModulateSpeed(e,1.0)
SetAnimationSpeed(e,1.0)
attackstart[e]=2561
attackend[e]=2600
damageframestart[e]=2570
damageframeend[e]=2590
lastroar[e]=0
lastswipe[e]=0
end

function zz_main(e)
PromptLocal(e,h)
if g_Entity[e]['health'] == 0 then
m=m+100
end
PlayerDist = GetPlayerDistance(e)
EntObjNo = g_Entity[e]['obj']
if (PlayerDist < 600 and ai_soldier_state[e] == "idle" and g_Entity[e]['plrvisible'] == 1) or (PlayerDist < 100 and ai_soldier_state[e] == "idle") then
RotateToPlayer(e)
if GetTimer(e) > lastroar[e] then
lastroar[e]= GetTimer(e)+6000
PlaySound(e,0)
end
end
if PlayerDist < 600 and g_Entity[e]['plrvisible']==1 then
RotateToPlayer(e)
if PlayerDist < 60 and g_Entity[e]['plrvisible']==1 then
if ai_soldier_state[e]~="attack" then
SetAnimationSpeed(e,1.75)
if GetAnimationFrame(e)<attackstart[e] or GetAnimationFrame(e)>attackend[e] then
AIEntityStop(EntObjNo)
ai_soldier_state[e] = "attack"
CharacterControlLimbo(e)
randomattack=math.random(1,1)
if randomattack==1 then
attackstart[e]=2561
attackend[e]=2600
damageframestart[e]=2580
damageframeend[e]=2595
end
--if randomattack==2 then
-- attackstart[e]=2869
-- attackend[e]=2907
-- damageframestart[e]=2885
-- damageframeend[e]=2890
--end
--if randomattack==3 then
-- attackstart[e]=2910
-- attackend[e]=3023
-- damageframestart[e]=2950
-- damageframeend[e]=3010
--end
SetAnimationFrames(attackstart[e],attackend[e])
PlayAnimation(e)
end
end
if ai_soldier_state[e]=="attack" then
SetAnimationSpeed(e,2)
if GetAnimationFrame(e)>damageframestart[e] and GetAnimationFrame(e)<damageframeend[e] then
if GetPlayerDistance(e)<60 then
if GetTimer(e) > lastswipe[e] then
lastswipe[e]= GetTimer(e)+1000
PlaySound(e,1)
randomdamage=math.random(30,70)
HurtPlayer(e,randomdamage)
end
end
end
if GetAnimationFrame(e)>attackend[e]-1 then
CharacterControlUnarmed(e)
ai_soldier_state[e] = "roam"
randomroam=math.random(1,2)
if randomroam == 1 then
SetAnimationFrames(2530,2559)
end
if randomroam == 2 then
SetAnimationFrames(2499,2528)
end
if GetPlayerDistance(e)<80 then
ai_soldier_state[e] = "idle"
CharacterControlLimbo(e)
SetAnimationFrames(1,1)
RotateToPlayer(e)
end
PlayAnimation(e)
end
end
else
if ai_soldier_state[e]~="roam" then
ai_soldier_state[e] = "roam"
CharacterControlUnarmed(e)
ModulateSpeed(e,1.0)
SetAnimationSpeed(e,1.0)
SetCharacterToWalk(e)
end
rndx=math.random(1,360)
rndz=math.random(1,360)
rndx2=math.sin(rndx)*30
rndz2=math.cos(rndz)*30
AIEntityGoToPosition(EntObjNo,g_PlayerPosX+rndx2,g_PlayerPosZ+rndz2)
end
else
if PlayerDist >= 600 and ai_soldier_state[e] ~= "idle" then
ai_soldier_state[e] = "idle"
CharacterControlLimbo(e)
SetAnimationFrames(210,234)
LoopAnimation(e)
ModulateSpeed(e,1.0)
SetAnimationSpeed(e,1.0)
end
end
--Prompt("ZOMBIEWALK3 : Dist=" .. PlayerDist .. " State=" .. ai_soldier_state[e] .. " Vis=" .. g_Entity[e]['plrvisible'] .. " Frm=" .. GetAnimationFrame(e) )
end

function zz_exit(e)
PlayCharacterSound(e,"onDeath")
CollisionOff(e)
end


function punti_init(e)
end

function punti_main(e)
Prompt(m.." $")
end
PM
smallg
Community Leader
19
Years of Service
User Offline
Joined: 8th Dec 2005
Location:
Posted: 3rd Dec 2015 09:56 Edited at: 3rd Dec 2015 09:56
You just need to put the counter inside the exit (e) part of the AI (enemy) script (found near the bottom of the script), so...

function zz_exit(e)
PlayCharacterSound(e,"onDeath")
CollisionOff(e)
m = m + 100
end
life\'s one big game

windows vista ultimate

i5 @3.3ghz, 4gb ram, AMD R9 200 series , directx 11

Login to post a reply

Server time is: 2024-12-22 10:26:19
Your offset time is: 2024-12-22 10:26:19