Tupi Posted September 19, 2020 Share Posted September 19, 2020 (edited) Deoarece am vazut că mulți dintre voi nu știti cum se poate face ca atunci când apăsați pe o tastă să se trimită o comandă sau să se execute ceva, în acest tutorial vă voi prezenta cum se poate face acest lucru pintr-o metodă simplă. În primul rand opcode-ul 0AB0: poate fi folosit doar în blucle care se repetă la infinit, nu în comenzile simple cum încearcă majoritatea. Prima metodă (buclă folosind WHILE) WHILE TRUE wait 0 if 0AB0: 0x58 //verificam daca tasta X este apasata then if and //verificam daca toate conditiile de mai jos sunt indeplinite not SAMP.IsDialogActive(-1) //Nu aveti niciun dialog activ (folosit pentru a nu se executa ce dorim noi cand apasam pe X in momentul in care avem un dialog in care trebuie sa scriem ceva) not SAMP.ChatInputOpened($PLAYER_CHAR) //Nu aveti chatul deschis (folosit pentru a nu se executa ce dorim noi cand apasam pe X in momentul in care folosim tasta X sa scriem un mesaj in chat) not Actor.Driving($PLAYER_ACTOR) //Nu conduceti un vehicul (nu mai adaugati acest rand daca trebuie sa se execute si cand conduceti un vehicul) then //aici trecem ce vrem noi sa se execute, cum ar fi chatmsg "This is test message" -1 //Un mesaj trimis in chat pe care il vedeti doar voi print "This is test message" -1 //Un mesaj pe ecran pe care il vedeti doar voi say "/wave" //Executarea animului /wave wait 1000 //Adaugam un delay de 1 secunda pentru a nu se executa lucrurile de mai sus de mai multe ori la o singura apasare end end END A doua metodă (buclă folosind JUMP) :loop if 0AB0: 0x58 //verificam daca tasta X este apasata then if and //verificam daca toate conditiile de mai jos sunt indeplinite not SAMP.IsDialogActive(-1) //Nu aveti niciun dialog activ (folosit pentru a nu se executa ce dorim noi cand apasam pe X in momentul in care avem un dialog in care trebuie sa scriem ceva) not SAMP.ChatInputOpened($PLAYER_CHAR) //Nu aveti chatul deschis (folosit pentru a nu se executa ce dorim noi cand apasam pe X in momentul in care folosim tasta X sa scriem un mesaj in chat) not Actor.Driving($PLAYER_ACTOR) //Nu conduceti un vehicul (nu mai adaugati acest rand daca trebuie sa se execute si cand conduceti un vehicul) then //aici trecem ce vrem noi sa se execute, cum ar fi chatmsg "This is test message" -1 //Un mesaj trimis in chat pe care il vedeti doar voi print "This is test message" -1 //Un mesaj pe ecran pe care il vedeti doar voi say "/wave" //Executarea animului /wave wait 1000 //Adaugam un delay de 1 secunda pentru a nu se executa lucrurile de mai sus de mai multe ori la o singura apasare end end wait 0 jump @loop Ambele metode fac exact același lucru, rămâne la decizia voastră pe care vreți să o folosiți. Așadar, așa se folosește opcode-ul 0AB0: care verifică dacă o tastă este apăsată în cea mai simplă modalitate. De aici depinde doar de voi unde v-ar putea fi util acest tutorial, un exemplu ar fi la un mod pentru cei din departamente care își setează pe o tastă să se execute comanda /ms, etc. O să vă las aici un LINK către un site unde găsiți toate codurile de taste virtuale (tot ce trebuie să faceți este sa vă uitați la coloana cu descrierea fiecărui cod în funcție de tasta pe care vreți să o folosiți si să copiați valoarea codului (ex: 0x01, 0x02,etc), după care îl treceți în modul vostru după opcode-ul 0AB0 (ex: 0AB0: 0x01, 0AB0: 0x02, etc). Sper că ați înteles ceva și că v-a fost de folos, dacă aveți orice întrebare/nelămurire puteți deschide un topic în secțiunea Help And Discussions sau să îmi trimiteți un PM pe forum. Edited September 19, 2020 by Tupi 3 Link to comment Share on other sites More sharing options...
eB Luis Posted September 19, 2020 Share Posted September 19, 2020 Foarte folositor! Acum stiu cum sa imi pun aim-ul la buton, multumesc! 1 Link to comment Share on other sites More sharing options...
Tupi Posted September 22, 2020 Author Share Posted September 22, 2020 Link to comment Share on other sites More sharing options...
Recommended Posts