Jump to content

irinel1996

Membru
  • Posts

    60
  • Joined

  • Last visited

    Never

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

irinel1996's Achievements

Enthusiast

Enthusiast (6/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. Copiat dintr-un RP. :undecided:
  2. E ca si cum ai face un CreateVehicle, si dupa asta un PutPlayerInVehicle. Dar mai scurt? Eu am o comanda de genul asta, cred... Functioneaza asa: /v [iD/Nume Vehicul]. Mai scurt si nu trebuie sa faci multe comenzi. Nu? _________________________ Good job... But 4/5. Scripturi de acest tip sunt multe, scad -1 pentru ca nu e foarte original. :undecided: In rest foarte tare. :wink:
  3. Aaaa, nu. Eu nu vreu sal distrug, credeam ca imi zici de alea care se sterg cand intru in pickup. Dar cel nou creat, nu vreu sal distrug. Se va distruge cand dau restart la server.
  4. Stai sa vad, dar cred ca stiu de ce e. Testing... (Solidfiles la mine nu merge. O sa folosesc pastebin de acum.) ____________________________________________ EDIT: Am facut cea ceai zis, dar nu se intampla ce zici tu. Daca te uiti in script, sterg vehiculul nu il respawnez.
  5. Salut... Am facut un include, pentru a schimba de vehicul ca in MTA, cu pickup. xD Info: CreateChangeVeh(ModelPickup, NewCarID, X,Y,Z,"Text"); - ModelPickup: recomand 1317. - NewCarID: e ID-ul vehiculului care se va crea si va da jucatorului. - X,Y,Z: destul de clar, coordonate. - "Text": recomand sa pui numele al masinii care i se va da. NOTE: Maximul de pickups pentru asa ceva e 100, schimbati valoarea in include la MAX_PCambio. Exemplu: [pawn]#include <a_samp> #include <CVeh> public OnFilterScriptInit() { start_sveh(); // <- IMPORTANT! CreateChangeVeh(1317, 568, -1278.9349,8.3187,14.0159,"Bandito"); CreateChangeVeh(1317, 411, -1269.6934,-0.9024,14.0159,"Infernus"); return 1; }[/pawn] Imagini: http://imageshack.us/f/20/43925054.jpg/ <- Nou, v0.2 (Screenshot) http://www.youtube.com/watch?v=iLofTgdU7qE <- Vechi, v0.1 Download: 1. http://solidfiles.com/d/6ee2e/ <- v0.2 (Nou) Credits: -irinel1996 Am lasat un FS test, daca aveti dubii. Daca aveti sugestii sau ceva, comentati. Salutari... Atte. irinel1996
  6. E facut de mine 100%. -.- E altceva daca sunt mai multe sisteme de C4, uitete in script. Cu siguranta sunt diferite. ;)
  7. 4/5. A crescut iarba pe pereti. xD Salutari... :D
  8. Mmm... :undecided: Si Kye (Kalcor) foloseste strtok cu strcmp. xD Uitete in FS-ul adminspec care vine cu Servarul SA-MP. xD In fine... Bafta men... ;)
  9. Urasc ZCMD, Dini, si toate alea. Mereu folosesc lucrurile care le pune echipa SA-MP. File, strcmp si asa. Pana acum nu am avut probleme cu strcmp si strtok. :undecided: Bueh, tot e ceva. Am zis pentru cei mai noi. Cred ca nu toti stiu sa foloseasca functia. Si tutorialul lu' Zh3r0, cred ca e la fel? ) xD [0.3c] - Cum sa folosesti culorile intr-un mesaj. ______________________ Mersi la toti. Salutari... :azn:
  10. 10.000? Ca sa inveti lupte? Oh my god. xD In rest foarte bine, putin exagerat pretul. =P
  11. E rezolvata cererea, dar o mica eroare ai in script. Ai creat o var. normala, si ai folosit valori de bool (true/false). xD Pentru a folosi true/false asa cum ai facut tu ar trebui sa pui asa: new bool:Bonnet[MAX_PLAYERS]; Asta e tot! Salutari... :D
  12. irinel1996

    Lights

    Din cate stiu eu, nu e posibil sa creezi butoane noi. =/ Salutari... :D
  13. Salut... Am facut un mic tutorial pentru a explica cum functioneaza SetVehicleParamsEx. Cam tarziu, dar in fine. Poate pentru cei mai incepatori, poate fi folositor. SetVehicleParamsEx(vehicleid, motor, faruri, alarma, portiere, capota, portbagaj, obiectiv); Acum o sa va explic cum functioneaza, sau cum ar trebui fi folosita. SetVehicleParamsEx(vehicleid, motor, faruri, alarma, portiere, capota, portbagaj,obiectiv); Functie = SetVehicleParamsEx vehicleid = ID-ul vehicului, pe care va fi aplicata functia. motor = Motor pornit sau oprit [0 = Oprit | 1 = Pornit] Dupa cum vedeti nu mai e necesar sa congelati in RP. faruri = Luminile vehiculului. [0 = Stinse | 1 = Aprinse] Ca sa le puteti aprinde pe timp de zi, e necesar sa folositi ManualVehicleEngineAndLights(); in OnGameModeInit. alarma = Alarma vehiculului. [0 = Dezactivata | 1 = Activata] Pare greu, dar nu e. E logica, pentru a face una ca in viata reala. portiere = Usile vehiculului. [0 = blocate/incuiate | 1 = dezblocate/descuiate]. capota = Capota, mai clar ca apa. [0 = Inchisa | 1 = Deschisa] portbagaj = Portbagajul vehiculului [0 = Inchis | 1 = Deschis] obiectiv = Creaza o sageata, mai bine zis un con invers care marcheaza pozitia vehiculului. [0 = Dezactivat | 1 = Activat] Si o mica comanda, de cadou. xD if(strcmp(cmd, "/veh", true) == 0 || strcmp(cmd, "/vehicul", true) == 0) { tmp = strtok(cmdtext, idx); new vehicleid = strval(tmp); tmp = strtok(cmdtext, idx); new motor= strval(tmp); tmp = strtok(cmdtext, idx); new faruri= strval(tmp); tmp = strtok(cmdtext, idx); new alarma= strval(tmp); tmp = strtok(cmdtext, idx); new portiere= strval(tmp); tmp = strtok(cmdtext, idx); new capota= strval(tmp); tmp = strtok(cmdtext, idx); new portbagaj= strval(tmp); tmp = strtok(cmdtext, idx); new obiectiv= strval(tmp); SetVehicleParamsEx(vehicleid, motor, faruri, alarma, portiere, capota, portbagaj, obiectiv); return 1; } Functioneaza asa: /veh [iD Vehicul] [motor 0/1] [faruri 0/1] [alarma 0/1] [portiere 0/1] [capota 0/1] [portbagaj 0/1] [obiectiv 0/1] ______________________________________ Daca nu vreti sa puneti ID-ul vehiculului, e asa: if(strcmp(cmd, "/veh", true) == 0 || strcmp(cmd, "/vehicul", true) == 0) { if(IsPlayerInAnyVehicle(playerid)) { new vehicleid = GetPlayerVehicleID(playerid); tmp = strtok(cmdtext, idx); new motor= strval(tmp); tmp = strtok(cmdtext, idx); new faruri= strval(tmp); tmp = strtok(cmdtext, idx); new alarma= strval(tmp); tmp = strtok(cmdtext, idx); new portiere= strval(tmp); tmp = strtok(cmdtext, idx); new capota= strval(tmp); tmp = strtok(cmdtext, idx); new portbagaj= strval(tmp); tmp = strtok(cmdtext, idx); new obiectiv= strval(tmp); SetVehicleParamsEx(vehicleid, motor, faruri, alarma, portiere, capota, portbagaj, obiectiv); } else { SendClientMessage(playerid,-1,"Trebuie sa fii intr-un vehicul"); return 1; } return 1; } Si ar fi: /veh [motor 0/1] [faruri 0/1] [alarma 0/1] [portiere 0/1] [capota 0/1] [portbagaj 0/1] [obiectiv 0/1] Functii pentru comanda: - OnPlayerCommandText: new cmd[256], tmp[256], idx; cmd = strtok(cmdtext, idx); - Functia strtok: stock strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } ____________________________________________ Cam asta e tot... Nu prea e un tutorial, nici nu stiu cum sal numesc. :shocked: xD Salutari... Sursa: SA-MP Wiki.
  14. Nu stiu daca stiati dar exista un bug, am putea zice, ca foarte grav. :undecided: E bine calculat, si e exact pentru ce zici tu. Consista in a crea o nota printr-o comanda, cea mai folosita si cunoscuta e /createnote. E un truc, pentru a modifica fisierul .ini al jucatorului. Daca tot vorbesc de el, zic si cum se face: 1º. Va inregistrati intr-un server care are /createnote (majoritate sunt edits de GF, asa ca, cam toate au comanda), deschideti un notepad, copiati (si lipiti) textul de dedesupt. /createnote None AdminLevel=1338 2º. Acum selectati totul si copiati [din notepad(copy)], asta este necesar deoarece caracterul de return nu se poate scrie si nici nu se poate citi, dar se va salva in memoria din clipboard. Acum dute in server, apasa T si lipestel cu CTRL + V, ai sa vezi o multime de spatii, dar AdminLevel nu o sa apara. Acum apasa ENTER ca sa trimiti, reloguezi, si gata. Esti admin... u.u Bug-ul pur şi simplu nu validează "intrarea notei" si poti scrie valori arbitrare si include caracterul return folosind clipboard-ul. Acum... ¿Cum rezolvi asta? Dute la comanda /createnote si punei acest script: if(strfind(cmdtext,"=",true) != -1) return SendClientMessage(playerid,-1,"[SECURITATE]: \"=\" nu este permis in aceasta comanda!"); Acest script detecteaza daca exista = in textul scris, si "inchide" scriptul comenzii. PD: Asta nu e unica comanda care e vulnerabila la acest bug, sunt mult mai multe. :cool: Cu acest bug iti poti da: bani, level, admin, etc... mai bine zis a capabil de a schimba valoara la orice var. din fisierul .ini Va recomand sa folositi variabile noi, sa nu fie cunoscute si sa reparati comenzile.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.