Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2014-11-07, 23:23


decha94







Wiek: 31
Na forum: 4866 dni
Posty: 3



Respekt: 50

Witam mam problem gdyz na moim serverze RACE/DM gdy wszyscy gracze zgina i zostanie ostatni to odrazu zmienia sie mapa a chcia? bym zeby mapa zmienia?a sie dopiero gdy zginie ostatni gracz, niestety nigdzie nie moge tego znalesc i prosze was o pomoc pozdrawiam

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-11-08, 08:08


Iggy

#admin






Wiek: 26
Na forum: 4596 dni
Posty: 3469
Nick w MP: Iggy

Piwa: 1716

Respekt: 915
Respekt: 915Respekt: 915


   Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .

Temat został przeniesiony do prawidłowego działu.





Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-11-09, 20:52


Gonzales







Wiek: 32
Na forum: 5463 dni
Posty: 64
Nick w MP: Thorus

Piwa: 696

Respekt: 60

Spr?buj utworzy? warunek np. za pomoc? p?tli, kt?ry sprawdza status gracza, je?eli s? wszyscy zabici to funkcj? SendRconCommand (czy jako? tak) zmie? map?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-11-11, 00:40


decha94







Wiek: 31
Na forum: 4866 dni
Posty: 3



Respekt: 50

wystarczy?o pogrzebac w destructionderby.lua ale teraz tak juz na dm mozna grac i mapa sie zmienai dopiero jak ostatni grac zginie ale zato na dd jak zostanei jedna osoba to trzeba dac enter zeby mapa sie zmienila, jakis pomysl na ten fant bo mi juz brak pomys??w
Kod:

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 endTheMap()
RaceMode.endMap()
end

function DestructionDerby:onPlayerWasted(player)
if isActivePlayer(player) then
self:handleFinishActivePlayer(player)
if getActivePlayerCount() <= 0 then
endTheMap()
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() <= 0 then
endTheMap()
end
end
end

function checkForHunter(number,sort,model)
if #getElementsByType("player") <= 0 then return end
local activePlayers = getActivePlayers()
if #activePlayers == 1 then
local vehicle = getPedOccupiedVehicle(activePlayers[1])
if getElementModel(vehicle) == 425 then setElementHealth(activePlayers[1],0)
end
end
end

addEvent('onPlayerPickUpRacePickup',true)
addEventHandler("onPlayerPickUpRacePickup",getRootElement(),checkForHunter)

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()
if #activePlayers == 2 then
triggerClientEvent ( "savetag3",getRootElement(),_getPlayerName(player))
end
if #activePlayers == 1 then
triggerClientEvent ( "savetag2",getRootElement(),_getPlayerName(player))
end
if #activePlayers == 0 then
self.rankingBoard:add(activePlayers[1], timePassed)
triggerClientEvent ( "savetag",getRootElement(),_getPlayerName(player))
triggerEvent("peds",getRootElement())
--triggerEvent("onPlayerDestructionDerbyWin", getRootElement(), player)
--saveDeathPlayer(activePlayers[1])
--addPodiumPlayer(activePlayers[1])
local timeravviato = false
if timeravviato == false then
setTimer (checkForHunter , 100, 0, player )
timeravviato = true
end
end

if #activePlayers == 1 then
--showMessage(getPlayerName(activePlayers[1]) .. ' pwned you all!', 171, 7, 7)
triggerClientEvent ( "Winnertext", getRootElement(), activePlayers[1] )
triggerEvent("onPlayerDestructionDerbyWin", getRootElement(), activePlayers[1])

local car = getPedOccupiedVehicle(activePlayers[1])
if car then
local model = getElementModel(car)
if model == 425 then
setElementHealth(activePlayers[1],0)
end
end
end
-- Update ranking board for player being removed

-- 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)
alivePlayers = getAlivePlayers ()
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()
if #getElementsByType("player") > 0 then
return g_CurrentRaceMode.activePlayerList
else
return false
end
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-11-11, 11:15


Gonzales







Wiek: 32
Na forum: 5463 dni
Posty: 64
Nick w MP: Thorus

Piwa: 696

Respekt: 60

Skoro to dotyczy LUA to czemu jest to w dziale Pawn?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-11-11, 11:58


decha94







Wiek: 31
Na forum: 4866 dni
Posty: 3



Respekt: 50

niemam poj?cia mod to przeni?s? ;/

Postaw piwo autorowi tego posta
 

 
Tagi: jak :: wyłączyc :: zmiane :: mapy
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [DM] Jak wyłączyc zmiane mapy Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku