Renegade Public Forums
C&C: Renegade --> Dying since 2003™, resurrected in 2024!
Home » Renegade Discussions » Mod Forum » Lua sleep()
Re: Lua sleep() [message #450338 is a reply to message #450327] Sat, 30 July 2011 10:05 Go to previous messageGo to previous message
Intradox is currently offline  Intradox
Messages: 60
Registered: February 2011
Location: United States
Karma:
Recruit
I'm using Lua v5.0, and the reason it looks outdated it because the an example I used was for an older version.

So I tried this:

function printf(...) 
	io.write(string.format(unpack(arg))) 
end
function InputConsole(...)
	Console_Input(string.format(unpack(arg)))
end

Players = {}
currentsong = "ammoclip.mp3"

Jukebox = {}
function Jukebox:Created(ID, obj)	
   playlist = {"ammoclip.mp3", "command&conquer.mp3", "defunkt.mp3", "in the line of fire.mp3", "level0_pt1_music.mp3", "level 0 hero.mp3", "level 0 nod base.mp3", "level 0 tank.mp3", "level 0 tiberium.mp3", "mechmansrevenge.mp3", "moveit.mp3", "onyourfeet.mp3", "raveshaw_act on instinct.mp3", "renegadejungle.mp3", "sakura battle theme.mp3", "sakura_dogfight.mp3", "sneakattack.mp3", "sniper.mp3", "stopthemagain.mp3"}
   playlisttimes = {193, 175, 163, 235, 26, 31, 54, 51, 47, 227, 121, 234, 148, 141, 240, 280, 228, 196, 234}
   Start_Timer(ID, obj, 193, 1)
end

function Jukebox:Destroyed(ID, obj)
	if song == nil then
		song = 0
	end
	if ID == 1 then
		if playlist[song + 1] ~= nil then
			song = song + 1
		else
			song = 1 
		end
		InputConsole("msg [DarkEVA]: Now playing %s.", playlist[song])
		currentsong = playlist[song]
		players = Get_All_Players()
		for i = 1, #players do
			pID = FindPlayerName("FindID", players[i])
			music = Players[Get_Player_Name_By_ID(pID)]
			if music == "on" then
				InputConsole("musicp %d %s", pID, playlist[song])
			end
		end
		Start_Timer(ID, obj, playlisttime[song], 1)
	end
end

function Jukebox:Killed(ID, obj, killer)

end

Register_Script("Jukebox", "", Jukebox)

Object = 0

function OnChat(pID, Type, Message)
FindWords(Message)
if FirstW == "!playlist" then
	InputConsole("ppage %d [DarkEVA]: Playlist: ammoclip.mp3, command&conquer.mp3, defunkt.mp3, in the line of fire.mp3, level0_pt1_music.mp3, level 0 hero.mp3, level 0 nod base.mp3, level 0 tank.mp3, level 0 tiberium.mp3, mechmansrevenge.mp3, moveit.mp3, onyourfeet.mp3, raveshaw_act on instinct.mp3, renegadejungle.mp3, sakura battle theme.mp3, sakura_dogfight.mp3, sneakattack.mp3, sniper.mp3, stopthemagain.mp3", pID)
end
if FirstW == "!music" then
	if SecondW == "off" then
		Players[Get_Player_Name_By_ID(pID)]="off"
		InputConsole("nomusicp %d", pID)
	elseif SecondW == "on" then
		Players[Get_Player_Name_By_ID(pID)]="on"
		InputConsole("musicp %d %s", pID, currentsong)
	end
end
return 1
end

function OnPlayerJoin(pID, Nick)
	Players[Get_Player_Name_By_ID(pID)]="off"
end

function OnPlayerLeave(pID)

end

function OnHostMessage(ID, Type, Message)

end

function OnLevelLoaded()
--   local pos = {X = 0, Y = 0, Z = -10}
--   oArrow = Create_Object("Daves Arrow", pos)
--   Attach_Script_Once(oArrow, "Jukebox", "")
end

function OnLevelEnded()

end

function OnConsoleOutput(Message)

end

function OnDDERecived(Message)

end

function OnObjectCreate(Object)

end

function FindPlayerName(sMethod, sName)
   -- This Function Made Soley By PsuFan
   -- Please Read The Following Steps/Information Carefully
   -- FindPlayerName Function V0.2

   -- This function finds either a players ID number, or the players full name
   -- I.E. If I call FindPlayerName("FindID", "psufan513") It would return psufan513's ID number.
   -- If I call FindPlayerName("FullName", "psu") It would return psufan513 if it was unique.


   -- Example Command

   -- if Message == "!myname" then -- This command is pointless because you already know the ID (pID) and player name, its just an example.
   --   name = Get_Player_Name_By_ID(pID)
   --    ID = FindPlayerName("FindID", name)
   --   if ID == "None" then
   --    -- The name you entered has no matches
   --   elseif ID == "Many" then
   --    -- The name you entered is not unique
   --    end
   -- end


   -- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
   -- Please Do Not Edit Beyond This Point, If this function isnt working properly for you,
   -- contact PsuFan to assist you. This code is to complicated for you to fix anyway.
   -- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

   CurID = 0
   sReturn = ""
   FoundName = ""

   while CurID <= 127 and sReturn == "" do
      CurID = CurID + 1
      CurName = Get_Player_Name_By_ID(CurID)
      if CurName ~= nil then
         if string.lower(CurName) == string.lower(sName) then-- Full Match
            sReturn = CurName
         elseif string.find(string.lower(CurName), string.lower(sName)) ~= nil then
            if FoundName == "" then
               FoundName = CurName
            else
               sReturn = "Many"
            end
         end
      end
   end

   if FoundName ~= "" and sReturn ~= "Many" then
      sReturn = FoundName
   end

   if sMethod == "FindID" and sReturn ~= "Many" and sReturn ~= "" then
      CurID = 0

      FoundName = sReturn
      sReturn = ""

      while CurID <= 127 and sReturn == "" do
         CurID = CurID + 1
         CurName = Get_Player_Name_By_ID(CurID)
         if CurName ~= nil then
            if CurName == FoundName then
               sReturn = CurID
            end

         end
      end
   end

   if sReturn ~= "" and sReturn ~= nil then
      return sReturn
   else
      return "None"
   end
end

function FindWords(Text)
   -- This Function Made Soley By PsuFan
   -- Please Read The Following Steps/Information Carefully

   -- This function finds all the words in the message you send it
   -- FirstW, SecondW, SecondPlus, ThirdW, ThirdPlus, and FourthW are whats returned

   -- Installation:
   --    1: Copy this sub into your luaplugin.lua at the bottom of the file
   --    2: Add this line to the top of OnChat function >  FindWords(Message)
   -- Thats it! You can now use FirstW, SecondW, etc in your OnChat function.

   -- This function is great for commands like !ban psufan because he sucks
   -- !ban <name> <reason>
   -- FirstW would equal "!ban"
   -- SecondW would equal "psufan" or the <name>
   -- Then the reason would be ThirdPlus ("because he sucks") or the <reason>

   -- Key:
   --   FirstW     = First Word
   --   SecondW    = Second Word
   --   SecondPlus = Second Word Till End   
   --   ThirdW     = Third Word
   --    ThirdPlus  = Third Word Till End
   --   FourthW    = Fourth Word


   -- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
   -- Please Do Not Edit Beyond This Point, If this function isnt working properly for you,
   -- contact PsuFan to assist you. This code is to complicated for you to fix anyway.
   -- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
   
   Found = string.find(Text, " ")
   if Found ~= nil then
      FirstW = string.sub(Text, 0, Found - 1)
      SecondW = string.sub(Text, Found + 1)
      SecondPlus = SecondW

      Found = string.find(SecondW, " ")
      if Found ~= nil then
         ThirdW = string.sub(SecondW, Found + 1)
         SecondW = string.sub(SecondW, 0, Found - 1)
         ThirdPlus = ThirdW

         Found = string.find(ThirdW, " ")
         if Found ~= nil then
            FourthW = string.sub(ThirdW, Found + 1)
            ThirdW = string.sub(ThirdW, 0, Found - 1)

            Found = string.find(FourthW, " ")
            if Found ~= nil then
               FourthW = string.sub(FourthW, 0, Found - 1)
            end
         else
            FourthW = ""
         end
      else
         ThirdW = ""
         ThirdPlus = ""
         FourthW = ""
      end
   else
      FirstW = Text
      SecondW = ""
      SecondPlus = ""
      ThirdW = ""
      ThirdPlus = ""
      FourthW = ""
   end
end


Still no output and it still doesn't work.


Not pro enough at renegade to snipe.

[Updated on: Sat, 30 July 2011 10:41]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Lua. Answers.
Next Topic: What's the TFD Renegade registry path?
Goto Forum:
  


Current Time: Fri Dec 20 17:17:19 MST 2024

Total time taken to generate the page: 0.00789 seconds