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

Wysłany: 2015-06-05, 14:30


P.Wiśnia

Programista LUA






Wiek: 24
Na forum: 4045 dni
Posty: 568
Nick w MP: P.Wiśnia

Piwa: 376

Respekt: 100
Respekt: 100

Jak Napisa??

Plik Client


local districtsBus = {

    {-114.79,1152.61,19.59},
    {-113.12,1164.50,19.59},
    {-113.60,1199.11,19.59},
    {-127.06,1201.98,19.58},
    {-196.87,1199.95,19.59},
    {-197.96,1098.40,19.59},
    {-198.57,1004.90,19.57},
    {-296.61,813.30,14.57},
    {-126.70,818.83,20.83},
    {-126.26,757.93,20.73},
    {-290.20,687.47,18.60},
    {-228.52,623.31,10.01},
    {-144.33,629.61,2.10},
    {-128.91,535.68,7.17},
    {-94.20,540.26,6.87},
    {18.04,619.35,8.39},
    {157.71,694.35,6.12},
    {259.92,725.92,7.96},
    {342.65,699.74,8.53},
    {350.67,706.68,8.64},
    {281.32,853.33,19.40},
    {221.27,990.38,28.25},
    {188.80,1142.70,14.67},
    {161.58,1158.86,14.58},
    {119.18,1201.64,18.23},
    {-44.09,1201.39,19.21},
    {-116.03,1201.02,19.59},
    {-119.11,1155.33,19.59},
    {-141.06,1151.08,19.59},
    {-143.07,1128.69,19.75},
}

local jobTarget
local jobMarker
local jobVehicle
local maxTarget #districtsBus

