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
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
-
-
SetPlayerPos und CreateExplosion
-
Er meint Flammen, keine Explosionen.
Eine Fackel im Boden erstellen, die per Befehl mit CreateObject erstellen lassen, musst aber mit einem Namen versehen oben new flamme1; und bei dem Object mit "CreateObject(flamme1, ...." und am Ende mit "DestroyObject(flamme1 .. " zerstören lassen, oder du lässt sie einfach da. xD
-
-
Könntet ihr das bitte für noobs erklären?
-
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
-
jop und "Flammen kannst ganz einfach erstellen ich habe dir mal schnell ein command geschrieben wie
Code
Alles anzeigenfunction Flamme(Spieler, Befehl) local x,y,z = getElementPosition(Spieler) if not isElementInWater(Spieler) then createFire(x,y,z) else outputChatBox("Du kannst keine Flamme im Wasser Spawnen!", Spieler) end end addCommandHandler("flamme", Flamme)
wenn du mehr zu createFire wissen willst klick mich an
mfg Senze
-
function Flamme(Spieler, Befehl)
local x,y,z = getElementPosition(Spieler)if not isElementInWater(Spieler) then
createFire(x,y,z)
else
outputChatBox("Du kannst keine Flamme im Wasser Spawnen!", Spieler)
end
end
addCommandHandler("flamme", Flamme)Kompletter Unsinn
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 Schmarnnot isElementInWater(Spieler)
wenn schon...
isElementInWater(getLocalPlayer()) ~= false then
-
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 malund Vio
ja in meinem script benenne ich die functionen auch anders aber war ja hier nur bsp mäßig gemeintahcso 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
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
-
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 -
Okay ich kapiers net Oo
-
schau bei GF nach
-
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 proziWir sind bei 1.04 (Mtasa Version) ab 1.4 wird das Feuer syncronisiert sein.
-
das meine ich ja damit und seit wann sind wir schon bei 1.04 ? wir sind doch bei 1.03 soweit ich weiß