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
-
Copiat dintr-un RP. :undecided:
-
[INC]RoapVeh v1.5 - Personal Vehicle Creator
irinel1996 replied to Roach's topic in Filterscript-uri
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: -
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
-
E facut de mine 100%. -.- E altceva daca sunt mai multe sisteme de C4, uitete in script. Cu siguranta sunt diferite. ;)
-
4/5. A crescut iarba pe pereti. xD Salutari... :D
-
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... ;)
-
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.000? Ca sa inveti lupte? Oh my god. xD In rest foarte bine, putin exagerat pretul. =P
-
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
-
Din cate stiu eu, nu e posibil sa creezi butoane noi. =/ Salutari... :D
-
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.
-
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.