So hab ich das gemacht, das Problem war, dass ich noch nach der function "false" einsetzen muss, danke
trotzdem!
Beiträge von INCepted
-
-
Yo Leute,
ich bin gerade dabei ein Hover button zu erstellen. Sobald man auf de Button mit der Maus
zeigt, dann soll sich ein Label ganz weiß färben.Jedoch färbt sich das Label schon bereits wenn ich mit der Maus
auf der GUI bin, die den Button enthält also das Elternteil vom Button.Hat einer eine Idee was das Problem ist ? Es soll sich ja nur färben, sofern ich im
Button bin..Code:
-
Fehler war nun dass der GUI Editor es nicht behandeln kann. Im Script
selbst geht es jedoch nun, danke! -
Die Schriftgröße der GUI-Standardschriftarten (https://wiki.multitheftauto.com/wiki/Standard_GUI_Font_Names) lässt sich nicht ändern.
Da musst du dir wohl eine eigene Schriftart erstellen (https://wiki.multitheftauto.com/wiki/GuiCreateFont). Die Schriftgröße ist hier nämlich einstellbar.Eine weitere Möglichkeit: Mit dxDraw arbeiten, dort kannst du auch die Schriftgröße der dxDraw-Standardschriftarten verändern (https://wiki.multitheftauto.com/wiki/DxDrawText).
VG
dxDraw kommt leider nicht in Frage, da ich ein Menü brauche also GUI.
Und mit GuiCreateFont lässt sich die Größe auch nicht änder, obwohl ich versucht habe.. -
Hey liebes Forum,
wie kann ich es hinkriegen, dass ich die Arial Font im GUI Editor groß mache ?
Ich hab sie bereits eingefügt, aber die Größe lässt sich nicht ändern. Hat einer eine Lösung oder
ein Trick dies zu bewältigen ?Gruß!
-
Hey Leute ich hab eine HUD animiert,
jedoch mit einem Timer, da liegt ja der maximale wert nur bei 50 ms, weiter runter gehts nicht.
Nun meine Frage, wie kann ich die HUD flüssiger animieren ?
Bei mir wandert die HUD, die in der rechten ecke ist nach links, bis sie ausgeblendet wird, das
sieht jedoch ruckelig aus, da es ja nur 50s sind.
Hat einer eine bessere lösung ?Code:
Lua
Alles anzeigenh_screenWidth, h_screenHeight = guiGetScreenSize() h_scale = 1 h_XOffset = 15 h_YOffset = 15 h_ImageW = 220 h_ImageH = 160 hudX = h_screenWidth - h_ImageW - h_XOffset hudY = h_YOffset count = 0 hudOpen = true hudMoving = false function HudAusblenden () if hudOpen == true and hudMoving == false then closeHud () elseif hudMoving == false and hudOpen == false then openHud () end end bindKey ( "B", "down", HudAusblenden ) function closeHud () if count < 25 then count = count + 1 hudX = hudX + 10 setTimer ( closeHud, 50, 1 ) hudMoving = true hudOpen = false else hudMoving = false hudOpen = false end end function openHud () if count >= 1 then count = count - 1 hudX = hudX - 10 setTimer ( openHud, 50, 1 ) hudOpen = true hudMoving = true else hudMoving = false hudOpen = true end end
-
Das Problem wurde hier schon öfters genannt. Nutze am besten die SuFu. ( Suchfunktion )
Ja, richtig. Es gab aber bisher keine Lösung, bräuchte nur die oben genannte function, dann kann ich es für die, die es brauchen fixen -
WARNING: vio/clothes/clothes_client.lua:27:
Das hat nichts mit dem Kofferraum zutunDer Bug für den Kofferraum kommt daher dass die serverseitige function verbuggt ist in Vio_Extended. Schick mal bitte die
trunkStorageServer_func function aus der Datei "stuning_server.lua" findest du im carsys/tuning/ -
Hey liebes MTA Forum,
ich scheitere gerade an einer SOS-Function.Was soll die Function tun ?
Wenn der Spieler /sos eingibt sollen alle Staatsfraktionisten (FBI, ARMY, PD) einen Blip
auf dem Radar bekommen, der auf den Spieler zeigt, der den Command getätigt hat.
Mit /sos löscht man wieder den Blip.Ich hab folgendes bereits getätigt, jedoch wird der Blip nicht an alle Staatfraktionen gesendet, irgendwas
mache ich deutlich falsch, mir ist nur nicht klar, wie ich die function verwirkliche:EDIT:
Im Grunde genommen habe ich alles wichtige, wie kann ich jedoch
den Blip für alle Spieler in der Fraktion erstellen ?Ich habe da probleme bei dem Triggern, da ich es ja nur vom Local Player triggert und
somit nur den Localplayer abfragt ob er in der jeweiligen Fraktion ist:Clientseitiges Triggern der Koordinaten vom späteren Blip:
Lualocal x, y, z = getElementPosition ( getLocalPlayer() ) triggerServerEvent ( "sosserver", getLocalPlayer(), x, y, z )
Und hier wird der Blip erstellt, jedoch erstellt er nur den Blip für den User, der den Command auslöste,
da er ja vom Localplayer getriggert wurde:Luafunction sos_func ( x, y, z ) for playeritem, index in pairs(fraktionMembers[8]) do if isElement ( sosBlip ) then destroyElement ( sosBlip ) end sosBlip = createBlip(x, y, z, 0, 5, 255, 0, 0, 255, 0, 99999.0, player) end end addEvent ( "sosserver", true ) addEventHandler ( "sosserver", getRootElement(), sos_func )
-
Hey MTA-SA Mitglieder,
bin bereits am Ende der Suche. Mein Problem: Im SPFD Interior gibt es
in der Lobby einen Bot, ich weiß jedoch nicht in welcher Datei er gespawnt wird,
wo wird er gescriptet ? Das wäre echt wichtig für mich, da ich mit ihm noch was vernünftiges anstellen
will, weiß also vielleicht jemand wo ich ihn finde ?Danke für alle Antworten im Voraus!
Grüße
-
Hast du irgendwas im Gangwar Script verändert?
Und kommen beim Script Start Errormeldungen im Debugscript?
Nein keine Errors und es wurde auch nichts geändert am Gangareas Script.. -
Schau mal im Fraktionsordner in der "gangareas.lua" Datei nach,
ob die jeweilige Fraktion eine Farbe zugeschrieben bekommen hat.
Im Grunde genommen ist da alles richtig angegeben, es wurde dennoch keine Area erstellt.Lua
Alles anzeigengangColor = {} gangColor[0] = {} gangColor[0][1] = 200 gangColor[0][2] = 200 gangColor[0][3] = 200 gangColor[2] = {} gangColor[2][1] = 10 gangColor[2][2] = 10 gangColor[2][3] = 10 gangColor[3] = {} gangColor[3][1] = 0 gangColor[3][2] = 50 gangColor[3][3] = 200 gangColor[7] = {} gangColor[7][1] = 150 gangColor[7][2] = 150 gangColor[7][3] = 10 gangColor[9] = {} gangColor[9][1] = 100 gangColor[9][2] = 50 gangColor[9][3] = 100 gangName = { [0]="Niemandem", [2]="Mafia", [3]="Triaden", [7]="Aztecas", [9]="Angels of Death" } validGangs = { [2]=true, [3]=true, [7]=true, [9]=true } areaTexts = { [3]="Gramm Drogen", [6]="Material", [8]="Material", [7]="Material" } gangAreaUnderAttack = false gangAreaAttackers = false gangAreaDefenders = false gangCount = 13 gangAreaConquerEach = 500 sec = 1000 function createGangAreas ( ) local result = mysql_query( handler, "SELECT * FROM gangs" ) if ( not result) then outputDebugString("Error executing the query: (" .. mysql_errno(handler) .. ") " .. mysql_error(handler)) return end local dsatz = mysql_fetch_assoc( result ) while ( dsatz ) do local ID = dsatz["Nummer"] local XS = math.abs( dsatz["X1"] - dsatz["X2"] ) local YS = math.abs( dsatz["Y1"] - dsatz["Y2"] ) local Besitzer = tonumber(dsatz["BesitzerFraktion"]) local r, g, b = gangColor[Besitzer][1], gangColor[Besitzer][2], gangColor[Besitzer][3] _G["gangArea"..ID] = createRadarArea ( dsatz["X1"], dsatz["Y1"], XS, YS, r, g, b, 200, getRootElement() ) _G["gangPickup"..ID] = createPickup ( dsatz["X3"], dsatz["Y3"], dsatz["Z3"], 3, 1313, 1, 9999 ) vioSetElementData ( _G["gangPickup"..ID], "gang", Besitzer ) vioSetElementData ( _G["gangPickup"..ID], "id", ID ) vioSetElementData ( _G["gangPickup"..ID], "einnahmen", dsatz["Einnahmen"] ) vioSetElementData ( _G["gangPickup"..ID], "isUnderAttack", false ) vioSetElementData ( _G["gangPickup"..ID], "lastAttacked", dsatz["LastAttacked"] ) addEventHandler ( "onPickupHit", _G["gangPickup"..ID], function ( hit ) if getElementType(hit) ~= "player" then return end outputChatBox ( "Dieses Ganggebiet gehoert: "..gangName[vioGetElementData( source, "gang" )], hit, 125, 125, 200 ) if areaTexts[vioGetElementData( source, "id" )] then bonus = "1 "..areaTexts [vioGetElementData( source, "id" )].." / 20 Minuten" else bonus = "-" end outputChatBox ( "Einnahmen/Stunde: "..( vioGetElementData ( source, "einnahmen" ) * 12 )..", Sonstige Boni: "..bonus, hit, 125, 125, 200 ) local fraktion = vioGetElementData ( hit, "fraktion" ) local time = getRealTime( tonumber( vioGetElementData( source, "lastAttacked" ) ) ) local str = time.monthday.."."..( tonumber(time.month) + 1 ).."."..(tonumber(time.year)+1900).." um "..time.hour..":"..time.minute..":"..time.second.." Uhr" outputChatBox ( "Naechster Attack moeglich am "..str.."!", hit, 125, 0, 0 ) if vioGetElementData ( hit, "rang" ) >= 3 and validGangs[fraktion] then outputChatBox ( "Tippe /attack, um einen Angriff zu starten!", hit, 125, 0, 0 ) end end ) dsatz = mysql_fetch_assoc ( result ) end mysql_free_result ( result ) end addEventHandler ( "onResourceStart", resourceRoot, createGangAreas ) function gangAreaBoni () for i = 1, gangCount do local pickup = _G["gangPickup"..i] local owner = vioGetElementData ( pickup, "gang" ) if validGangs[owner] then local id = vioGetElementData ( pickup, "id" ) if areaTexts[id] then if id == 3 then local gang = 0 factionDepotData["drugs"][owner] = factionDepotData["drugs"][owner] + 5 local drugs = factionDepotData["drugs"][owner] MySQL_SetString("fraktionen", "DepotDrogen", drugs, "id = '"..owner.."'") elseif id == 6 then factionDepotData["mats"][owner] = factionDepotData["mats"][owner] + 2 local mats = factionDepotData["mats"][owner] MySQL_SetString("fraktionen", "DepotMaterials", mats, "id = '"..owner.."'") elseif id == 7 then local gang = 0 if gang then factionDepotData["mats"][owner] = factionDepotData["mats"][owner] + 2 local mats = factionDepotData["mats"][owner] MySQL_SetString("fraktionen", "DepotMaterials", mats, "id = '"..owner.."'") end elseif id == 8 then local gang = 0 if gang then factionDepotData["mats"][owner] = factionDepotData["mats"][owner] + 2 local mats = factionDepotData["mats"][owner] MySQL_SetString("fraktionen", "DepotMaterials", mats, "id = '"..owner.."'") end end end end end end function gangAreaEinnahmen () for i = 1, gangCount do local pickup = _G["gangPickup"..i] local owner = vioGetElementData ( pickup, "gang" ) if validGangs[owner] then local id = vioGetElementData ( pickup, "gang" ) local gang = 0 if gang then factionDepotData["money"][owner] = factionDepotData["money"][owner] + vioGetElementData ( pickup, "einnahmen" ) local money = factionDepotData["money"][owner] MySQL_SetString ( "fraktionen", "DepotGeld", money, "id = '"..owner.."'" ) end end end end function attack_func ( player ) if validGangs[vioGetElementData ( player, "fraktion" )] and vioGetElementData ( player, "rang" ) >= 3 then local x1, y1, z1 = getElementPosition ( player ) sucess = false validID = nil for i = 1, gangCount do local x2, y2, z2 = getElementPosition ( _G["gangPickup"..i] ) if getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 ) <= 3 then validID = i sucess = true break end end if sucess then local pickup = _G["gangPickup"..validID] local owner = tonumber ( vioGetElementData ( pickup, "gang" ) ) if owner ~= vioGetElementData ( player, "fraktion" ) then if getFactionMembersOnline ( owner ) >= 3 then if not gangAreaUnderAttack then local lastAttacked = tonumber ( MySQL_GetString("gangs", "LastAttacked", "Nummer LIKE '" ..tonumber(validID).."'") ) local time = getRealTime() if time.timestamp > lastAttacked then startGangAreaAttack ( player, pickup, owner, validID ) end else outputChatBox ( "Es kann immer nur ein Angriff zur selben Zeit stattfinden!", player, 125, 0, 0 ) end else outputChatBox ( "Es muessen mindestens 3 Mitglieder der verteidigenden Gang online sein!", player, 125, 0, 0 ) end else outputChatBox ( "Du kannst nicht dein eigenes Gebiet angreifen!", player, 125, 0, 0 ) end else outputChatBox ( "Du bist bei keinem Ganggebiet!", player, 125, 0, 0 ) end else outputChatBox ( "Du bist nicht befugt!", player, 125, 0, 0 ) end end addCommandHandler ( "attack", attack_func ) function startGangAreaAttack ( player, pickup, owner, id ) local time = getRealTime() local area = _G["gangArea"..id] MySQL_SetString("gangs", "LastAttacked", time.timestamp+86400, "Nummer LIKE '" ..id.."'") gangAreaUnderAttack = true setRadarAreaFlashing ( area, true ) setRadarAreaColor ( area, 125, 0, 0, 200 ) vioSetElementData ( pickup, "isUnderAttack", true ) vioSetElementData ( pickup, "lastAttacked", time.timestamp+86400 ) eroberungsTimer = setTimer ( areaEroberungsCheck, 30*sec, -1, area, vioGetElementData ( player, "fraktion" ), owner, pickup ) victoryTimer = setTimer ( areaFinishCheck, 15*60*sec, -1, area, vioGetElementData ( player, "fraktion" ), owner, pickup, id ) ----------- local theattack = gangName[tonumber(vioGetElementData( player, "fraktion" ))] --------- sendMSGForFaction ( "Eines eurer Gebiete wird angegriffen! Verteidigt es, oder ihr werdet es verlieren!", owner, 125, 0, 0 ) sendMSGForFaction ( "Angreifer sind "..theattack.."!", owner, 125, 0, 0 ) outputChatBox ( "Du hast einen Angriff gestartet! Halte das Gebiet 15 Minuten lang, um es zu erobern!", player, 125, 0, 0 ) end function areaEroberungsCheck ( area, attackers, owner, pickup ) suc = false gangAreaAttackers = attackers gangAreaDefenders = owner for id, playeritem in ipairs ( getElementsByType( "player" ) ) do if tonumber ( vioGetElementData ( playeritem, "fraktion" ) ) == tonumber ( attackers ) then local x1, y1, z1 = getElementPosition ( pickup ) local x2, y2, z2 = getElementPosition ( playeritem ) if getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 ) <= 50 and not isPedDead ( playeritem ) and z <= 100 then suc = true break end end end if not suc then setRadarAreaFlashing ( area, false ) local r = gangColor[owner][1] local g = gangColor[owner][2] local b = gangColor[owner][3] setRadarAreaColor ( area, r, g, b, 200 ) sendMSGForFaction ( "Angriff abgebrochen!", attackers, 125, 0, 0 ) sendMSGForFaction ( "Gebiet erfolgreich verteidigt!", owner, 0, 125, 0 ) vioSetElementData ( pickup, "isUnderAttack", false ) gangAreaUnderAttack = false gangAreaDefenders = false gangAreaAttackers = false killTimer ( eroberungsTimer ) killTimer ( victoryTimer ) end end function areaFinishCheck ( area, attackers, owner, pickup, id ) setRadarAreaFlashing ( area, false ) sendMSGForFaction ( "Angriff erfolgreich!", attackers, 0, 125, 0 ) sendMSGForFaction ( "Gebiet verloren!", owner, 125, 0, 0 ) vioSetElementData ( pickup, "isUnderAttack", false ) gangAreaUnderAttack = false gangAreaAttackers = false gangAreaDefenders = false vioSetElementData ( pickup, "gang", attackers ) MySQL_SetString("gangs", "BesitzerFraktion", attackers, "Nummer LIKE '"..id.."'") local r = gangColor[attackers][1] local g = gangColor[attackers][2] local b = gangColor[attackers][3] setRadarAreaColor ( area, r, g, b, 200 ) for id, playeritem in ipairs ( getElementsByType( "player" ) ) do if tonumber ( vioGetElementData ( playeritem, "fraktion" ) ) == tonumber ( attackers ) then givePlayerSaveMoney ( playeritem, gangAreaConquerEach ) triggerClientEvent ( playeritem, "achievsound", getRootElement() ) end end killTimer ( eroberungsTimer ) killTimer ( victoryTimer ) end function isReallyInsideRadarArea ( theArea, x, y ) local posX, posY = getElementPosition ( theArea ) local sizeX, sizeY = getRadarAreaSize ( theArea ) if getDistanceBetweenPoints2D ( x, y, posX, posY ) <= 100 then return true else return false end end isInsideRadarArea = nil
-
Hey werte MTA-Community,
ich habe soeben bemerkt, dass die Gang Gebiete gar nicht auf meiner F11 Radar-Map
angezeigt werden, sprich: Die Gang Gebiete sind nicht farbig markiert.
Ich bin testweise zu einem Gang Gebiet hingefahren, dort stand es gehöre den Aztecas, warum
wird es also nicht entsprechend der Farbe auf der Karte markiert ?
Weiß einer die Ursache wie ich dies behebe und in welcher Datei sich die Markierungen befinden ?Danke im Voraus!
Mit freundlichen Grüßen,
INCepted -
Servus liebes Forum!
Existiert die Möglichkeit clientseitig bei Vio Extended abzufragen,
ob der Spieler in einer Gang ist und wenn ja, wie der Name ist ?Gruß!
-
clicksys/playerclick/policecomputer_click.lua
-
Hallo liebe Gemeinde der MTA-Community,
Hat einer eine Idee, wie ich den Bezirk vom local Player angebe ?
Die Stadt habe ich bereits. Wie kann ich jedoch zusätzlich den Bezirk angeben,
also zum Beispiel:Downtown, San Fierro
Hat da einer was, würde mich riesig freuen *thumbsup*
-
Sobald ich es auf relativ setze ist es bereits in kleinen Pixeln in der normalen Größe
schon falsch.. -
Wie gesagt: damit verkleinert sich auch entsprechend die HUD, ich will
sie aber auf eine feste Größe, sodass sich nur die Position anpasst..
Beim verkleinern ist vieles verpixelt und auch wenig gut gesetzt, sodass es auch fehler gibt. -
Hallo liebes Forum,
so langsam bin ich echt ratolos *?(*
Ich habe eine HUD mit dxDraw gemacht, jedoch ist das Problem folgendes,
dass es nur auf der Größe 1920x1080 richtig ist.Ich möchte, dass die Größe der HUD gleich bleibt, sie jedoch an der richtigen Stelle wie
bei 1920x1080 ist, dass sie sich also auch nicht verkleinert!Hat einer da eine idee ?
Bin echt dankbar,
Sevus! -
Da hast du es doch schon. Jedes mal wenn die TabList angeklickt wird, wird die Liste aktualisiert.
Schon klar, aber ich meine wenn 2 In der GUI gleichzeitig drin sind und Client A klickt auf die Tab,
dann wird es bei Client B auch aktualisiert.. Und das möchte ich vermeiden