Jump to content

Zin

Members
  • Posts

    24
  • Joined

  • Last visited

Everything posted by Zin

  1. Zin

    [DELETED]

    Found a soloution
  2. I can't remove these lights how do I remove them with world object they have no col I can't remove them. http://d21.imgup.net/mta-screen340c.png
  3. Ok I want to remove some world objects but I can only see the world object selector thing which only copies world objects and not the remover can someone tell me how to get it back.
  4. Zin

    Hunter reach script!

    I put it in my destructionderby.lua and now the map does not change when the last player dies and when last player gets the hunter it says "attempt to call getactiveplayers (a nil value) this is my destructionderby.lua DestructionDerby = setmetatable({}, RaceMode) DestructionDerby.__index = DestructionDerby DestructionDerby:register('Destruction derby') function DestructionDerby:isApplicable() return not RaceMode.checkpointsExist() and RaceMode.getMapOption('respawn') == 'none' end function DestructionDerby:getPlayerRank(player) return #getActivePlayers() end -- Copy of old updateRank function DestructionDerby:updateRanks() for i,player in ipairs(g_Players) do if not isPlayerFinished(player) then local rank = self:getPlayerRank(player) if not rank or rank > 0 then setElementData(player, 'race rank', rank) end end end -- Make text look good at the start if not self.running then for i,player in ipairs(g_Players) do setElementData(player, 'race rank', '' ) setElementData(player, 'checkpoint', '' ) end end end function DestructionDerby:onPlayerWasted(player) if isActivePlayer(player) then self:handleFinishActivePlayer(player) if getActivePlayerCount() <= 0 then RaceMode.endMap() else TimerManager.createTimerFor("map",player):setTimer(clientCall, 2000, 1, player, 'Spectate.start', 'auto') end end RaceMode.setPlayerIsFinished(player) showBlipsAttachedTo(player, false) end function hunterAlert(mapInfo, pickupID, pickupType, vehicleModel) if pickupType == "vehiclechange" then if vehicleModel == 425 then if getActivePlayerCount() <= 1 then RaceMode.endMap() end end end end addEventHandler("onPlayerPickUpRacePickup",getRootElement(),hunterAlert) function DestructionDerby:onPlayerQuit(player) if isActivePlayer(player) then self:handleFinishActivePlayer(player) if getActivePlayerCount() <= 1 then RaceMode.endMap() end end end function DestructionDerby:handleFinishActivePlayer(player) -- Update ranking board for player being removed if not self.rankingBoard then self.rankingBoard = RankingBoard:create() self.rankingBoard:setDirection( 'up', getActivePlayerCount() ) end local timePassed = self:getTimePassed() self.rankingBoard:add(player, timePassed) -- Do remove finishActivePlayer(player) -- Update ranking board if one player left local activePlayers = getActivePlayers() local resource = exports["mapmanager"]:getRunningGamemodeMap( ) local mapName = getResourceInfo ( resource, "name" ) if string.find ( mapName, "[DM]" ) then if #activePlayers == 1 then self.rankingBoard:add(activePlayers[1], timePassed) showMessage(getPlayerName(activePlayers[1]) .. ' won the map!', 255, 0, 0) RaceMode.endMap() end elseif string.find ( mapName, "[DD]" ) then if #alivePlayers == 1 then if getElementModel (getPedOccupiedVehicle ( alivePlayers[1] )) == 425 then self.rankingBoard:add(activePlayers[1], timePassed) showMessage(getPlayerName(activePlayers[1]) .. ' won the map!', 255, 0, 0) RaceMode.endMap() end end end end ------------------------------------------------------------ -- activePlayerList stuff -- function isActivePlayer( player ) return table.find( g_CurrentRaceMode.activePlayerList, player ) end function addActivePlayer( player ) table.insertUnique( g_CurrentRaceMode.activePlayerList, player ) end function removeActivePlayer( player ) table.removevalue( g_CurrentRaceMode.activePlayerList, player ) end function finishActivePlayer( player ) table.removevalue( g_CurrentRaceMode.activePlayerList, player ) table.insertUnique( g_CurrentRaceMode.finishedPlayerList, _getPlayerName(player) ) end function getFinishedPlayerCount() return #g_CurrentRaceMode.finishedPlayerList end function getActivePlayerCount() return #g_CurrentRaceMode.activePlayerList end function isDM() end addEvent ( "onPlayerPickUpRacePickup", true ) addEventHandler ( "onPlayerPickUpRacePickup", getRootElement(), function ( id, type, model ) if type == "vehiclechange" and tonumber(id) == 425 then if(#getActivePlayers() <= 1)then RaceMode.endMap() return true end end end )
  5. Zin

    Hunter reach script!

    Still not working function getActivePlayers() return g_CurrentRaceMode.activePlayerList end function isDM() end addEvent ( "onPlayerPickUpRacePickup", true ) addEventHandler ( "onPlayerPickUpRacePickup", getRootElement(), function ( id, type, model ) if type == "vehiclechange" and tonumber(id) == 425 then if(#getActivePlayers() <= 1)then RaceMode.endMap() return true end end end )
  6. Zin

    Hunter reach script!

    Hey i tried that but when last player gets hunter nothing happens no errors nothing. script function getActivePlayers() return g_CurrentRaceMode.activePlayerList end function isDM() end addEvent ( "onPlayerPickUpRacePickup", true ) addEventHandler ( "onPlayerPickUpRacePickup", getRootElement(), function ( id, type, model ) if type == "vehiclechange" and tonumber(id) == 425 then end end ) end end if(#getActivePlayers() <= 1)then RaceMode.endMap() return true end
  7. Zin

    Hunter reach script!

    Can i have an example of what it should look like?
  8. Hey i need help with my script. Im trying to make it so when the last player reaches the hunter on DM the map ends but this is confusing? im new to scripting but maybe you guys can help like in my other posts. I have learned more from asking people then looking on the wiki. Here is my script function getActivePlayers() return g_CurrentRaceMode.activePlayerList end function isDM() end for i,v in ipairs(getElementsByType'racepickup') do if getElementData(v,'vehicle') == '425' then end end if getActivePlayerCount() <= 1 then RaceMode.endMap() return true end Im getting this error code : "attempt to call global "getactiveplayercount" (a nil value)
  9. Thanks man i learned quite a bit from that so i tried to add a sound function but i failed any tips here? client side function HNEnd() local sound = playSound("hunter.mp3") setSoundVolume(sound, 0. end addEvent("playHunter",true) addEventHandler("playHunter", getRootElement(), HNEnd)
  10. I added a call to the server side to go to the client side but i got an error saying "failed to call 'HunterWarn:HunterWarn_client' Server side : addEvent("onPlayerPickUpRacePickup", true) function onHunter(pickupID, pickupType, vehicleModel) if pickupType == "vehiclechange" and vehicleModel == 425 then outputChatBox(''..getPlayerName(source)..' has reached the Hunter!',getRootElement(),255,0,0) call ( getResourceFromName ( "HunterWarn" ), "HunterWarn_client") end end addEventHandler("onPlayerPickUpRacePickup", getRootElement(), onHunter) function HNEnd() setTimer(guiSetVisible, 2000, 1, image, false) end addEventHandler("playHunter", getRootElement(), HNEnd)
  11. Hey i put together this hunter alert script but the img does not show it might be to do with my META or my other stuff. Meta : <meta> <info author="Zin" name="HunterReached" version="2.0.1" type="script" /> <script src="HunterWarn_server.lua" type="server"/> <script src="HunterWarn_client.lua" type="client"/> <file src="hunter.png" /> </meta> Server side : addEvent("onPlayerPickUpRacePickup", true) function onHunter(pickupID, pickupType, vehicleModel) if pickupType == "vehiclechange" and vehicleModel == 425 then outputChatBox('[HUNTER] '..getPlayerName(source)..' has reached a Hunter!',getRootElement(),255,0,0) end end addEventHandler("onPlayerPickUpRacePickup", getRootElement(), onHunter) function HNEnd() setTimer(guiSetVisible, 2000, 1, image, false) end addEventHandler("playHunter", getRootElement(), HNEnd) client side : local image = guiCreateStaticImage( 0.2, 0.1, 0.5, 0.1, "hunter.png", true ) guiSetVisible(image,false) function HNEnd() guiSetVisible(image,true) setTimer(guiSetVisible, 2000, 1, image, false) end addEvent("playHunter",true) addEventHandler("playHunter", getRootElement(), HNEnd)
  12. Is there an alternative way to do what i want to do. which is make an auto-b for DM maps so the final player stays alive?
  13. I got it from this post viewtopic.php?f=91&t=54806&p=743147
  14. Hi im trying to make a script that allows the final survivor in a DM map to complete it instead of the next map starting. Im getting an error saying "Failed to getactiveplayers" Whenever someone dies. this is my code DestructionDerby = setmetatable({}, RaceMode) DestructionDerby.__index = DestructionDerby DestructionDerby:register('Destruction derby') function DestructionDerby:isApplicable() return not RaceMode.checkpointsExist() and RaceMode.getMapOption('respawn') == 'none' end function DestructionDerby:getPlayerRank(player) return #getActivePlayers() end -- Copy of old updateRank function DestructionDerby:updateRanks() for i,player in ipairs(g_Players) do if not isPlayerFinished(player) then local rank = self:getPlayerRank(player) if not rank or rank > 0 then setElementData(player, 'race rank', rank) end end end -- Make text look good at the start if not self.running then for i,player in ipairs(g_Players) do setElementData(player, 'race rank', '' ) setElementData(player, 'checkpoint', '' ) end end end function DestructionDerby:onPlayerWasted(player) if isActivePlayer(player) then self:handleFinishActivePlayer(player) if getActivePlayerCount() <= 0 then RaceMode.endMap() else TimerManager.createTimerFor("map",player):setTimer(clientCall, 2000, 1, player, 'Spectate.start', 'auto') end end RaceMode.setPlayerIsFinished(player) showBlipsAttachedTo(player, false) end function hunterAlert(mapInfo, pickupID, pickupType, vehicleModel) if pickupType == "vehiclechange" then if vehicleModel == 425 then if getActivePlayerCount() <= 1 then RaceMode.endMap() end end end end addEventHandler("onPlayerPickUpRacePickup",getRootElement(),hunterAlert) function DestructionDerby:onPlayerQuit(player) if isActivePlayer(player) then self:handleFinishActivePlayer(player) if getActivePlayerCount() <= 1 then RaceMode.endMap() end end end function DestructionDerby:handleFinishActivePlayer(player) -- Update ranking board for player being removed if not self.rankingBoard then self.rankingBoard = RankingBoard:create() self.rankingBoard:setDirection( 'up', getActivePlayerCount() ) end local timePassed = self:getTimePassed() self.rankingBoard:add(player, timePassed) -- Do remove finishActivePlayer(player) -- Update ranking board if one player left local activePlayers = getActivePlayers() local resource = exports["mapmanager"]:getRunningGamemodeMap( ) local mapName = getResourceInfo ( resource, "name" ) if string.find ( mapName, "[DD]" ) then if #activePlayers == 1 then self.rankingBoard:add(activePlayers[1], timePassed) showMessage(getPlayerName(activePlayers[1]) .. ' won the map!', 255, 0, 0) RaceMode.endMap() end elseif string.find ( mapName, "[DM]" ) then if #alivePlayers == 1 then if getElementModel (getPedOccupiedVehicle ( alivePlayers[1] )) == 425 then self.rankingBoard:add(activePlayers[1], timePassed) showMessage(getPlayerName(activePlayers[1]) .. ' won the map!', 255, 0, 0) RaceMode.endMap() end end end end
  15. Im a noob at scripting so i dont know where to put this stuff can i have a bit of help
  16. Hi Im having a problem with my DD/DM server i made it with the race gamemode. The problem is that whenever the last survivor is doing the map the next map starts like its a derby map. Im using mapcycler to cycle the maps please help.
  17. Zin

    DD/DM help

    I can find any DD/DM resources help this topic has not been solved i have just be told loads of useless shit
  18. Zin

    DD/DM help

    I am using map cycler and search does not come up with anything when i type DD/DM
  19. Zin

    DD/DM help

    What any resource or a specific one?
  20. Zin

    DD/DM help

    DestructionDerby = setmetatable({}, RaceMode) DestructionDerby.__index = DestructionDerby DestructionDerby:register('Destruction derby') function DestructionDerby:isApplicable() return not RaceMode.checkpointsExist() and RaceMode.getMapOption('respawn') == 'none' end function DestructionDerby:getPlayerRank(player) return #getActivePlayers() end -- Copy of old updateRank function DestructionDerby:updateRanks() for i,player in ipairs(g_Players) do if not isPlayerFinished(player) then local rank = self:getPlayerRank(player) if not rank or rank > 0 then setElementData(player, 'race rank', rank) end end end -- Make text look good at the start if not self.running then for i,player in ipairs(g_Players) do setElementData(player, 'race rank', '' ) setElementData(player, 'checkpoint', '' ) end end end function DestructionDerby:onPlayerWasted(player) if isActivePlayer(player) then self:handleFinishActivePlayer(player) if getActivePlayerCount() <= 1 then RaceMode.endMap() else TimerManager.createTimerFor("map",player):setTimer(clientCall, 2000, 1, player, 'Spectate.start', 'auto') end end RaceMode.setPlayerIsFinished(player) showBlipsAttachedTo(player, false) end function DestructionDerby:onPlayerQuit(player) if isActivePlayer(player) then self:handleFinishActivePlayer(player) if getActivePlayerCount() <= 1 then RaceMode.endMap() end end end function DestructionDerby:handleFinishActivePlayer(player) -- Update ranking board for player being removed if not self.rankingBoard then self.rankingBoard = RankingBoard:create() self.rankingBoard:setDirection( 'up', getActivePlayerCount() ) end local timePassed = self:getTimePassed() self.rankingBoard:add(player, timePassed) -- Do remove local rank = self:getPlayerRank(player) finishActivePlayer(player) if rank and rank > 1 then triggerEvent( "onPlayerFinishDD",player,tonumber( rank ) ) end -- Update ranking board if one player left local activePlayers = getActivePlayers() if #activePlayers == 1 then self.rankingBoard:add(activePlayers[1], timePassed) showMessage(getPlayerName(activePlayers[1]) .. ' is the final survivor!', 0, 255, 0) triggerEvent( "onPlayerWinDD",activePlayers[1] ) end end ------------------------------------------------------------ -- activePlayerList stuff -- function isActivePlayer( player ) return table.find( g_CurrentRaceMode.activePlayerList, player ) end function addActivePlayer( player ) table.insertUnique( g_CurrentRaceMode.activePlayerList, player ) end function removeActivePlayer( player ) table.removevalue( g_CurrentRaceMode.activePlayerList, player ) end function finishActivePlayer( player ) table.removevalue( g_CurrentRaceMode.activePlayerList, player ) table.insertUnique( g_CurrentRaceMode.finishedPlayerList, _getPlayerName(player) ) end function getFinishedPlayerCount() return #g_CurrentRaceMode.finishedPlayerList end function getActivePlayerCount() return #g_CurrentRaceMode.activePlayerList end function getActivePlayers() return g_CurrentRaceMode.activePlayerList end
  21. Zin

    DD/DM help

    OK that was a little bit helpful by telling me to look in destructionderby.lua but i have no clue what to edit i have never scripted anything in MTA
  22. Zin

    DD/DM help

    What code are you talking about. META for the map? gamemode? or what
  23. Zin

    DD/DM help

    Hi i just made a DD/DM server but i got a problem it only works on DD maps the DD maps work fine but on DM maps when everyone dies and only one person is left so the next map starts is the anyway to fix this? so it can be DD and DM.
×
×
  • Create New...