-
Sziasztok! Enigma egyik topicban írt egy script ötletet, idézem:
\"Csinálj egy olyan scriptet, hogy ha egy autóval bizonyos sebesség felé mész, akkor elindul egy időzítő, mondjuk 10mp. ha lejár, felrobban, viszont ha lelassítasz akkor resetelődik az időzítő, és nem robban fel.
Én 2014ben kaptam ezt a feladatot, megmaradt fejben :D\" - Enigma
Úgy döntöttem hogy unalomból megvalósítom ezt a scriptet. Írtam is egy szösszenetet, de elakadtam benne. Itt volna a teljes Kliens oldali script.
local p = thePlayer
local vh = getPedOccupiedVehicle(getLocalPlayer())
local kmh = getElementSpeed(vh), getElementSpeed(vh, 0)
local roundedSpeedkmh = math.floor(kmh) == kmh
function Check(p, vh)
if isPedInVehicle then
vh()
kmh()
else
end
end
function Speed(kmh)
if kmh == 70 then
outputChatBox(\"Sebességed 70 km/h! Lassíts le, különben 10 másodpercen belül felrobbansz!\")
else
end
end
setTimer(Speed, 10000, 0)
-
local roundedSpeedkmh = math.floor(kmh) == kmh
Itt a 2 == helyett egy kell. De hol akadtál el?
-
A speed függvényen belül ott van az if ág, hogyan tudom megoldani azt, ha letelik az idő, ami 10 másodperc, felrobbanjon a kocsi?
Edit.: Illetve, debugscript 3 kijelzett egy hibát, amit orvosoltam, de még az után is ugyan azt írja:

A kód ahol jelzi a hibát:
function Speed(kmh)
if kmh = 70
outputChatBox(\"Sebességed 70 km/h! Lassíts le, különben 10 másodpercen belül felrobbansz!\")
blowVehicle(vh)
else
end
end
-
local roundedSpeedkmh = math.floor(kmh) == kmh
Ezt a sort nem igazán értem amúgy. xd
local roundedSpeedkmh = math.floor(kmh)
Így jobb. A következő hiba pedig értéket akartál adni if-ben az egy darab =-el.
if kmh = 70
helyett:
if kmh == 70 then
-
Ezeket javítottam, viszont a debugscript jelzett még egy hibát:
ERROR: cb\\sourceS.lua:2: attempt to call global \'getLocalPlayer\' (a nil value)
Miért mondja azt, hogy a getLocalPlayer-nek nincs értéke?
-
localPlayer-el próbáld.
-
Beírtam a localPlayer-t, és most ezeket adta be:
-
Először nézd át az ALAPOKAT, utána írj scripteket szerintem. :D
-
Ja, hát néztem én is, elég érdekes, a getElementSpeed nem alap MTA-s funckció, az megvan?
-
Ja, hát néztem én is, elég érdekes, a getElementSpeed nem alap MTA-s funckció, az megvan?
Useful Function
function getElementSpeed(theElement, unit)
-- Check arguments for errors
assert(isElement(theElement), \"Bad argument 1 @ getElementSpeed (element expected, got \" .. type(theElement) .. \")\")
local elementType = getElementType(theElement)
assert(elementType == \"player\" or elementType == \"ped\" or elementType == \"object\" or elementType == \"vehicle\" or elementType == \"projectile\", \"Invalid element type @ getElementSpeed (player/ped/object/vehicle/projectile expected, got \" .. elementType .. \")\")
assert((unit == nil or type(unit) == \"string\" or type(unit) == \"number\") and (unit == nil or (tonumber(unit) and (tonumber(unit) == 0 or tonumber(unit) == 1 or tonumber(unit) == 2)) or unit == \"m/s\" or unit == \"km/h\" or unit == \"mph\"), \"Bad argument 2 @ getElementSpeed (invalid speed unit)\")
-- Default to m/s if no unit specified and \'ignore\' argument type if the string contains a number
unit = unit == nil and 0 or ((not tonumber(unit)) and unit or tonumber(unit))
-- Setup our multiplier to convert the velocity to the specified unit
local mult = (unit == 0 or unit == \"m/s\") and 50