Hallo Community,
ich bin derzeit dabei einen Server auf Godmother basierend aufzubauen und habe mal versucht ein Waffenlieferant zu machen.
Hierbei habe ich den Truckerjob kopiert und ein wenig abgeändert. Im truckerjob funktioniert alles so wie es soll. Nur bei mir gibt es ein paar probleme.
Im truckerjob wird die dimension gewechselt und bei mir soll alles in der dimension 0 sein. Nun werden aber die ziele jedem spieler angezeigt was es aba nicht soll.
Nun wollte ich es noch ein bischen realistischer machen und wollte einen NPC mit ins auto spawnen. Das klappt sehr gut jeder spieler bekommt seinen eigenen NPC.
Nur wenn ich ins zeil fahre wird er nicht gelöscht was auch klar ist weil er nicht definiert ist.
Ich habe die Funktionen auskommentiert.
Darum hab ich 2 Fragen.
1. Wie kann ich es machen das es nur einem Spieler angezeigt wird und nicht jedem ?
2.Wie kann ich den NPC wieder löschen ?
Damit ihr auch wisst wie das script aufgebaut ist poste ich es hier:
-- Waffenlieferant: v1.0 ScriptBy: Lazlow
missionbegin = createMarker ( 2444.3193359375, -1976.7890625, 12.7, "cylinder", 1, 255, 0, 0 )
--truckerjobmarker =
createBlip ( 2444.3193359375, -1976.7890625, 12.7, 18 )
--Npcs
emmet = createPed ( 302, 2443.619140625, -1976.7158203125, 13.546875, 270 )
ryder = createPed ( 271, 1065.751953125, -1763.5947265625, 13.396039009094, 270 )
sweet = createPed ( 270, 1654.40234375, -1033.861328125, 23.8984375, 0 )
bigsmoke = createPed ( 269, 1739.0859375, -2064.4423828125, 13.606763839722, 270 )
--Cars
rydervan = createVehicle ( 482, 1062.375, -1763.76953125, 13.509888648987, 0, 0, 90 )
sweetvan = createVehicle ( 482, 1654.498046875, -1037.0224609375, 24.02020072937, 0, 0, 180 )
bigsmokevan = createVehicle ( 482, 1734.8251953125, -2062.75, 13.719152450562, 0, 0, 90 )
setVehicleLocked ( rydervan, true )
setVehicleLocked ( sweetvan, true )
setVehicleLocked ( bigsmokevan, true )
function wvanStart ( thePlayer )
local playerjob = getElementData ( thePlayer, "Job" )
if ( isElementWithinMarker ( thePlayer, missionbegin ) ) then
if ( playerjob == 22 ) then
--randomid = math.random ( 1, 30000 )
local dim = 0
local finish = math.random ( 1, 3 )
local truckerid = "Trucker" ..math.random ( 1, 30000 )
--local pedid = "ped" ..math.random ( 1, 30000 )
local finishid = "Finish" .. 0
setElementData ( thePlayer, "TruckID", tostring ( math.random ( 1, 30000 ) ) )
setElementID ( createVehicle ( 482, 2453.4365234375, -1987.900390625, 13.554044723511, 0, 0, 180, "LS EW 94" ), truckerid )
setElementDimension ( getElementByID ( truckerid ), dim )
setElementDimension ( thePlayer, dim )
warpPedIntoVehicle ( thePlayer, getElementByID ( truckerid ), 0 )
--triggerClientEvent ( "missioncomplete", thePlayer)
--triggerClientEvent ( "missioncompletetext", thePlayer)
--setVehicleLocked ( getElementByID ( truckerid ), true )
--setElementID ( warpPedIntoVehicle ( createPed ( 28, 2443.619140625, -1976.7158203125, 13.546875, 270 ), getElementByID ( truckerid ), 1 ), pedid )
setElementData ( thePlayer, "onWVan", 1 )
if ( getElementData ( thePlayer, "onWVan" ) == 1 ) then
if ( finish == 1 ) then
setElementID ( createMarker ( 1062.8232421875, -1769.8203125, 13.365564346313, "checkpoint", 10, 255, 0, 0, 255, thePlayer ), finishid )
setElementDimension ( getElementByID ( finishid ), dim )
setElementID ( createBlip ( 1062.8232421875, -1769.8203125, 13.365564346313, 19, 2, 255, 0, 0, 255, 0, thePlayer ), "blip" .. tostring ( dim ) )
outputChatBox ( "Dealer(Handy): Ok, die Waffen müssen zu Ryder. Fahr vorsichtig damit wir nicht auffallen!", thePlayer,0,255,0 )
elseif ( finish == 2 ) then
setElementID ( createMarker (1740.5205078125, -2058.0107421875, 13.31219291687, "checkpoint", 10, 255, 0, 0, 255, thePlayer ), finishid )
setElementDimension ( getElementByID ( finishid ), dim )
setElementID ( createBlip (1740.5205078125, -2058.0107421875, 13.31219291687, 19, 2, 255, 0, 0, 255, 0, thePlayer ), "blip" .. tostring ( dim ) )
outputChatBox ( "Dealer(Handy): Ok, die Waffen müssen zu Big Smoke. Fahr vorsichtig damit wir nicht auffallen!", thePlayer,0,255,0 )
elseif ( finish == 3 ) then
setElementID ( createMarker ( 1658.5205078125, -1036.8818359375, 23.8984375, "checkpoint", 10, 255, 0, 0, 255, thePlayer ), finishid )
setElementDimension ( getElementByID ( finishid ), dim )
setElementID ( createBlip ( 1658.5205078125, -1036.8818359375, 23.8984375, 19, 2, 255, 0, 0, 255, 0, thePlayer ), "blip" .. tostring ( dim ) )
outputChatBox ( "Dealer(Handy): Ok, die Waffen müssen zu Sweet. Fahr vorsichtig damit wir nicht auffallen!", thePlayer,0,255,0 )
end
setElementDimension ( getElementByID ( "blip" .. tostring ( dim ) ), dim )
setVehicleEngineState ( getElementByID ( truckerid ), true )
end
else
outputChatBox ( "Du bist kein Waffenlieferant!", thePlayer )
end
end
end
addCommandHandler ( "startvan", wvanStart)
function finishwvan ( hitPlayer, matchingDimension )
if ( source == getElementByID ( "Finish" .. 0 ) ) then
if ( getElementData ( hitPlayer, "onWVan" ) == 1 ) then
outputChatBox ( "Du hast die Lieferung erfolgreich abgegeben und 800$ verdient!", hitPlayer )
removePedFromVehicle ( hitPlayer )
--removePedFromVehicle ( hitped )
destroyElement ( source )
destroyElement ( getElementByID ( "blip" .. tostring ( getElementDimension ( hitPlayer ) ) ) )
givePlayerMoney ( hitPlayer, 800 )
setElementData ( hitPlayer, "onWVan", 0 )
setElementDimension ( hitPlayer, 0 )
setElementPosition ( hitPlayer, 2448.1748046875, -1977.072265625, 13.546875 )
setPedRotation ( hitPlayer, 270 )
triggerClientEvent ( "missioncomplete", hitPlayer)
--triggerClientEvent ( "missioncompletetext", thePlayer)
end
end
end
addEventHandler ( "onMarkerHit", getRootElement(), finishwvan )
function wvanjobhelp ( hitPlayer, matchingDimension )
local playerjob = getElementData ( hitPlayer, "Job" )
if ( playerjob == 22 ) then
outputChatBox ( "Tippe /startvan um einen Auftrag zu bekommen!", hitPlayer )
else
outputChatBox ( "Tippe /van um für Emmet Waffen auszuliefern!", hitPlayer )
end
end
addEventHandler ( "onMarkerHit", missionbegin, wvanjobhelp )
function vanfahrer(player,command)
if ( isElementWithinMarker ( player, missionbegin ) ) then
if ( getElementData ( player, "LicA" ) == 1 ) then
setElementData(player, "Job", 22)
outputChatBox("Du lieferst nun Waffen für Emmet.", player,0,255,0)
else
outputChatBox("Für den Job bei Emmet benötigst du einen Führerschein.", player, 255, 0, 0 )
end
end
end
addCommandHandler("van", vanfahrer)
--function onVanCancelExit ( thePlayer )
--if ( getElementData ( thePlayer, "onWVan" ) ~= false ) then
--if ( getElementData ( thePlayer, "onWVan" ) == 1 ) then
-- cancelEvent()
-- outputChatBox ( "Du musst im Van bleiben!", thePlayer )
--end
--end
--end
--addEventHandler ( "onVehicleStartExit", getRootElement(), onVanCancelExit )
Alles anzeigen
Ich hoffe ihr könnt mir helfen.