Wie erstellt man "gotos" und "Flammen"

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hi ich wollte wissen wie man ein Port befehl erstellen kann.
    Und wie macht man das auf befehl an einem Ort Flammen kommen?
    MFG Moin

  • Bsp. aus dem Wikipedia


    function consoleWarpTo ( sourcePlayer, commandName, player2nick )
    -- Make sure required parameters are set
    if ( not sourcePlayer or not player2nick ) then return end
    -- Setup the variables we will be using for teleportation
    local x, y, z, r, d = 0, 0, 0, 0, 2.5
    -- Grab the element identifier of the player we are trying to warp to
    local player2 = getPlayerFromNick ( player2nick )
    -- Make sure it exists!
    if ( player2 ) then
    -- Is the player we're warping to in a vehicle?
    if ( isPlayerInVehicle ( player2 ) ) then
    -- Indeed they are, let's get the vehicle information such as the vehicle element itself, and the seats it's got.
    local player2vehicle = getPlayerOccupiedVehicle ( player2 )
    local numseats = getVehicleMaxPassengers ( player2vehicle )
    local i = 0
    -- Loop over the seats to see if there's a free one
    while ( i < numseats ) do
    if ( getVehicleOccupant ( player2vehicle, i ) ) then
    -- This seat isn't free, go ahead and check the next one
    i = i + 1
    else
    -- This seat is free, get out of the loop
    break
    end
    end
    -- Check if 'i' is lower than the number of seats. If it is, it means it's the number of a free seat
    if ( i < numseats ) then
    -- Teleport the player into the seat
    warpPlayerIntoVehicle ( sourcePlayer, player2vehicle, i )
    else
    -- There are no free seats, tell the player that.
    outputChatBox ( "Sorry, the player's vehicle is full (" .. getVehicleName ( player2vehicle ) .. " " .. i .. "/" .. numseats .. ")", sourcePlayer )
    end
    else
    -- The player isn't in a vehicle, let's get the player's position and warp to them.
    x, y, z = getElementPosition ( player2 )
    r = getPlayerRotation ( player2 )
    -- Make sure we get interior data, they might be inside one!
    interior = getElementInterior ( player2 )
    dimension = getElementDimension ( player2 )
    -- Do some funky math to make sure that we dont teleport inside of them (get us both stuck inside each other)
    x = x - ( ( math.cos ( math.rad ( r + 90 ) ) ) * d )
    y = y - ( ( math.sin ( math.rad ( r + 90 ) ) ) * d )
    -- Set a few timers for setting interiors, dimensions and positions
    setTimer ( setElementInterior, 800, 1, sourcePlayer, interior )
    setTimer ( setElementDimension, 900, 1, sourcePlayer, dimension )
    setTimer ( setElementPosition, 1000, 1, sourcePlayer, x, y, z )
    setTimer ( setPlayerRotation, 1000, 1, sourcePlayer, r )
    -- Fade the camera to make it look nicer
    fadeCamera ( sourcePlayer, false, 1, 0, 0, 0 )
    -- Fade it back once it's all complete!
    setTimer ( fadeCamera, 1000, 1, sourcePlayer, true, 1 )
    end
    else
    -- No player by the specified name was found, tell the warper this.
    outputChatBox ( "No such player.", sourcePlayer )
    end
    end
    addCommandHandler ( "warpto", consoleWarpTo )


    Wir reden hier von Mta nicht Sa-mp

    [align=center]
    Mta Script Editor - Work in Progress

  • jop und "Flammen kannst ganz einfach erstellen ich habe dir mal schnell ein command geschrieben wie



    wenn du mehr zu createFire wissen willst klick mich an


    mfg Senze


  • Kompletter Unsinn :pinch:
    Wozu verwendest du in deinem Command nen Player Element Parameter und wozu für die Chatbox das
    Player Element für die rote Farbe ? createFire ist ne Clientseitige Funktion getLocalPlayer() reicht da vollstens aus
    und das ist auch Schmarn :huh:


    not isElementInWater(Spieler)


    wenn schon...


    isElementInWater(getLocalPlayer()) ~= false then

    [align=center]
    Mta Script Editor - Work in Progress

  • Code
    function Flamme_func()
    	local x,y,z = getElementPosition(getLocalPlayer())
    	if isElementInWater(getLocalPlayer()) then
       	   outputChatBox("Du kannst keine Flamme im Wasser Spawnen!", 125, 0, 0 )
    	else
    	   createFire(x,y,z)
            end
     end
     addCommandHandler("flamme", Flamme_func)


    So würds dann funktionieren...



    Btw., am besten immer CMDs und die zugehörigen Funktionen jeweils
    anders bennenen....

  • oh jo sry total übersehen das das nur client side war ^^
    jop dann hätt iches ja auch anders geschrieben aber ihr habts ja schon ausgebessert man kann sich wohl auch mal verschreiben jason ;) passiert dir garantiert auch mal ;)


    und Vio
    ja in meinem script benenne ich die functionen auch anders aber war ja hier nur bsp mäßig gemeint ;)


    ahcso und wenn mein ein not in der if function verwendet geht dies genau so ;) denn dann nimt er gleich das gegenteil der funtion und stellt sie nicht erst gleich also das ist wurstbrot


    Nobody is perfect und so ;)

  • Lach keine Angst vor mir was nicht Böse gemeint 8o
    createFire ist sowieso ne unsinnige Funktion, weil sie nicht als Element behandelt werden kann und nur Clientseitig nutzbar ist.
    Das für jeden zu syncronisieren (richtig geschrieben ?!?) ist wieder unnötiges CPU ausm Fenster Werf Gehabe.
    Dazu kommt das du die Flammen nicht zerstören kannst und die sich stetig (wenn du im Stream Radius der Flammen bist) ausbreiten.


    Erst ab 1.3 wirds spannend

    [align=center]
    Mta Script Editor - Work in Progress

  • wenn dann 1.4 oder was meinst du jetzt mit 1.3 ^^
    denn wenn du mta 1.3 meinst das ist schon lange da ^^
    naja ich habs mal ne zeit lange probiert die flammen gehen mit der zeit schon aus aber naja löschen ist so ne sache ^^
    aber wegen cpu mach ich mir keine platte mein server hat ein 8 kern prozi ^^

  • meine fress next gug auf die sektion das ist MTA nicht SA:MP sry für die ausdrucksweise aber es nervt langsam echt das jeder losschreibt ohne vllt mal irgendwie zu überlegen bzw weiße mal zu lesen welche sektion das ist...

  • Zitat

    wenn dann 1.4 oder was meinst du jetzt mit 1.3
    denn wenn du mta 1.3 meinst das ist schon lange da
    naja ich habs mal ne zeit lange probiert die flammen gehen mit der zeit schon aus aber naja löschen ist so ne sache
    aber wegen cpu mach ich mir keine platte mein server hat ein 8 kern prozi


    Wir sind bei 1.04 (Mtasa Version) ab 1.4 wird das Feuer syncronisiert sein.

    [align=center]
    Mta Script Editor - Work in Progress