Jump to content

auotman

Members
  • Posts

    8
  • Joined

  • Last visited

Posts posted by auotman

  1. Script.health=100

    Script.levelcomplete=false

    Script.coinscollected=0

    if TotalCoins==nil then

    TotalCoins=0

    end

     

     

    function Script:Start()

    self.camera = Camera:Create()

    self.startposition = self.entity:GetPosition(true)

    self.font = Font:Load("Fonts/Ranchers-Regular.ttf",32)

    if self.font==nil then

    camera:Move(0,0,-6)

    local context = Context:GetCurrent()

    self.font = context:GetFont()

    end

    self:Respawn()

    end

     

    function Script:SetLevelComplete(nextmapname)

    self.nextmapname=nextmapname

    self.levelcomplete=true

    self.levelcompletetime=Time:GetCurrent()

    end

     

    function Script:TakeDamage(damage)

    self.health = self.health - damage

    if self.health<=0 then

    text= "Nice try"

    self:Respawn()

     

     

    end

    end

     

    function Script:CollectCoin()

    self.coinscollected=self.coinscollected+1

    end

     

    function Script:Respawn()

    self.health=100

    self.entity:SetPosition(self.startposition)

    self.entity:SetRotation(45,0,0)

    self.entity:SetVelocity(Vec3(0,0,0))

    self.entity:SetOmega(Vec3(0,0,0))

    self.gamestarttime = Time:GetCurrent()+2000

    end

    function Script:UpdateWorld()

    self.camera:SetRotation(0,-90,0)

    self.camera:SetPosition(self.entity:GetPosition())

    self.camera:Move(0,0,-4)

     

    end

    function Script:UpdatePhysics()

    local window = Window:GetCurrent()

    local movex=0

    local movey=0

    local movez=0

    local force=10

    local jumpforce=800

     

    if Time:GetCurrent()<self.gamestarttime then

    return

    end

     

    if self.levelcomplete then

    self.entity:SetMass(0)

    return

    end

    if window:KeyDown(Key.A) then

    movex = movex - force

    end

    if window:KeyDown(Key.D) then

    movex = movex + force

    end

    if window:KeyDown(Key.S) then

    movez = movez - force

    end

    if window:KeyDown(Key.W) then

    movez = movez + force

    end

    if window:KeyDown(Key.space) then

    movey = movey + jumpforce

    end

    self.entity:AddForce(movex,movey,movez,true)

    end

     

    function Script:Collision(entity, position, normal, speed)

     

    end

     

    function Script:PostRender(context)

    local t = Time:GetCurrent()

    local timetostart = self.gamestarttime-t

    context:SetBlendMode(Blend.Alpha)

    context:SetColor(1,0,0,1)

    local text

    local prevfont = context:GetFont()

    prevfont:AddRef()

    context:SetFont(self.font)

    local fh=self.font:GetHeight()

    local timestring

     

    if self.levelcomplete==false then

    self.timeelapsed = t - self.gamestarttime

    if self.timeelapsed>0 then

    local seconds = math.floor(self.timeelapsed/1000)

    local minutes = math.floor(seconds / 60)

    seconds = seconds - minutes * 60

    if seconds<10 then

    seconds = "0"..seconds

    end

    text = minutes..":"..seconds

    else

    text = "0:00"

    end

    self.timestring=text

    end

     

    if self.levelcomplete then

    if t-self.levelcompletetime>3000 then

    changemapname=self.nextmapname

    end

    text="Level Complete good job"

    context:DrawText(text,(context:GetWidth()-self.font:GetTextWidth(text))/2,(context:GetHeight()-fh)/2-fh*1.5)

    text="Time: "..self.timestring

    context:DrawText(text,(context:GetWidth()-self.font:GetTextWidth(text))/2,(context:GetHeight()-fh)/2)

    text="Coins: "..self.coinscollected.."/"..TotalCoins

    context:DrawText(text,(context:GetWidth()-self.font:GetTextWidth(text))/2,(context:GetHeight()-self.font:GetHeight())/2+fh*1.5)

    else

    if timetostart>-1000 then

    text="Go!"

    if timetostart>0 then

    text="Get Ready..."

    end

    context:DrawText(text,(context:GetWidth()-self.font:GetTextWidth(text))/2,(context:GetHeight()-self.font:GetHeight())/2)

    else

    text="Time: "..self.timestring

    context:DrawText(text,context:GetWidth()-self.font:GetTextWidth(text)-8,8)

    text="Coins: "..self.coinscollected.."/"..TotalCoins

    context:DrawText(text,context:GetWidth()-self.font:GetTextWidth(text)-8,8+fh*1.5)

    end

    end

     

    context:SetFont(prevfont)

    prevfont:Release()

    context:SetBlendMode(Blend.Solid)

    context:SetColor(1,1,1,1)

    end

×
×
  • Create New...