WorthlessCynomys Posted August 5, 2014 Share Posted August 5, 2014 Hello! Gyakorlogatom írni a scripteket, ne tessék leszólni nem értek hozzá szinte semmit, de azért próbálkozni lehet nem? 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
Max Taylor Posted August 5, 2014 Share Posted August 5, 2014 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
WorthlessCynomys Posted August 5, 2014 Author Share Posted August 5, 2014 Nekem ez se megy de olyan parancsot hogy kell csinálni amin a parancs beírásakor meg kell adnod mondjuk a skinID-t vagy a kocsiD-t amikor lehívnál egyet. Vagy azt hogy ha csinálok egy GUI-t és ott úgy akarom megcsinálni hogy pl. login panelnél hogy beírod a nevet és a kódot akkor az működjön? Link to comment
csiguusz Posted August 5, 2014 Share Posted August 5, 2014 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
Max Taylor Posted August 5, 2014 Share Posted August 5, 2014 @csigusz én próbáltam úgy, gondoltam erre, de minden sorra jött ki egy warning, meg error kb. EventHandler-el meg hiba nélkül megy. Egyébként Storm AddCommandHandler-el rendelsz hozzá parancsot a funckcióhoz. Link to comment
csiguusz Posted August 5, 2014 Share Posted August 5, 2014 Ha van error, tudod mi a hiba, van mit javítani . Kipróbáltam: addCommandHandler áthelyezésével és a helyes összefűzéssel 1.4 alatt lefutott nekem. Link to comment
DereX Posted January 7, 2016 Share Posted January 7, 2016 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now