Daedric-Fox Posted July 25, 2015 Posted July 25, 2015 (edited) Bun, deci, vazand ca la momentul actual nu s-a facut niciun tutorial in Romania, prin care sa ni se explice pas cu pas..cum sa facem un dealership,am gasit niste filescript-uri..dar nu erau bune, si decat sa le fac functionale pe acelea, m-am decis sa fac unul de la 0.Bun sa incepem:Pasul 1:Intai creem la inceputul scriptului un enum, unde vom pune dialogurile cretea( e mai bn sa facem cu enum deoarece daca facem cu #define...putem incurca id-urile si... e mai sigur asa.)enum { DIALOG_DEALERSHIP, DIALOG_Ieftine, DIALOG_Medii, DIALOG_Scumpe }; Pasul 2: Creeam comanda /buycar: if(strcmp(cmd, "/buycar", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerToPoint(50.0,playerid, // coordonatele locatiei)) { SendClientMessage(playerid, -1, "Pentru a cumpara un vehicul personal, folositi /buycar"); ShowPlayerDialog(playerid, DIALOG_DEALERSHIP, DIALOG_STYLE_LIST, "Masini:", "Ieftine\nMedii\nScumpe", "Select", "Cancel"); DisablePlayerCheckpoint(playerid); return 1; } } }Acel PlayerToPoint verifica daca playerul respectiv este la locatia pusa de noi.50.0 este aria, adica cat de departe fata de acele coordonate poate actiona comanda.Pasul 3:Vom crea inca un dialog cu masinile pentru fiecare categorie in parte:ctrl+f si cautam linia "OnDialogResponse", odata ajunsi la aceasta linie dedesubt punem:if(dialogid == DIALOG_DEALERSHIP) { if(response) { if(listitem==0) { ShowPlayerDialog(playerid, DIALOG_Ieftine, DIALOG_STYLE_TABLIST, "Masini ieftine:", "Faggio\t200k\nPerennial\t500k\nBravura\t1,4kk\nIntruder\t1,6kk\nSunrise\t1,7kk\nTampa\t1,9kk\nQuad\t2kk", "Select", "Cancel"); } if(listitem == 1) { ShowPlayerDialog(playerid, DIALOG_Medii, DIALOG_STYLE_TABLIST, "Masini medii:", "Vincent\t2,2kk\nClover\t2,5kk\nPrimo\t2,6kk\nHustler\t3kk\nWindsor\t3,4kk\nBlista Compact\t3,5kk\nLandStakler\t3,6kk", "Select", "Cancel"); } if(listitem == 2) { ShowPlayerDialog(playerid, DIALOG_Scumpe, DIALOG_STYLE_TABLIST, "Masini scumpe:", "PCJ-600\t10kk\nNRG-500\t15kk\nSultan\t20kk\nSandKing\t21kk\nTurismo\t35kk\nElegy\t30kk\nInfernus\t36kk", "Select", "Cancel"); } } } Bun, prin aceste linii am definit dialogurile noastre, si daca selectam ieftine ne apar primele masini, si tot asa.Acum trebuie sa facem ca atunci cand un player selecteaza o masina sa i-o spawneze si sa-i ia banii.Vom fac asta asa:if(dialogid == DIALOG_Ieftine) { if(response) { if(listitem == 0) { CreateVehicle(462, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -200000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat un faggio!"); return 1; } if(listitem == 1) { CreateVehicle(404, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -500000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat un Perenial!"); return 1; } if(listitem == 2) { CreateVehicle(401, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -1400000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat o Bravura!"); return 1; } if(listitem == 3) { CreateVehicle(546, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -16000000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat un Intruder!"); return 1; } if(listitem == 4) { CreateVehicle(550, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -17000000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat o Sunrise!"); return 1; } if(listitem == 5) { CreateVehicle(549, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -19000000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat o Tampa!"); return 1; } if(listitem == 6) { CreateVehicle(471, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -20000000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat un Quad!"); return 1; } } } if(dialogid == DIALOG_Medii) { if(response) { if(listitem == 0) { CreateVehicle(540, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -2200000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat un Vincent!"); return 1; } if(listitem == 1) { CreateVehicle(542, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -2500000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat un Clover!"); return 1; } if(listitem == 2) { CreateVehicle(547, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -2600000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat o Primo!"); return 1; } if(listitem == 3) { CreateVehicle(545, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -3000000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat un Hustler!"); return 1; } if(listitem == 4) { CreateVehicle(555, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -3400000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat o Windsor!"); return 1; } if(listitem == 5) { CreateVehicle(496, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -3500000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat un Blista Compact!"); return 1; } if(listitem == 6) { CreateVehicle(400, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -360000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat un LandStalker!"); return 1; } } } if(dialogid == DIALOG_Scumpe) { if(response) { if(listitem == 0) { CreateVehicle(461, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -10000000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat un PCJ-600!"); return 1; } if(listitem == 1) { CreateVehicle(522, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -15000000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat un NRG-500!"); return 1; } if(listitem == 2) { CreateVehicle(560, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -20000000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat o Sultan!"); return 1; } if(listitem == 3) { CreateVehicle(495, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -210000000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat un SandKing!"); return 1; } if(listitem == 4) { CreateVehicle(451, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -35000000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat o Turismo!"); return 1; } if(listitem == 5) { CreateVehicle(562, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -30000000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat un Elegy!"); return 1; } if(listitem == 6) { CreateVehicle(411, 925.6184,-998.2622,37.8919, -1, -1, 60); GivePlayerMoney(playerid, -36000000); SendClientMessage(playerid, COLOR_LIGHTBLUE, "Felicitari ai cumparat un Infernus!"); return 1; } } } Bun, acum noi am facut niste variabile, prin care o spawneaza si ii scad banii.Tin sa mentionez ca am preferat sa folosesc GivePlayerMoney, deoarece iti scade toti banii pe rosu si apoi iti baga diferenta, mi se pare mai interesant si iti atrage atentia mai usor. Bun acum sa va explic ce e cu acea lini : "CreateVehicle(411, 925.6184,-998.2622,37.8919, -1, -1, 60);"411//este modelul masini care vrem sa se spawneze 925.6184,-998.2622,37.8919//acestea sunt coordonatele unde vrem sa se spawneze -1, -1 acestea sunt culorile masinii 60//iar acesta reprezinta la cate secunde sa se respawneze masina.Sper ca am mentionat tot si v-am fost de ajutor, voi mai reveni cu niste edit-uri daca mai modific ceva. Daca v-am fost de ajutor +1. Edited July 25, 2015 by DaEdRiC-FoX ********************************** Servicii Scripting de calitate: ********************************* Future Project: ExpertGame *********************************
MrTuNNe Posted July 25, 2015 Posted July 25, 2015 (edited) Chiar excelent nu ai explicat Dar nici cel mai bun tutorial nu e,mai mult pare un Copy / Paste pentru ca un tutorial se explica pas cu pas ce face functia X si ce face Y etc.P.S: Este deja un tutorial in Romania pentru cum sa faci un dealership pe MySQL Edit: Apreciez efortul Edited July 25, 2015 by TheTuNNeFPS Rahat,am uitat ceva :) Ofer servicii de web designer/developer(contact me pentru portofoliu etc) Metode de plata: Paysafecard,Skrill,PayPal,Bitcoin Ofer si servicii de Penetration Testing. Vand si VPN-uri. 5 euro pe luna Skype: live:mrtunne.tkcode Discord: https://mrtunne.info/discord
Daedric-Fox Posted July 25, 2015 Author Posted July 25, 2015 (edited) stiu ca este dar am precizat, ca este singurul pe dini din romania, si imi cer scuze pentru ca nu am explicat pas cu pas, dar este primul peu tutorial,pe viitor voi explica mai bine, si tot ce vezi acolo este facut de mine nu este niciun copy/paste. Dar oricum multumesc. Edited July 25, 2015 by DaEdRiC-FoX ********************************** Servicii Scripting de calitate: ********************************* Future Project: ExpertGame *********************************
MrTuNNe Posted July 25, 2015 Posted July 25, 2015 Dar vezi ca ai uitat ceva Nu ai zis cum se salveaza 2 Ofer servicii de web designer/developer(contact me pentru portofoliu etc) Metode de plata: Paysafecard,Skrill,PayPal,Bitcoin Ofer si servicii de Penetration Testing. Vand si VPN-uri. 5 euro pe luna Skype: live:mrtunne.tkcode Discord: https://mrtunne.info/discord
Daedric-Fox Posted July 25, 2015 Author Posted July 25, 2015 Cum pot face asta?.... ********************************** Servicii Scripting de calitate: ********************************* Future Project: ExpertGame *********************************
WiDuAlK Posted July 25, 2015 Posted July 25, 2015 Dar vezi ca ai uitat ceva Nu ai zis cum se salveaza + 1 asta vroiam sa zic eu inainte de a te vedea pe tine Cum pot face asta?....Tu ai facut tutorialul , tu ar trebui sa sti. Acolo doar ai creat o masina care, dupa restartarea serverului, ea va fi stearsa LIKE! 3 @WiDuAlK Tutorial`s: PAWN pentru SA:MP in Notepad++Tutorial Register-Login MYSQL R39 Tutorial etape de register Cum sa creezi un PayDay (2 METODE)Cum sa creezi o factiune de la 0 PART 1 Cum sa creezi o factiune de la 0 PART 2 Cum sa creezi o factiune de la 0 partea a 3-a (ULTIMA)Functii folositoare din NEW.PWN Tutorial Engine Vehicle Optimizare simplitate si stil Foreach inlocuieste loop-ul SSCANF si ZCMD Cum sa creezi o poarta miscatoare Tutorial cum sa creezi un radio pe server si cum sa iti creezi melodi pentru ascultat pe server Cum sa tii un server din PC folosind HAMACHI Documentatie* Despre hack-uri Servicii: Servicii Scripting & Mapping Produse: Farmer Job Realistic Drugs Dealer System [SA-MP] UNIQUE
WiDuAlK Posted July 25, 2015 Posted July 25, 2015 Daca v-am fost de ajutor +1.Asta mi se pare "cireasa de pe tort" Nu am nimic cu tine , dar asta am gandit, asta am spus @WiDuAlK Tutorial`s: PAWN pentru SA:MP in Notepad++Tutorial Register-Login MYSQL R39 Tutorial etape de register Cum sa creezi un PayDay (2 METODE)Cum sa creezi o factiune de la 0 PART 1 Cum sa creezi o factiune de la 0 PART 2 Cum sa creezi o factiune de la 0 partea a 3-a (ULTIMA)Functii folositoare din NEW.PWN Tutorial Engine Vehicle Optimizare simplitate si stil Foreach inlocuieste loop-ul SSCANF si ZCMD Cum sa creezi o poarta miscatoare Tutorial cum sa creezi un radio pe server si cum sa iti creezi melodi pentru ascultat pe server Cum sa tii un server din PC folosind HAMACHI Documentatie* Despre hack-uri Servicii: Servicii Scripting & Mapping Produse: Farmer Job Realistic Drugs Dealer System [SA-MP] UNIQUE
Daedric-Fox Posted July 26, 2015 Author Posted July 26, 2015 Frate...stiu...ca nu am facut totul perfect, dar sunt incepator...si nu cred ca alti scripteri ar fi facut ce am facut eu din prima...adica mai e de munca...dar eu zic ca avand in vedere ca am facut singur deoarece nimeni nu m-a ajutat m-am descurcat... ********************************** Servicii Scripting de calitate: ********************************* Future Project: ExpertGame *********************************
MrAndrei Posted July 30, 2015 Posted July 30, 2015 Salut ! Cum fac ca masina sa se salveze si totodata sa fie mutata pe slotul playerului respectiv, adica sa devina personala?
Ath9 Posted July 30, 2015 Posted July 30, 2015 foloseste un public LoadCars si SaveCars unde salevei masinile, cu tot cu owner, id, culoare,posx,y,z, si pune la on player login, LoadCars(); Respect acestei comunitati, dar mai presus respect membrilor ei !
MrAndrei Posted August 2, 2015 Posted August 2, 2015 foloseste un public LoadCars si SaveCars unde salevei masinile, cu tot cu owner, id, culoare,posx,y,z, si pune la on player login, LoadCars();Imi poti da un exemplu?
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