function finishJob()
    if jobMarker and isElement(jobMarkerthen
        destroyElement(jobMarker)
        jobMarker nil
    end
    
    if jobTarget and isElement(jobTargetthen
        destroyElement(jobTarget)
        jobTarget nil
        jobTarget 0
        
    end
    
triggerServerEvent("destroyVeh"localPlayer)

end


function busDriver(elmd)
    if el ~= localPlayer or not md then return end
    if jobTarget maxTarget and getPedOccupiedVehicle(elthen return end
    if jobTarget == maxTarget and not getPedOccupiedVehicle(elthen return end
    
    if jobTarget == #districtsBus then
        finishJob()
        playSoundFrontEnd(5)
        outputChatBox("* Zako?czy?e?/a? prac?.")
    else
        showMarker()
        playSoundFrontEnd(12)
        triggerServerEvent("givePlayerMoney"localPlayer100)
    end
end

function showMarker()
    if jobMarker and isElement(jobMarkerthen
        destroyElement(jobMarker)
        jobMarker nil
    end
    
    jobTarget jobTarget 1
    jobMarker createMarker(districtsBus[jobTarget][1], districtsBus[jobTarget][2], districtsBus[jobTarget][3], "checkpoint"400255)
    
    if districtsBus[jobTarget+1then
        ile districtsBus[jobTarget+1]
        setMarkerTarget(jobMarkerile[1], ile[2], ile[3])
    end
    
    addEventHandler("onClientMarkerHit"jobMarkerbusDriver)
end

addEvent("STARTJobBus"true)
addEventHandler("STARTJobBus"resourceRoot, function(veh)
    outputChatBox("* Rozpocz??e?/a? prac?.")
    jobVehicle veh
    jobTarget 0
    showMarker()
end)

addEventHandler("onClientResourceStop"resourceRoot, function()
    if jobVehicle and getElementData(localPlayer"gracz_praca"then
        setElementData(localPlayer"gracz_praca"false)
    end
end)

addEventHandler("onClientVehicleExit"resourceRoot, function(plrseat)
    if seat == 0 then
        if plr == localPlayer then
            finishJob()
            outputChatBox("* Zako?czy?e? prac?")
        end
    end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-06-05, 14:36


Loop

Inspektor






Wiek: 27
Na forum: 4289 dni
Posty: 311
Nick w MP: Inspektor

Piwa: 201

Respekt: 130
Respekt: 130


local positionVehicles = {
    {2467.770511762.8857410.79088},
    {2467.77051-51762.8857410.79088},
    {2467.77051-101762.8857410.79088},
    {2467.77051-151762.8857410.79088},
}

for i,v in ipairs(positionVehicles) do
    local pojazd createVehicle(437v[1], v[2], v[3], 1.30.1358.8)
    setElementFrozen(pojazdtrue)
end

addEventHandler("onVehicleEnter"resourceRoot, function(plrseat)
    if seat == 0 then
        setElementFrozen(sourcefalse)
        setElementData(plr"gracz_praca"true)
        outputChatBox("* Rozpocz??e?/a? prac?."plr)
        triggerClientEvent(plr"STARTJobBus"resourceRoot)
    end
end)

function respawnVehicles()
    for i,v in ipairs(getElementsByType("vehicle"resourceRoot)) do
        if not getVehicleOccupant(vthen
            respawnVehicle(v)
            setElementFrozen(vtrue)
        end
    end
end
setTimer(respawnVehicles600000)
addEvent("destroyVeh"true)
addEventHandler("destroyVeh"respawnVehicles)


To jest plik serwer

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-06-05, 14:40


P.Wiśnia

Programista LUA






Wiek: 24
Na forum: 4045 dni
Posty: 568
Nick w MP: P.Wiśnia

Piwa: 376

Respekt: 100
Respekt: 100

Nie Dzi?a

[ Dodano: 2015-06-05, 14:42 ]
Client

local praca createMarker (-1759.2,961.0,24.6"cylinder"1.025500)

local districtsBus = {

    {45.83,1201.23,18.81},
    {-66.73,1201.60,19.59},
    {-68.33,1148.97,19.59},
    {24.26,1144.16,19.59},
    {26.12,1102.61,19.59},
    {-65.06,1101.15,19.59},
    {-185.69,1100.93,19.60},
    {-188.17,1193.49,19.55},
    {-115.97,1196.37,19.59},
    {-117.24,1251.94,17.41},
    {-73.71,1256.68,12.09},
    {64.41,1220.31,18.83}
   
}

local jobTarget
local jobMarker
local jobVehicle
local maxTarget #districtsBus

function finishJob()
    if jobMarker and isElement(jobMarkerthen
        destroyElement(jobMarker)
        jobMarker nil
    end
    
    if jobTarget and isElement(jobTargetthen
        destroyElement(jobTarget)
        jobTarget nil
        jobTarget 0
        
    end
    
triggerServerEvent("destroyVeh"localPlayer)

end


function busDriver(elmd)
    if el ~= localPlayer or not md then return end
    if jobTarget maxTarget and getPedOccupiedVehicle(elthen return end
    if jobTarget == maxTarget and not getPedOccupiedVehicle(elthen return end
    
    if jobTarget == #districtsBus then
        finishJob()
        playSoundFrontEnd(5)
        outputChatBox("* Zako?czy?e?/a? prac?.")
    else
        showMarker()
        playSoundFrontEnd(12)
        triggerServerEvent("givePlayerMoney"localPlayer50)
    end
end

function showMarker()
    if jobMarker and isElement(jobMarkerthen
        destroyElement(jobMarker)
        jobMarker nil
    end
    
    jobTarget jobTarget 1
    jobMarker createMarker(districtsBus[jobTarget][1], districtsBus[jobTarget][2], districtsBus[jobTarget][3], "checkpoint"400255)
    
    if districtsBus[jobTarget+1then
        ile districtsBus[jobTarget+1]
        setMarkerTarget(jobMarkerile[1], ile[2], ile[3])
    end
    
    addEventHandler("onClientMarkerHit"jobMarkerbusDriver)
end

addEvent("STARTJobBus"true)
addEventHandler("STARTJobBus"resourceRoot, function(veh)
    outputChatBox("* Rozpocz??e?/a? prac?.")
    jobVehicle veh
    jobTarget 0
    showMarker()
end)

addEventHandler("onClientResourceStop"resourceRoot, function()
    if jobVehicle and getElementData(localPlayer"gracz_praca"then
        setElementData(localPlayer"gracz_praca"false)
    end
end)

addEventHandler("onClientVehicleExit"resourceRoot, function(plrseat)
    if seat == 0 then
        if plr == localPlayer then
            finishJob()
            outputChatBox("* Zako?czy?e? prac?")
        end
    end
end)

serwer

local positionVehicles = {
    {2467.770511762.8857410.79088},
    {2467.77051-51762.8857410.79088},
    {2467.77051-101762.8857410.79088},
    {2467.77051-151762.8857410.79088},
}

for i,v in ipairs(positionVehicles) do
    local pojazd createVehicle(437v[1], v[2], v[3], 1.30.1358.8)
    setElementFrozen(pojazdtrue)
end

addEventHandler("onVehicleEnter"resourceRoot, function(plrseat)
    if seat == 0 then
        setElementFrozen(sourcefalse)
        setElementData(plr"gracz_praca"true)
        outputChatBox("* Rozpocz??e?/a? prac?."plr)
        triggerClientEvent(plr"STARTJobBus"resourceRoot)
    end
end)

function respawnVehicles()
    for i,v in ipairs(getElementsByType("vehicle"resourceRoot)) do
        if not getVehicleOccupant(vthen
            respawnVehicle(v)
            setElementFrozen(vtrue)
        end
    end
end
setTimer(respawnVehicles600000)
addEvent("destroyVeh"true)
addEventHandler("destroyVeh"respawnVehicles


[ Dodano: 2015-06-05, 15:08 ]
Nie Dzi?a[color=red][/color]

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-06-05, 16:53


Fanciak

BOT






Wiek: 25
Na forum: 4446 dni
Posty: 728
Nick w MP: Fanciak

Piwa: 1572

Respekt: 500
Respekt: 500

Zobacz czy masz dobrze w meta.xml, najlepiej podaj ca?? zawarto?? jej.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-06-05, 16:57


piotr172







Wiek: 26
Na forum: 4417 dni
Posty: 130

Piwa: 2329

Respekt: 105,3
Respekt: 105,3

Ty chcesz ?eby praca rozpoczyna?a si? po wej?ciu do pojazdu czy po wej?ciu do markera? No bo u mnie dzia?a.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-06-05, 17:38


P.Wiśnia

Programista LUA






Wiek: 24
Na forum: 4045 dni
Posty: 568
Nick w MP: P.Wiśnia

Piwa: 376

Respekt: 100
Respekt: 100

Po Wejsciu W Marker

[ Dodano: 2015-06-05, 17:39 ]
A Meta Jest Dobrze

A Ja Chem Zeby Dawalo Pojazd Po Wejsciu W Maker

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-06-05, 21:04


Fanciak

BOT






Wiek: 25
Na forum: 4446 dni
Posty: 728
Nick w MP: Fanciak

Piwa: 1572

Respekt: 500
Respekt: 500

W evencie onClientMarkerHit dodaj funkcj? tworzenia pojazdu i tepania peda do pojazdu.



Więcej informacji znajdziesz w Wikipedii MTA:

createVehicle



Więcej informacji znajdziesz w Wikipedii MTA:

warpPedIntoVehicle


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-06-06, 09:07


Loop

Inspektor






Wiek: 27
Na forum: 4289 dni
Posty: 311
Nick w MP: Inspektor

Piwa: 201

Respekt: 130
Respekt: 130

"Fanciak" napisał/a:

W evencie onClientMarkerHit dodaj funkcj? tworzenia pojazdu i tepania peda do pojazdu.


Od kiedy tworzy si? pojazdy po stronie clienta?

U?yj eventu onMarkerHit

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-06-06, 23:00


P.Wiśnia

Programista LUA






Wiek: 24
Na forum: 4045 dni
Posty: 568
Nick w MP: P.Wiśnia

Piwa: 376

Respekt: 100
Respekt: 100


    end
end

function showMarker())
    local busPed createPed 25200)
    local busVehicle createVehicle 41140)
    warpPedIntoVehicle busPedbusVehicle )      
    
    addEventHandler("onClientMarkerHit"jobMarkerbusDriver)
end

Takie Co?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-06-07, 12:53


Loop

Inspektor






Wiek: 27
Na forum: 4289 dni
Posty: 311
Nick w MP: Inspektor

Piwa: 201

Respekt: 130
Respekt: 130

Aidis Takich rzeczy jak autobusy, samochody nigdy nie tworzymy po stronie client. Dlaczego? Dlatego ?e rzeczy po stronie klienta widzi tylko 1 osoba a serwera to ka?dy.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-06-07, 15:13


P.Wiśnia

Programista LUA






Wiek: 24
Na forum: 4045 dni
Posty: 568
Nick w MP: P.Wiśnia

Piwa: 376

Respekt: 100
Respekt: 100

Wez Mnie Pls Popraw

Postaw piwo autorowi tego posta
 

 
Tagi: jak :: napisać :: server.lua
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Jak Napisać server.lua 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