Jump to content

MTA script segítség kérés!


Recommended Posts

Hello! Gyakorlogatom írni a scripteket, ne tessék leszólni nem értek hozzá szinte semmit, de azért próbálkozni lehet nem? :D

Tehát gyakorolgatom írni és írtam egyet de nem csinál semmit, pedig se az MTA Script Editor se a server nem ír ki semmi hibát benne. Köszi a segítséget előre is!

[color=#0080BF]addCommandHandler[/color]([color=#FFBF00]"GPS"[/color], GPS) 
[color=#FF0040]function[/color] [color=#00BF00]GPS[/color] ([color=#FF4000]thePlayer, command[/color]) 
x, y, z = [color=#0080BF]getElementPosition[/color](thePlayer) 
distance = [color=#0080BF]getDistanceBetweenPoints3D[/color](x, y, z, [color=#8040BF]2040.9111328125[/color], [color=#8040BF]1545.1611328125[/color], [color=#8040BF]10.671875[/color]) 
[color=#0080BF]outputChatBox[/color]([color=#FFBF00]"Te"[/color] ..distance [color=#FFBF00]"M-re vagy az uticélodtól!"[/color]) 
[color=#FF0040]end[/color] 

Link to comment
function GPS () 
x, y, z = getElementPosition(source) 
distance = getDistanceBetweenPoints3D(x, y, z, 2040.9111328125, 1545.1611328125, 10.671875) 
outputChatBox("Te" ..distance.. "M-re vagy az uticélodtól!") 
end 
addEventHandler("onClientVehicleEnter", getRootElement(), GPS, true) 

Így működik meg más eventekkel is, az addCommandHandler nem jó valamiért, bebugosítja az egész scriptet.

Most, ha beszálsz a kocsiba, kiírja a cuccot.

UI: Én se vagyok valami nagy LUA huszár , én is most tanulgatom. :)

Link to comment

Az addCommandHandler van csak rossz helyen. Ugye amikor a parancsot hozzá akarod rendelni az azt kezelő GPS nevű függvényhez az első sorban, a GPS függvény még nem létezik, az csak a következő sorokban lesz definiálva.

Illetve hiányzik két pont az 5. sorban a distance után.

De a hibát ki kellett volna írnia neked is. MTA Script editor csak a lua hibákat írja, egyéb szkriptelési hibákat mindig debugscript 3-mal nézz, mert a szerver konzol (a fekete ablak) és a log csak a szerveroldali hibákat írja, a kliens oldaliakat nem. A konzolban, logban csak akkor érdemes keresgélni ha az adott szkript el sem indul mert például rossz meta.xml esetén csak oda írja a hibát.

A debugscript használatához jelentkezz be adminnak a szerveren, majd chatbe írd be hogy /debugscript 3. Ezután alul fogja írni a hibákat. Kikapcsoláshoz használd a /debugscript 0 parancsot.

Link to comment
  • 1 year later...

Hali, habár elég régi topic és a kérdező is biztos megtalálta már a választ, azért én beraknám ide a helyes kódot, kicsit letisztítva,

Természetesen kliensoldali script.

function GPS ( command ) 
    local posX, posY, posZ = getElementPosition ( localPlayer ) 
    local posfX, posfY, posfZ = 2040.9111328125, 1545.1611328125, 10.671875 
    local Distance = getDistanceBetweenPoints3D ( posX, posY, posZ, posfX, posfY, posfZ ) 
        outputChatBox ( "Te "..Distance.." méterre vagy az úti célodtól!", source ) 
end 
addCommandHandler ( "gps", GPS) 

Használat: /gps 

A másik kérdés pedig, hogy hogyan lehet olyan parancsot csinálni, amiben adatokat kérsz be nagyon egyszerű.

Ez a példa bekéri a játékostól az úti célt, és a parancs beírásakor vett pozíciója alapján számolja ki.

function GPS ( command, posfX, posfY, posfZ) 
    local posX, posY, posZ = getElementPosition ( localPlayer ) 
    local Distance = getDistanceBetweenPoints3D ( posX, posY, posZ, posfX, posfY, posfZ ) 
        outputChatBox ( "Te "..Distance.." méterre vagy az úti célodtól!", source ) 
end 
addCommandHandler ( "gps", GPS) 

Használat: /gps posfX posfY posfZ 
/gps 10 20 3 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...