Das blaue Logo an der Tür von dem Fahrzeug Ambulance: https://ibb.co/c2yZ9ng

Kleine-Scripting-Fragen
-
-
Bin mir da ehrlich gesagt nicht sicher, aber ich glaube das ist mit einem Shader möglich.
wie genau, da bin ich leider der falsch ansprech partner.
hast du evtl probiert die Sekundär lackierung zu ändern?
-
Also ich benutze das Logo als Shader für andere Fahrzeuge, aber ich finde das Logo nur in weiß. Ich hab probiert den RGB Code so zu machen das die Farben identisch Aussehen aber je nach Lichtverhältnissen sehen die wieder komplett anders aus deswegen brauche ich den Farbcode von dem Originalen Logo
-
Servus leute falls hier noch jemand aktiv ist hab mal eine frage. Ich möchte per knopfdruck die map öffnen lassen (nicht die standart F11 map) sondern ein eigenes png. Diese soll aufgebaut werden wie die map aus dem singleplayer. Man soll die möglichkeit haben wegpunkte zu setzen usw. Naja aufjedenfall komme ich an einer stelle nicht weiter denn ich muss ja logischer weiße eine Rechnung machen die die position der karte auf die position wie sie in gta wäre quasi ausrechnet. Dafür gibts wahrscheinlich eine logische Rechnung die ich aber nicht kenne. Habe mir also mal aus dem freeroam script die logik angeguckt hinter der spawnmap und habe dort eine rechnung gefunden jedoch weiß ich nicht woraus sich diese Rechnung zusammensetzt.
Im Anhang seht ihr meinen code allerdings wird man nicht exakt an die stelle teleportiert die man auf der map anklickt.
Achja und nochwas gibt es eine möglichkeit die standart f11 map zu deaktivieren?
Danke im vorraus!Lua
Alles anzeigenlocal status = false local map local pos = "0,0,0" function test() if status == false then map = guiCreateStaticImage(0.18, 0.07, 0.64, 0.85, ":UCF/bilder/map.png", true) showCursor(true) status = true addEventHandler("onClientRender",getRootElement(),renderPos) addEventHandler("onClientGUIClick",map,function(button,state,absoluteX,absoluteY) if button=="left" then local mapposx,mapposy=guiGetPosition(map,true) local mapsizex,mapsizey=guiGetSize(map,true) local cursorx,cursory=getCursorPosition() local cursorxt=(cursorx*6000-3000) local cursoryt=(cursory*6000-3000)*-1 pos = "x: "..cursorxt.. " y: "..cursoryt setElementPosition(getLocalPlayer(),cursorxt,cursoryt,1000) end end) else destroyElement(map) map = nil showCursor(false) status = false removeEventHandler("onClientRender",getRootElement(),renderPos) end end bindKey("f11","down",test) local screenW, screenH = guiGetScreenSize() function renderPos () dxDrawText(pos, screenW * 0.3148, screenH * 0.9229, screenW * 0.7375, screenH * 0.9583, tocolor(255, 255, 255, 255), 1.20, "default-bold", "center", "top", false, false, false, false, false) end
-
Code
local cursorx, cursory=getCursorPosition() local mapposx, mapposy=guiGetPosition(map,true) local mapsizex,mapsizey=guiGetSize(map,true) cursorx = (cursorx - mapposx) / mapsizex cursory = (cursory - mapposy) / mapsizey local cursorxt=(cursorx*6000-3000) local cursoryt=(cursory*6000-3000)*-1
^^^^^^ musst schauen ob das geht
getCursorPosition() ist relativ zum Bildschirm. Du brauchst einen Wert der relativ zum Bild ist
-
funktioniert bestens danke!
-
Eine frage hab ich noch wie wäre das Gegenstück wenn ich jetzt aus der map position wieder in die screen position umwandeln will?
-
Moinsen hab hier ein kleines Problem. Ich möchte für jeden Spieler der diesen command eingibt eine colShape erstellen und aufs jeweilige fahrzeug attachen und das ganze noch mit onColShapeHit abfragen können ob jemand die col hittet. Problem an der sache ist das sobald eine 2te Person den command benutzt die colshape bei der 1 Person verschwindet... wie kann ich das ganze umgehen?
Lua
Alles anzeigenlocal theShape = createColSphere (0,0,0, 3.5 ) function test2(player, commandName) x,y,z = getElementPosition(player) newvehicle = createVehicle(429, x, y, z+5) setElementData(newvehicle,"owner",getElementData(player,"charakterName")) setElementData(newvehicle,"fuel",40) setElementData(newvehicle,"vehiclename","BMW E36") setVehicleLocked(newvehicle,false) x,y,z = getElementPosition(newvehicle) attachElements ( theShape, newvehicle ) warpPedIntoVehicle(player,newvehicle) end addCommandHandler("testcar",test2) function enterVehicleCol ( thePlayer, matchingDimension ) if getElementType ( thePlayer ) == "player" and isPedInVehicle(thePlayer) == false then local vehicles = getElementsWithinColShape (source, "vehicle") for i, veh in ipairs (vehicles) do if (getElementHealth(veh) <= 450) then outputChatBox ("Die collision ist vom dem auto: " ..getElementData(veh,"vehiclename").. " und es ist kaputt") bindKey(thePlayer,"lshift","both",moveVehicle) end outputChatBox("test") bindKey(thePlayer,"l","down",openTrunk,veh) end end end addEventHandler ( "onColShapeHit", theShape, enterVehicleCol )
-
Moinsen hab hier ein kleines Problem. Ich möchte für jeden Spieler der diesen command eingibt eine colShape erstellen und aufs jeweilige fahrzeug attachen und das ganze noch mit onColShapeHit abfragen können ob jemand die col hittet. Problem an der sache ist das sobald eine 2te Person den command benutzt die colshape bei der 1 Person verschwindet... wie kann ich das ganze umgehen?
Lua
Alles anzeigenlocal theShape = createColSphere (0,0,0, 3.5 ) function test2(player, commandName) x,y,z = getElementPosition(player) newvehicle = createVehicle(429, x, y, z+5) setElementData(newvehicle,"owner",getElementData(player,"charakterName")) setElementData(newvehicle,"fuel",40) setElementData(newvehicle,"vehiclename","BMW E36") setVehicleLocked(newvehicle,false) x,y,z = getElementPosition(newvehicle) attachElements ( theShape, newvehicle ) warpPedIntoVehicle(player,newvehicle) end addCommandHandler("testcar",test2) function enterVehicleCol ( thePlayer, matchingDimension ) if getElementType ( thePlayer ) == "player" and isPedInVehicle(thePlayer) == false then local vehicles = getElementsWithinColShape (source, "vehicle") for i, veh in ipairs (vehicles) do if (getElementHealth(veh) <= 450) then outputChatBox ("Die collision ist vom dem auto: " ..getElementData(veh,"vehiclename").. " und es ist kaputt") bindKey(thePlayer,"lshift","both",moveVehicle) end outputChatBox("test") bindKey(thePlayer,"l","down",openTrunk,veh) end end end addEventHandler ( "onColShapeHit", theShape, enterVehicleCol )
Wenn ich das ganze richtig überflogen habe, solltest du den scope von dem theShape ändern. Du nimmst jedes Mal denselben shape, logischerweise wird der shape immer auf das nächste Fahrzeug gesetzt.
Deshalb den shape in der Funktion test2 erstellen also dem scope von der Funktion.
-
Nutz Tabellen, du überschreibst jedesmal die Variable theShape
-
Wenn ich das ganze richtig überflogen habe, solltest du den scope von dem theShape ändern. Du nimmst jedes Mal denselben shape, logischerweise wird der shape immer auf das nächste Fahrzeug gesetzt.
Deshalb den shape in der Funktion test2 erstellen also dem scope von der Funktion.
Das Problem ist das dann trotzdem nurnoch bei einem Fahrzeug die col mit onColShapeHit getriggert werden kann....
-
Ok ich hab das ganze schon behoben man braucht nicht mit tabellen arbeiten einfach den eventhandler von onColShapeHit in der funktion mit angeben wo der shape erstellt wird dann überschreibt sich nichts mehr und jede existierende colshape wird mit onColShapeHit getriggert. Trotzdem danke!
-
Ok ich hab das ganze schon behoben man braucht nicht mit tabellen arbeiten einfach den eventhandler von onColShapeHit in der funktion mit angeben wo der shape erstellt wird dann überschreibt sich nichts mehr und jede existierende colshape wird mit onColShapeHit getriggert. Trotzdem danke!
Das wird die bei mehreren Spielern gleichzeitig Probleme machen, verspreche ich dir.
-
Ne funktioniert bestens
-
Ne funktioniert bestens
Dann glaube ich dir mal
-
Hab mal noch ne Frage. Ich erstelle ingame einen browser um mir eine seite anzeigen zu lassen kann aber nichts andrücken trotz das ich diesen code schon implementiert habe:
Lua
Alles anzeigenaddEventHandler("onClientClick", root, function(button, state) if state == "down" then injectBrowserMouseDown(webBrowser, button) else injectBrowserMouseUp(webBrowser, button) end end) function onCursorMove ( relativeX , relativeY , absoluteX , absoluteY ) if webBrowser then injectBrowserMouseMove ( webBrowser , absoluteX , absoluteY ) end end addEventHandler ( "onClientCursorMove" , root , onCursorMove )
-
Problem behoben einfach guiCreateBrowser verwenden statt createBrowser
-
Beitrag von Keno ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: erledigt ().
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!