Jump to content

willtxd

Members
  • Posts

    18
  • Joined

  • Last visited

Posts posted by willtxd

  1. 11 hours ago, DNL291 said:

    De qual resource é esse script? Ou qual gamemode.

    É de um gamemode húngaro chamado Hungarian Life, curti bastante esse servidor e todos os seus mods e decidi traduzi-los para o português, creio que 60% dele está traduzido porém alguns eu estou tendo certa dificuldade.

    Ah, e uma coisa que eu pretendo fazer ao concluir é por todos os créditos aos criadores do gamemode, pois acho muito ridículo esses servidores famosos que apenas pegaram um backup de gringos, traduziram e disseram que são únicos e que eles mesmos fizeram, (tipo a cidade top brasileira de 7 anos). Eu não terei vergonha alguma de falar que o meu servidor é um backup traduzido.

  2. 6 minutes ago, OverKILL said:

    Ok, digite /debugscript 3, após usar desative e ative o mod de texturas e veja se aparece algum erro/warning.

    debugscript: Incorrect client type for this command

     

    12 minutes ago, OverKILL said:

    Ok, digite /debugscript 3, após usar desative e ative o mod de texturas e veja se aparece algum erro/warning.

    Um admin deu o comando no server e apareceu apenas isto
    unknown.png?width=721&height=408

     

  3. 19 hours ago, DNL291 said:

    O código do createMarker está certo, deveria funcionar no client, mostre o seu meta.xml.

    A maneira mais lógica que eu faria pra fechar seria com um Botão. Você também pode usar o onClientMarkerLeave pra isso.

    Edit: lembre-se de usar o comando debugscript 3 para ver se mostra erros.

    exatamente o que eu queria era esse painel fechar ao passar por cima do marker, pode me passar a linha de codigo? eu me perco totalmente nisso rsrs desculpa incomodar mais uma vez

  4. Hello, I would like your help, I installed the maximap script but it did not show the map in F11, just the blips, so I disabled it and F11 did not show the map on the server anymore, did I solve it?

  5. Bom galera, segundo post, e eu estou com um script muito bom de emprego de motorista de ônibus, ele é bem completinho porém os pagamentos por cada trabalho são absurdos, chegando a players ganhar de 200 a 600 mil reais por terminar o percurso, ai eu fui procurar nos scripts e tentar mudar os valores porém eles não estão com give money, e sim com um zpcount, algo assim não sei explicar, porém queria ajuda dos amigos pra mudar isso e eu poder escolher os pagamentos, gostaria de por pelo menos 2mil reais por pagamento dependendo da rota.

    Esse é o codigo:

    local PlayerBuser = {}
    local TempTable = {}
    --
    PlayerBuser["431"] = {
    	{nil, nil, -0.900, 0.9, 1.0, 0},
    	{nil, nil, -0.510, 1.85, 1.0, 180},
    	{nil, nil, 0.900, 0.9, 1.0, 0},
    	{nil, nil, 0.510, 1.85, 1.0, 180},
    	{nil, nil, 0.990, 2.5, 1.0, 0},
    	{nil, nil, 0.600, -1.45, 1.1, 0},
    	{nil, nil, 0.500, 2.5, 1.0, 0},
    	{nil, nil, -0.900, 0.1, 1.0, 0},
    	{nil, nil, -0.500, -0.7, 1.0, 0},
    	{nil, nil, -0.990, -1.4, 1.2, 0},
    	{nil, nil, -0.990, -0.7, 1.1, 0},
    	{nil, nil, -0.500, -1.4, 1.2, 0},
    	{nil, nil, 0.910, -2.2, 1.2, 0},
    	{nil, nil, -0.990, -2.2, 1.2, 0},
    	{nil, nil, -0.500, -3.0, 1.2, 0},
    	{nil, nil, -0.900, -3.0, 1.2, 0},
    	{nil, nil, 0.990, -3.0, 1.2, 0},
    	{nil, nil, 0.500, -3.0, 1.2, 0},
    	{nil, nil, 0.900, -3.8, 1.4, 0},
    	{nil, nil, 0, -3.7, 1.4, 0},
    	{nil, nil, -0.900, -3.8, 1.4, 0}
    }
    
    PlayerBuser["437"] = {
    	{nil, nil, 0.45, 3.88, 1.35, 0},
    	{nil, nil, 0.45, 3.08, 1.35, 0},
    	{nil, nil, -0.95, 3.88, 1.35, 0},
    	{nil, nil, 0.95, 2.22, 1.35, 0},
    	{nil, nil, 0.55, 1.50, 1.35, 0},
    	{nil, nil, 0.95, 0.50, 1.35, 0},
    	{nil, nil, -0.95, 2.22, 1.35, 0},
    	{nil, nil, -0.95, 1.50, 1.35, 0},
    	{nil, nil, -0.45, 1.50, 1.35, 0},
    	{nil, nil, -0.95, 0.50, 1.35, 0},
    	{nil, nil, -0.45, 0.50, 1.35, 0},
    	{nil, nil, -0.95, -0.22, 1.35, 0},
    	{nil, nil, -0.95, -1.12, 1.35, 0},
    	{nil, nil, -0.45, -1.12, 1.35, 0},
    	{nil, nil, -0.95, -1.95, 1.35, 0},
    	{nil, nil, 0.55, -2.02, 1.35, 0},
    	{nil, nil, -0.45, -2.75, 1.35, 0},
    	{nil, nil, 0.95, -2.75, 1.35, 0},
    	{nil, nil, 0.55, -2.75, 1.35, 0},
    	{nil, nil, 0.95, -3.53, 1.35, 0},
    	{nil, nil, 0.55, -3.53, 1.35, 0},
    	{nil, nil, -0.45, -3.53, 1.35, 0},
    	{nil, nil, 0.55, -4.31, 1.35, 0},
    	{nil, nil, -0.95, -4.31, 1.35, 0},
    	{nil, nil, 0.95, -5.16, 1.35, 0},
    	{nil, nil, -0.45, -5.16, 1.35, 0},
    	{nil, nil, 0.95, -6.06, 1.35, 0},
    	{nil, nil, 0.05, -6.06, 1.35, 0},
    	{nil, nil, -0.95, -6.06, 1.35, 0}
    }
    
    PlayerBuser["459"] = {
    	{nil, nil, -0.79, 0.15, 0.7, 0},
    	{nil, nil, -0.35, 0.15, 0.7, 0},
    	{nil, nil, -0.79, -0.55, 0.7, 0},
    	{nil, nil, -0.35, -0.55, 0.7, 0},
    	{nil, nil, -0.79, -1.15, 0.7, 0},
    	{nil, nil, -0.35, -1.15, 0.7, 0},
    	{nil, nil, -0.79, -1.90, 0.7, 0},
    	{nil, nil, -0.35, -1.90, 0.7, 0},
    	{nil, nil, -0.79, -2.65, 0.7, 0},
    	{nil, nil, -0.35, -2.65, 0.7, 0},
    	{nil, nil, -0.79, -3.30, 0.7, 0},
    	{nil, nil, -0.35, -3.30, 0.7, 0},
    	{nil, nil, 0.72, -1.15, 0.7, 0},
    	{nil, nil, 0.72, -1.90, 0.7, 0},
    	{nil, nil, 0.72, -2.65, 0.7, 0},
    	{nil, nil, 0.72, -3.30, 0.7, 0}
    }
    
    local function getPlayerEXP( player )
    	-- ganhar experiência
    	if not TempTable[player] then
    		TempTable[player] = {}
    		TempTable[player].EXP = 0
    		return TempTable[player].EXP
    	else
    		return TempTable[player].EXP
    	end
    end
    
    addCommandHandler("setexp", function ( player, cmd, integer )
    	if not tonumber(integer) then 
    		--outputChatBox("[INFO]#880000 / setexp [quantidade de experiência]", player, 39, 199, 43, true)
    		return 
    	end
    	if not TempTable[player] then
    		TempTable[player] = {}
    		TempTable[player].EXP = tonumber(integer)
    	else
    		TempTable[player].EXP = tonumber(integer)
    	end
    	--outputChatBox('[INFO]#880000 Quantidade atual de experiência: '.. TempTable[player].EXP ..' очков!', player, 39, 199, 43, true)
    
    end)
    
    addEvent("getJobInfo", true)
    addEventHandler("getJobInfo", resourceRoot, function ( index, bool )
    	if not client then return end
    	local player = client
    	if not TempTable[player] then
    		TempTable[player] = {}
    	end
    	if not TempTable[player].EXP then
    		TempTable[player].EXP = 0
    	end
    	if bool then
    		triggerClientEvent("client:getJobInfo", player, TempTable[player].EXP, index, true)
    	else
    		local zpcheck = PlayerBuser[player].increase
    		local zpcount = PlayerBuser[player].ZPCount * zpcheck
    		if PlayerBuser[player].ZPCount >= (math.floor(PlayerBuser[player].routeCount / 2)) then
    			triggerClientEvent("client:getJobInfo", player, zpcount, index, false)
    		else
    			triggerClientEvent("client:getJobInfo", player, 0, index, false)
    		end
    		
    	end
    end)
    
    
    local function unJobPlayer( player, text )
    	if PlayerBuser[player] then
    		PlayerBuser[PlayerBuser[player].bus].seat = nil
    		if isTimer(PlayerBuser[player].timerExit) then 
    			killTimer(PlayerBuser[player].timerExit)
    		end
    		triggerClientEvent(player, "client:setPlayerStartJob", player, false, PlayerBuser[player].bus)
    		PlayerBuser[player].LimitBot_Enter = nil
    		PlayerBuser[player].routeselect = nil
    		PlayerBuser[player].routeNumber = nil
    		PlayerBuser[player].Count = nil
    		PlayerBuser[player].IntegerBot = nil
    		PlayerBuser[player].state = nil
    		PlayerBuser[player].countSeat = nil
    		PlayerBuser[player].temp_index = nil
    		if isTimer(PlayerBuser[player].timerStop) then
    			killTimer(PlayerBuser[player].timerStop)
    		end
    		outputChatBox("[INFO] #FFFFFF".. text .."", player, 209, 10, 10, true) 
    		local zpcheck = PlayerBuser[player].increase
    		local zpcount = PlayerBuser[player].ZPCount * zpcheck
    		if PlayerBuser[player].ZPCount >= (math.floor(PlayerBuser[player].routeCount / 2)) then
    			--outputChatBox("[INFO] #FFFFFFVocê foi creditado com +10 pontos de experiência!", player, 38, 199, 43, true)
    			outputChatBox("[INFO] #FFFFFFSeu salário é ".. zpcount .."$!", player, 38, 199, 43, true)
    			if TempTable[player] and TempTable[player].EXP then
    				TempTable[player].EXP = TempTable[player].EXP + 10
    			else
    				TempTable[player] = {}
    				TempTable[player].EXP = 10
    			end
    			givePlayerMoney ( player, zpcount )
    		else
    			outputChatBox("[INFO] #FFFFFFVocê dirigiu menos da metade da rota e não recebeu um salário!", player, 209, 10, 10, true)
    		end
    		destroyElement(PlayerBuser[player].bus)
    		PlayerBuser[player].bus = nil
    		PlayerBuser[player].increase = nil
    		PlayerBuser[player].ZPCount = nil
    		PlayerBuser[player].routeCount = nil
    		PlayerBuser[player] = nil
    		triggerClientEvent(player, "checkJobWindow", player)
    	end
    end
    
    addEvent("onPlayerStopJob", true)
    addEventHandler("onPlayerStopJob", resourceRoot, function (  )
    	if not client then return end
    	local player = client
    	unJobPlayer( player, "Você está feito 'O motorista'!" )
    end)
    -- 1779, -1888, 13.66, 0, 0, 270
    addEvent("onPlayerStartJob", true)
    addEventHandler("onPlayerStartJob", resourceRoot, function ( table, index, city )
    	if not client then return end
    	local player = client
    	if PlayerBuser[player] then return end
    	if not PlayerBuser[table[1]] then PlayerBuser[table[1]] = {} end
    	PlayerBuser[player] = {}
    	PlayerBuser[player].Count = 0
    	PlayerBuser[player].ZPCount = 0
    	for _ in pairs( PlayerBuser[table[1]] ) do
    		PlayerBuser[player].Count = PlayerBuser[player].Count + 1
    	end
    	if tonumber(PlayerBuser[player].Count) >= table[4] then 
    		outputChatBox("[INFO] #FFFFFFNão há ônibus gratuitos nesta rota!", player, 209, 10, 10, true) 
    		PlayerBuser[player] = nil
    	return end
    	local playerEXP = getPlayerEXP(player)
    	--[[if tonumber(playerEXP) < tonumber(table[5]) then
    		outputChatBox("[INFO] #FFFFFFDesculpe, você não tem experiência suficiente!", player, 209, 10, 10, true) 
    		PlayerBuser[player] = nil
    	return end]]--
    	triggerClientEvent(player, "client:setPlayerStartJob", player, true)
    	outputChatBox("[INFO] #FFFFFFVocê começou o trabalho 'O motorista do ônibus'!", player, 38, 199, 43, true) 
    	if city == "LS" then
    		PlayerBuser[player].bus = Vehicle(459, 1779, -1888, 13.66, 0, 0, 270)
    	elseif city == "LV" then
    		PlayerBuser[player].bus = Vehicle(459, 2766.43823, 1265.5, 11.02048, 0, 0, 270)
    	end
    	if index == 1 then
    		PlayerBuser[player].bus.model = 459
    		local randomInteger = math.random(1, 3)
    		if randomInteger == 1 then
    			PlayerBuser[player].bus:setColor(28,123,209)
    		elseif randomInteger == 2 then
    			PlayerBuser[player].bus:setColor(28,123,209)
    		elseif randomInteger == 3 then
    			PlayerBuser[player].bus:setColor(28,123,209)
    		end
    	elseif index == 2 then
    		PlayerBuser[player].bus.model = 431
    		PlayerBuser[player].bus:setColor(28,123,209)
    	elseif index == 3 then
    		PlayerBuser[player].bus.model = 437
    		PlayerBuser[player].bus:setColor(28,123,209)
    	end
    	-- teste adicional para cor em LV e SF
    	if index == 2 and city == "LV" then
    		PlayerBuser[player].bus:setColor(28,123,209)
    	elseif index == 3 and city == "LV" then
    		PlayerBuser[player].bus:setColor(28,123,209)
    	end
    	local vehicle = PlayerBuser[player].bus
    	warpPedIntoVehicle(player, vehicle)
    	setTimer(function (  )
    		triggerClientEvent("OffColVehicle", root, vehicle)
    	end, 200, 1)
    	PlayerBuser[player].routeIndex = index
    	PlayerBuser[player].routeCount = #RouteIndex[table[6]]
    	PlayerBuser[player].routeNumber = table[6]
    	PlayerBuser[player].increase = table[7]
    	PlayerBuser[player].routeselect = 0
    	PlayerBuser[vehicle] = {}
    	PlayerBuser[player].LimitBot_Enter = 0 
    	PlayerBuser[player].countSeat = 0
    	PlayerBuser[vehicle].seat = PlayerBuser[tostring(vehicle.model)]
    	PlayerBuser[vehicle].player = player
    	loadRoute(player, table[6])
    	vehicle:setData("emiTexture", "".. tostring(vehicle.model) .."/".. tostring(table[6]))
    	if index == 3 then
    		PlayerBuser[player].timerStop = setTimer(unJobPlayer, 900000, 1, player, "Você completou o 'Bus Driver'! (ROS)")
    	else
    		PlayerBuser[player].timerStop = setTimer(unJobPlayer, 300000, 1, player, "Você completou o 'Bus Driver'! (AFC)")
    	end
    end)
    
    function StartEnterVehicle ( player, seat, jacked )
    	if not source then return end
    	if PlayerBuser[player] then
    		if (source ~= PlayerBuser[player].bus) then cancelEvent() end
    		if (source == PlayerBuser[player].bus) and (seat ~= 0) then cancelEvent() end
    		return
    	else
    		cancelEvent()
    	end
    end
    addEventHandler ( "onVehicleStartEnter", resourceRoot, StartEnterVehicle )
    
    function StartEnterVehicleRoot ( player, seat, jacked )
    	if not source then return end
    	if (source.model == 431 or source.model == 459 or source.model == 437) and (seat ~= 0) then
    		cancelEvent()
    		return
    	end
    end
    addEventHandler ( "onVehicleStartEnter", root, StartEnterVehicleRoot )
    
    addEventHandler("onVehicleEnter", resourceRoot, function ( player )
    	if not source then return end
    	if PlayerBuser[player] and (PlayerBuser[player].bus == source) then
    		if isTimer(PlayerBuser[player].timerExit) then 
    			killTimer(PlayerBuser[player].timerExit)
    		end
    	end
    end)
    
    addEventHandler("onVehicleStartExit", resourceRoot, function ( player )
    	if not source then return end
    	if PlayerBuser[player] then
    		if (source == PlayerBuser[player].bus) then
    			outputChatBox("[INFO] #FFFFFFVocê saiu do ônibus! Você tem 40 segundos para retornar.", player, 209, 10, 10, true) 
    			PlayerBuser[player].timerExit = setTimer(unJobPlayer, 40000, 1, player, "Você completou o 'Bus Driver'! (tem 40 segundos.)")
    		end
    	end
    end)
    
    function loadRoute( player, text )
    	local table_route = RouteIndex[text]
    	PlayerBuser[player].routeselect = PlayerBuser[player].routeselect + 1
    	PlayerBuser[player].ZPCount = PlayerBuser[player].ZPCount + 1
    	local routeselect = PlayerBuser[player].routeselect
    	if table_route[routeselect] == nil then
    		unJobPlayer( player, "Você completou o trabalho 'Bus driver'!" )
    	else
    		--[[if table_route[routeselect][1] == 2 then
    			outputChatBox('ID: '..routeselect)
    			outputChatBox('ANGLE:' ..tostring(table_route[routeselect][6]))
    		end]]
    		if table_route[routeselect + 1] and table_route[routeselect + 1][1] == 2 and table_route[routeselect + 1][4] then
    			PlayerBuser[player].state = math.random(1, 9) -- se você precisar de paradas vazias
    			if table_route[routeselect + 1][8] or (routeselect + 1) == 17 then
    				PlayerBuser[player].state = 5
    			end
    			if tonumber(PlayerBuser[player].state) ~= 5 then
    				if PlayerBuser[player].routeIndex == 3 then
    					PlayerBuser[player].IntegerBot = math.random(15, 20) or 20
    				else
    					PlayerBuser[player].IntegerBot = math.random(2, table_route[routeselect + 1][5]) or 2
    				end
    				triggerClientEvent(player, "CreateMarkerRouteBots", player, table_route[routeselect + 1][4], PlayerBuser[player].IntegerBot, table_route[routeselect + 1][6], table_route[routeselect + 1][7])
    			end
    		end
    		if table_route[routeselect][1] == 2 then
    			triggerClientEvent(player, "CreateMarkerRoute", player, table_route[routeselect][3], true)
    		return end
    		if not table_route[routeselect + 1] then
    			triggerClientEvent(player, "CreateMarkerRoute", player, table_route[routeselect][3], nil)
    		else
    			triggerClientEvent(player, "CreateMarkerRoute", player, table_route[routeselect][3], nil, table_route[routeselect + 1][3])
    		end
    	end
    end
    
    function routeCheckMarker(  )
    	if not client then return end
    	local player = client
    	loadRoute( player, PlayerBuser[player].routeNumber )
    end
    addEvent("RouteCheckMarker", true)
    addEventHandler("RouteCheckMarker", resourceRoot, routeCheckMarker)
    
    addEvent("RouteCheckStop", true)
    addEventHandler("RouteCheckStop", resourceRoot, function ( )
    	if not client then return end
    	local player = client
    	local routeselect = PlayerBuser[player].routeselect
    	local vehicle = PlayerBuser[player].bus
    	local table_route = RouteIndex[PlayerBuser[player].routeNumber]
    	if isTimer(PlayerBuser[player].timerStop) then
    		resetTimer(PlayerBuser[player].timerStop)
    	end
    	if PlayerBuser[player] and PlayerBuser[player].bus then
    		vehicle.frozen = true
    		PlayerBuser[player].temp_index = 0
    		if isTimer(PlayerBuser[player].timeCheck) then killTimer(PlayerBuser[player].timeCheck) end
    		if tonumber(PlayerBuser[player].state) ~= 5 then
    			local random_exit_bot_limit = math.random(1, 4)
    			local tables = PlayerBuser[vehicle].seat
    			for i = 1, random_exit_bot_limit do 
    				if tables[i][1] ~= nil and (not tables[i][1].player) then
    					PlayerBuser[player].temp_index = PlayerBuser[player].temp_index + 1
    					triggerClientEvent(player, "ExitBusDoorBot", player, vehicle, tables[i][1].modelid, PlayerBuser[player].temp_index, table_route[routeselect][4], table_route[routeselect][7])
    					tables[i][1].destroy = true
    					vehicle:setData("table_route", tables)
    				end
    			end
    			if PlayerBuser[player].temp_index == 0 then
    				triggerClientEvent(player, "BotMissionStart", player, vehicle)
    			end
    		else
    
    			if table_route[routeselect][8] and table_route[routeselect][8] == 1 then
    				PlayerBuser[player].empty = true
    				local tables = PlayerBuser[vehicle].seat
    				PlayerBuser[player].countSeat = 0
    				for i = 1, #tables do 
    					if tables[i][1] ~= nil then
    						PlayerBuser[player].countSeat = PlayerBuser[player].countSeat + 1
    					end
    				end
    				if PlayerBuser[player].countSeat == 0 then
    					PlayerBuser[player].empty = nil
    					triggerClientEvent(player, "client:exitAllBot", player)
    				return end
    				PlayerBuser[player].countSeat = 0
    				for i = 1, #tables do 
    					if tables[i][1] ~= nil and (not tables[i][1].player) then
    						PlayerBuser[player].countSeat = PlayerBuser[player].countSeat + 1
    						triggerClientEvent(player, "ExitBusDoorBot", player, vehicle, tables[i][1].modelid, PlayerBuser[player].countSeat, table_route[routeselect][4], table_route[routeselect][7])
    						tables[i][1].destroy = true
    						vehicle:setData("table_route", tables)
    					end
    				end
    			return end
    			local random_exit_bot_limit = math.random(1, 3)
    			PlayerBuser[player].empty = true
    			local tables = PlayerBuser[vehicle].seat
    			PlayerBuser[player].countSeat = 0
    			for i = 1, random_exit_bot_limit do 
    				if tables[i][1] ~= nil then
    					PlayerBuser[player].countSeat = PlayerBuser[player].countSeat + 1
    				end
    			end
    			if PlayerBuser[player].countSeat == 0 then
    				PlayerBuser[player].empty = nil
    				triggerClientEvent(player, "client:exitAllBot", player)
    			return end
    			PlayerBuser[player].countSeat = 0
    			for i = 1, random_exit_bot_limit do 
    				if tables[i][1] ~= nil and (not tables[i][1].player) then
    					PlayerBuser[player].countSeat = PlayerBuser[player].countSeat + 1
    					triggerClientEvent(player, "ExitBusDoorBot", player, vehicle, tables[i][1].modelid, PlayerBuser[player].countSeat, table_route[routeselect][4], table_route[routeselect][7])
    					tables[i][1].destroy = true
    					vehicle:setData("table_route", tables)
    				end
    			end
    		end
    	end
    end)
    
    addEvent("EnterBusDoor", true)
    addEventHandler("EnterBusDoor", resourceRoot, function ( veh )
    	if not client then return end
    	local player = client
    	if getPlayerMoney(player) < 10 then
    		outputChatBox("[INFO]#880000 A tarifa do ônibus é: R$10", player, 209, 10, 10, true)
    	return end
    	takePlayerMoney(player, 10)
    	local vehicle = veh
    	if not PlayerBuser[vehicle] then
    		PlayerBuser[vehicle] = {}
    		PlayerBuser[vehicle].seat = PlayerBuser[tostring(vehicle.model)]
    	end
    	local tables = PlayerBuser[vehicle].seat 
    	for i = 1, #tables do
    		if tables[i][1] == nil then
    			tables[i][1] = {}
    			tables[i][1].modelid = getElementModel(player) -- só para não escrever uma muleta
    			tables[i][1].player = player
               	vehicle:setData("table_route", tables)
    		return end
    	end
    end)
    
    addEvent("EnterBusDoorBots", true)
    addEventHandler("EnterBusDoorBots", resourceRoot, function ( vehicle, modelid )
    	if not client then return end
    	local player = client
    	local vehicle = PlayerBuser[player].bus
    	PlayerBuser[player].LimitBot_Enter = PlayerBuser[player].LimitBot_Enter + 1
    	if PlayerBuser[player].LimitBot_Enter == PlayerBuser[player].IntegerBot then
    		triggerClientEvent(player, "client:enterAllBot", player, vehicle)
    		PlayerBuser[player].LimitBot_Enter = 0
    	end
    	local tables = PlayerBuser[vehicle].seat
    	for i = 1, #tables do
    		if tables[i][1] == nil then
    			tables[i][1] = {}
    			tables[i][1].modelid = modelid
    			vehicle:setData("table_route", tables)
    		return end
    	end	
    end)
    
    addEvent("ExitBusDoorBots", true)
    addEventHandler("ExitBusDoorBots", resourceRoot, function ( integer )
    	if not client then return end
    	local player = client
    	if (integer == PlayerBuser[player].countSeat) or (integer == PlayerBuser[player].temp_index) then
    		if not PlayerBuser[player].empty then
    			triggerClientEvent(player, "BotMissionStart", player, PlayerBuser[player].bus)
    		else
    			PlayerBuser[player].empty = nil
    			triggerClientEvent(player, "client:exitAllBot", player, true)
    		end
    		PlayerBuser[player].countSeat = 0
    		PlayerBuser[player].temp_index = 0
    	end
    end)
    
    addCommandHandler("testm", function ( player )
    	local vehicle = player.vehicle
    	local tables = PlayerBuser["459"]
    	for i = 1, #tables do
    		if tables[i][1] == nil then
    			tables[i][1] = {}
    			tables[i][1].modelid = 28
    			vehicle:setData("table_route", tables)
    		end
    	end
    	PlayerBuser[player].routeselect = 75
    end)
    
    addEvent("RouteBusFreeze", true)
    addEventHandler("RouteBusFreeze", resourceRoot, function ( state )
    	if not client then return end
    	local player = client
    	if PlayerBuser[player] and PlayerBuser[player].bus then
    		PlayerBuser[player].bus.frozen = state 
    	end
    end)
    
    addEvent("ExitBusDoor", true)
    addEventHandler("ExitBusDoor", resourceRoot, function ( vehicle )
    	if not client then return end
    	local player = client
    	detachElements( player, vehicle )
    	setPedAnimation ( player, false )
    	local tables = PlayerBuser[vehicle].seat 
    	for i = 1, #tables do
    		if tables[i][1] and tables[i][1].player == player then
    			tables[i][1].destroy = true
    			triggerClientEvent(root, "table_route_exit", root, player, vehicle, tables)
    		return end
    	end
    end)
    
    addEvent( "onElementSound", true )
    addEventHandler( "onElementSound", root,
        function ( snd_name, distance, stop )
    		triggerClientEvent( "onElementSoundSync", source, snd_name, distance, stop )
    end )
    
    addEvent("TableRouteUpdate", true)
    addEventHandler("TableRouteUpdate", resourceRoot, function ( vehicle, tables )
    	PlayerBuser[vehicle].seat = tables
    end)
    
    addEventHandler("onElementDestroy", getRootElement(), function ()
    	if source.type == "vehicle" then
    		if source.model == 431 or source.model == 437 or source.model == 459 then
    			if PlayerBuser[source] and isElement(PlayerBuser[source].player) then
    				triggerClientEvent(PlayerBuser[source].player, "client:setPlayerStartJob", PlayerBuser[source].player, false, source)
    			end
    		end
    	end
    end)
    
    addEvent("updateBuserCount", true)
    addEventHandler("updateBuserCount", resourceRoot, function ( vehicle, count )
    	if not client then return end
    	local player = client
    	if PlayerBuser[player] then
    		PlayerBuser[player].countSeat = tonumber(count + 1)
    		PlayerBuser[player].temp_index = tonumber(count + 1)
    	end
    end)

     

  6. Amigo eu puz de inicio o codigo no arquivo client.lua que era onde tinha a bind porém o marker não foi criado, daí eu resolvi colar o codigo no server.lua ai o marker criou, porém não abriu o painel, simplesmente não ocorre nada

    local theMarker = createMarker (2154.4814453125, -1146.4481201172, 23, "cylinder", 2, 255, 255, 0, 150)
    addEventHandler ("onClientMarkerHit" , theMarker, function (thePlayer, matchingDimension)
    	if thePlayer == localPlayer and matchingDimension and (not getElementData (localPlayer, "prison")) then
    		if not isInColExport () then
    			guiSetVisible(Window_VS, not guiGetVisible(Window_VS))
    			guiSetVisible (Window_CHK, false)
    			playSound(":EQPsons/open.wav")
    			showCursor(guiGetVisible(Window_VS))
    			vehsa = getElementData(localPlayer,"spawnedcars") or {}
    			vehs = ""
    			for ind,veh in ipairs(vehsa) do
    				if vehs ~= "" then 
    					vehs = vehs..", "..veh.."" 
    				else 
    					vehs = vehs..""..veh.."" 
    				end
    			end
    		end
    	end
    end)

     

    @DNL291Eu usei a sua linha de código funcionou mano porém ele não fecha saca, tem como por pra fechar de alguma forma?

  7. Obrigado por ajudar amigo, vou explicar pra vocês o que eu estou tentando fazer, seguinte, eu estou com um script de concessionaria e nele tem um painel que mostra os veículos que você tem, porém o que eu quero fazer é criar uma garagem que consiste em abrir esse painel somente em um lugar específico como no caso eu irei colocar no estacionamento ao lado da concessionaria, por isso queria desbindar o F2 e colocar pra abrir somente nesse marker no estacionamento, seria mais ou menos igual a garagem do fivem entende? Esse script eu posso colocar ele direto com as coordenadas certinho que ele irá funcionar?

  8. ╔═══ [BRASIL CHARMOSO RP] 
    ╠► Discord : https://discord.gg/xyx8Z64
    ╠► IP: mtasa://195.154.252.140:22193 
    ╠═════════════════════════════════════
    ╠► Criação de gangs pros primeiros players
    ╠► Vagas para staff
    ╠► Vagas para SAMU, Mecânico, PM...
    ╠► Estamos a procura de Scripter's
    ╠═════════════════════════════════════
    ╠► Ping abaixo de 100
    ╠► Skins de carros, motos, brasileiras e importadas
    ╠► Empregos legais e ilegais
    ╠► Temos permissão do próprio dono do Brasil Charmoso FiveM
    ╚═══ [BRASIL CHARMOSO RP] 

  9. Amigo, como disse eu ainda sou leigo, poderia me explicar melhor?

    No caso eu crio o marker e onde tem marker no script eu coloco as coordenadas x,y,z, cylinder que seria o tipo de marker, e o tamanho e o rgb? 

    De vdd desculpa mas como disse sou mt novato no assunto ksks

    Eu li a wiki mas nn entendi mt bem

  10. Amigo sou leigo ainda, mas onde vc pos marker depois do OnClientMarkerHit seria pra eu colocar as coordenadas do marker? Desculpa se falei bobagens mas realmente sou iniciante no assunto rsrs, e se sim, essa linha de código eu poderia fazer como um script separado e ela irá funcionar normalmente ou eu devo substituir ela em algo na linha de código que eu pus acima?

  11. Olá, sou novo no forum e sou iniciante em programação, eu sei apenas algumas lógicas, mas gostaria da ajuda de alguém pra editar esse script, ele é um script de concessionaria e tem um painel de f2 que mostra todos os veículos comprados na mesma, e eu gostaria de saber se tem como fazer esse painel abri apenas ao passar por um marker, e tirar a bind do f2.

    Essa é o codigo do script:

    Eu tirei dele apenas um botão de desespawnar, mas eu irei colocar novamente se o sistema de abrir apenas no marker funcionar

     

    
    
    
    
    
    setTimer ( function ()
    
    local theCol = getElementData(root, "BlockExportCol")
        
    function isInColExport ()
        if isElement(theCol) and isElementWithinColShape(localPlayer,theCol) then
            return true else return false
        end
    end
    
    function ClientExplosionCFunction()
     if isInColExport ()  then
      cancelEvent ()
     end
    end
    addEventHandler("onClientExplosion", root, ClientExplosionCFunction)
    
    end , 1000, 1 )
    setElementData(localPlayer,"spawnedcars",{})
    ----------------------------------------------
    local screenW, screenH = guiGetScreenSize()
    ----------------------------------------------
    Window_VS = guiCreateStaticImage ((screenW - 428) / 2, (screenH - 300) / 2, 428, 300, "imagens/fundo.png", false)
    guiSetAlpha(Window_VS, 0.95)
    guiSetVisible(Window_VS, false)
    Grid_VS = guiCreateGridList(0.02, 0.03, 0.95, 0.65, true, Window_VS)
    guiGridListSetSelectionMode(Grid_VS, 1)
    guiGridListAddColumn(Grid_VS,"Veículos",0.3)
    guiGridListAddColumn(Grid_VS,"Marca",0.2)
    guiGridListAddColumn(Grid_VS,"Tipo",0.259)
    guiGridListAddColumn(Grid_VS,"Dano",0.3)
    guiGridListAddColumn(Grid_VS,"Original",0.38)
    guiGridListAddColumn(Grid_VS,"Preço",0.38)
    
    
    Button_VS_lk = guiCreateStaticImage(0.02, 0.86, 0.30, 0.11, "imagens/bt-trancar.png", true, Window_VS)
    
    Button_VS_bp = guiCreateStaticImage(0.68, 0.86, 0.30, 0.11, "imagens/bt-rastrear.png", true, Window_VS)
    Button_VS_sn = guiCreateStaticImage(0.02, 0.72, 0.30, 0.11, "imagens/bt-spawn.png", true, Window_VS)
    
    Button_VS_sl = guiCreateStaticImage(0.35, 0.86, 0.30, 0.11, "imagens/bt-vender.png", true, Window_VS)
    
    
    
    Window_CHK = guiCreateStaticImage((screenW-310)/2,(screenH-120)/2,310,120,"imagens/fundo.png",false)
    guiSetVisible(Window_CHK, false)
    guiSetProperty(Window_CHK, "AlwaysOnTop", "true")
    Label_CHK = guiCreateLabel(21,28,266,36,"",false,Window_CHK)
    myFont = guiCreateFont( "fontes/ebrimabd.ttf", 10 )
    guiSetFont ( Label_CHK, myFont )
    guiSetAlpha(Window_CHK, 0.95)
    guiLabelSetColor(Label_CHK, 150, 150, 150)
    guiLabelSetHorizontalAlign(Label_CHK,"center",true)
    Button_CHK_Y = guiCreateButton(17,73,129,36,"Sim",false,Window_CHK)
    Button_CHK_N = guiCreateButton(161,73,129,36,"Não",false,Window_CHK)
    
    function updateGridList()
    	local data = getElementData(localPlayer, "VehicleInfo")
    	if data then
    		local rw, cl = guiGridListGetSelectedItem(Grid_VS)
    		guiGridListClear(Grid_VS)
    		for i, data in ipairs (data) do
    			local carName = getVehicleNameFromModel(data["Model"])		
                local ID = data["ID"]
                local Cost = tonumber(data["Cost"]) or 0
                local HP = math.floor(data["HP"])
                
                local row = guiGridListAddRow(Grid_VS)
    			if carName then
    			local id = getVehicleModelFromName(carName)
    			local nome,marca,tipo = getVehicleRealPropriedadesFromID(tonumber(id))
    			guiGridListSetItemText(Grid_VS, row, 1, nome, false, true)
    			guiGridListSetItemText(Grid_VS, row, 2, marca, false, true)
    			guiGridListSetItemText(Grid_VS, row, 3, tipo, false, true)							
    			end				
    			local PreCost = math.ceil(Cost*.9*HP/100/10) or 0
                guiGridListSetItemText(Grid_VS, row, 5, carName, false, true)
                guiGridListSetItemData(Grid_VS, row,5, ID)
    			guiGridListSetItemText(Grid_VS, row, 4, HP.." HP", false, true)
    			guiGridListSetItemText(Grid_VS, row, 6, PreCost, false, true)			
    		end
    		guiGridListSetSelectedItem(Grid_VS, rw, cl)
    	end
    end
    
    
    bindKey("F2", "down",
    function()
    if (getElementInterior(localPlayer) == 0) and (getElementDimension(localPlayer) == 0) then
    if ( not getElementData(localPlayer,"prison") ) then
                 if not isInColExport () then
                    guiSetVisible(Window_VS, not guiGetVisible(Window_VS))
        guiSetVisible (Window_CHK, false)
    	playSound(":EQPsons/open.wav")
        showCursor(guiGetVisible(Window_VS))
    	vehsa = getElementData(localPlayer,"spawnedcars") or {}
    vehs = ""
    for ind,veh in ipairs(vehsa) do
    if vehs ~= "" then 
    vehs = vehs..", "..veh.."" 
    else 
    vehs = vehs..""..veh.."" 
     end
    end
                end
    end
    end
    end)
    triggerServerEvent("onOpenGui", localPlayer)
    
    
    addEventHandler("onClientElementDataChange", root,
    function(dd)
        if getElementType(source) == "player" and source == localPlayer and dd == "VehicleInfo" then
            local data = getElementData(source, dd)
            if data then
                updateGridList()
            end
        end
    end)
    
    function WINDOW_CLICK_VEHICLE (button, state, absoluteX, absoluteY)
    	local id = guiGridListGetSelectedItem(Grid_VS)
    	local ID = guiGridListGetItemData(Grid_VS, id, 5)	
    	if source == Button_VS_close then
    		guiSetVisible(Window_VS, false)
    		showCursor(false)
    	end
    	if (source == Grid_VS) then
    		if id == -5 and idd then
    			guiGridListSetSelectedItem(Grid_VS, idd, 5)
    			return false
    		else
    			idd = guiGridListGetSelectedItem(Grid_VS)
    		end
    	elseif id == -5 then
    	
    	elseif (source == Button_VS_sn) then
    		if not isInColExport () then
    			triggerServerEvent("SpawnMyVehicle", localPlayer, ID)
            end
    	elseif (source == Button_VS_lt) then 
    		triggerServerEvent("LightsMyVehicle", localPlayer, ID)
    	elseif (source == Button_VS_bp) then 
    		triggerServerEvent("BlipMyVehicle", localPlayer, ID)
    	elseif (source == Button_VS_lk) then 
    		triggerServerEvent("LockMyVehicle", localPlayer, ID)
    	elseif (source == Button_VS_sl) then 
    		guiSetVisible(Window_CHK, true)
            local carName = guiGridListGetItemText(Grid_VS, guiGridListGetSelectedItem(Grid_VS), 1)
            local carprice = guiGridListGetItemText(Grid_VS, guiGridListGetSelectedItem(Grid_VS), 6)
            guiSetText(Label_CHK, 'Tem certeza de que quer vender o seu "'..carName..'" por R$'..carprice)
    	elseif source == Button_CHK_Y then
    		triggerServerEvent("SellMyVehicle", localPlayer, ID)
    		guiSetVisible(Window_VS, false)
    		guiSetVisible(Window_CHK, false)
    		showCursor(false)
    	elseif source == Button_CHK_N then
    		guiSetVisible (Window_CHK, false)
    	elseif source == Button_VS_Spc then
    		if getElementInterior(localPlayer) == 0 then
    			if getElementData(localPlayer,"Stats") < 2 then
    				SpecVehicle(ID)
    			end
    		end
    	end
    end
    addEventHandler("onClientGUIClick", resourceRoot, WINDOW_CLICK_VEHICLE)
    
    
    function SpecVehicle(id)
    	if spc then 
    		removeEventHandler("onClientPreRender", root, Sp)
    		setCameraTarget(localPlayer)
    		if isTimer(freezTimer) then killTimer(freezTimer) end
    		freezTimer = setTimer(function() setElementFrozen(localPlayer, false) end, 2500, 1)
    		spc = false
    	return end
    	for i, vehicle in ipairs(getElementsByType("vehicle")) do
    		if getElementData(vehicle, "Owner") == localPlayer and getElementData(vehicle, "ID") == id then
    			cVeh = vehicle
    			spc = true
    			addEventHandler("onClientPreRender", root, Sp)
    			guiSetVisible(Window_VS, false)
    			showCursor(false)
    			break
    		  end
                            
    	end
    end
    
    function Sp()
    	if isElement(cVeh) then
    		local x, y, z = getElementPosition(cVeh)
    		setElementFrozen(localPlayer, true)
    		setCameraMatrix(x, y-1, z+15, x, y, z)
    
    	else
    		removeEventHandler("onClientPreRender", root, Sp)
    		setCameraTarget(localPlayer)
    		if isTimer(freezTimer) then killTimer(freezTimer) end
    		freezTimer = setTimer(function() setElementFrozen(localPlayer, false) end, 2500, 1)
    		spc = false
          end
    end
    
    
    
    
    
    addEventHandler (  "onClientGUIClick" , Button_VS_lk  , function()
    if source == Button_VS_lk then
    playSoundFrontEnd (10)   
    		   guiSetProperty(Button_VS_lk , "ImageColours", "tl:FF787878 tr:FF787878 bl:FF787878 br:FF787878") 
    		   setTimer ( function ()	guiSetProperty(Button_VS_lk , "ImageColours", "tl:FFFEFBFC tr:FFFEFBFC bl:FFFEFBFC br:FFFEFBFC")  end, 60, 1)
    	end	end
    )
    
    addEventHandler (  "onClientGUIClick" , Button_VS_bp   , function()
    if source == Button_VS_bp then
    playSoundFrontEnd (10)   
    		   guiSetProperty(Button_VS_bp, "ImageColours", "tl:FF787878 tr:FF787878 bl:FF787878 br:FF787878") 
    		   setTimer ( function ()	guiSetProperty(Button_VS_bp  , "ImageColours", "tl:FFFEFBFC tr:FFFEFBFC bl:FFFEFBFC br:FFFEFBFC")  end, 60, 1)
    	end	end
    )
    
    addEventHandler (  "onClientGUIClick" , Button_VS_sn    , function()
    if source == Button_VS_sn then
    playSoundFrontEnd (10)   
    		   guiSetProperty(Button_VS_sn , "ImageColours", "tl:FF787878 tr:FF787878 bl:FF787878 br:FF787878") 
    		   setTimer ( function ()	guiSetProperty(Button_VS_sn   , "ImageColours", "tl:FFFEFBFC tr:FFFEFBFC bl:FFFEFBFC br:FFFEFBFC")  end, 60, 1)
    	end	end
    )
    
    addEventHandler (  "onClientGUIClick" , Button_VS_sl  , function()
    if source == Button_VS_sl then
    playSoundFrontEnd (10)   
    		   guiSetProperty(Button_VS_sl  , "ImageColours", "tl:FF787878 tr:FF787878 bl:FF787878 br:FF787878") 
    		   setTimer ( function ()	guiSetProperty(Button_VS_sl, "ImageColours", "tl:FFFEFBFC tr:FFFEFBFC bl:FFFEFBFC br:FFFEFBFC")  end, 60, 1)
    	end	end
    )
    
    
    
    function btsyn()
    	if source == Button_CHK_Y then
    		playSoundFrontEnd (10)   
    		guiSetProperty(Button_CHK_Y, "ImageColours", "tl:FF787878 tr:FF787878 bl:FF787878 br:FF787878") 
    		setTimer ( function ()	guiSetProperty(Button_CHK_Y, "ImageColours", "tl:FFFEFBFC tr:FFFEFBFC bl:FFFEFBFC br:FFFEFBFC")  end, 60, 1)
    	end
    	if source == Button_CHK_N then
    		playSoundFrontEnd (10)   
    		guiSetProperty(Button_CHK_N  ,"ImageColours", "tl:FF787878 tr:FF787878 bl:FF787878 br:FF787878") 
    		setTimer ( function ()	guiSetProperty(Button_CHK_N , "ImageColours", "tl:FFFEFBFC tr:FFFEFBFC bl:FFFEFBFC br:FFFEFBFC")  end, 60, 1)
    	end
    end
    addEventHandler (  "onClientGUIClick" , root  , btsyn)
    
     
    addEventHandler (  "onClientGUIClick" , Grid_VS, function()
    if source == Grid_VS then
    playSoundFrontEnd (10)   
    		   guiSetProperty(Grid_VS,"ImageColours", "tl:FF787878 tr:FF787878 bl:FF787878 br:FF787878") 
    		   setTimer ( function ()	guiSetProperty(Grid_VS, "ImageColours", "tl:FFFEFBFC tr:FFFEFBFC bl:FFFEFBFC br:FFFEFBFC")  end, 60, 1)
    	end	end
    )
    
    
    
    function getVehicleOwner(veh)
    sowner = getElementData(veh,"Owner")
    return sowner
    end

     

×
×
  • Create New...