KUNT Posted July 12, 2017 Posted July 12, 2017 Am vazut ca multi intreaba pe internet cum sa facem ca tutorilul de la inceput / de la DMV sa mearga prin apasarea unei taste. Mai jos am sa va arat cum facem acest lucru luand ca model tutorialul de la DMV. La inceput adaugam urmatoarele linii: #define ALB "{FFFFFF}" // Alb #define ALBASTRU2 "{33CCFF}" // Albastru deschis - Instructors #define GALBEN "{F3FF02}" // Galben - Taxi #define ALBASTRU4 "{33FFFF}" // Albastru deschis - Surenosforward DriverLicenseTime(playerid); forward DriverLicenseTime2(playerid); forward DriverLicenseTime3(playerid); forward DriverLicenseTime4(playerid); forward DriverLicenseTime5(playerid); forward DriverLicenseTime6(playerid); new DriverTestTimer[MAX_PLAYERS]; new DMVPrepare[MAX_PLAYERS]; OnPlayerConnect punem: DMVPrepare[playerid] = 0; Comanda /taketest: CMD:taketest(playerid, params[]) { if(PlayerInfo[playerid][pCash] >= 10000) { if(PlayerInfo[playerid][pCarLic] == 0) { if(DMVPrepare[playerid] == 0) { SetPlayerPos(playerid, 373.9818,191.8841,1014.1875); SetPlayerInterior(playerid, 3); TogglePlayerControllable(playerid, 0); DMVPrepare[playerid] = 1; TogglePlayerControllable(playerid, 0); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SetPlayerCameraPos(playerid, 1245.7651, 2092.2561, 61.3805); SetPlayerCameraLookAt(playerid, 1246.5137, 2091.5874, 61.1205); SetPlayerInterior(playerid, 0); SendClientMessage(playerid, -1,""GALBEN"|__________________________________ Scoala de soferi __________________________________| "); SendClientMessage(playerid, -1, ""ALBASTRU4"Bun venit la Scoala de Soferi Los Santos !"); SendClientMessage(playerid, -1, ""ALB"Mai jos, in cateva randuri iti vor fi explicate lucrurile elementare !"); SendClientMessage(playerid, -1, ""ALBASTRU4"Sa fii foarte atent la tot ce scrie deoarece va trabui sa dai un test dupa !"); SendClientMessage(playerid, -1, ""ALB"Acum instructorul iti va explica cateva lucruri importante: !"); SetTimerEx("DriverLicenseTime", 20000, false, "i", playerid); DriverTestTimer[playerid] = 1; DMVPrepare[playerid] = 7; } else { SendClientMessage(playerid, -1,""ALBASTRU2"Deja dai testul!"); } } else { SendClientMessage(playerid,-1,""ALBASTRU2"Deja ai licenta de sofer!" ); } } else { SendClientMessage(playerid,-1,""ALBASTRU2"Nu ai bani pentru a da testul!"); } } La OnPlayerKeyStateChange(playerid, newkeys, oldkeys) adaugam: if (newkeys == KEY_SPRINT) { if(DMVPrepare[playerid] != 0) { if(DMVPrepare[playerid] == 2) { SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SetPlayerCameraPos(playerid, 1785.9131, 2045.1702, 133.1425); SetPlayerCameraLookAt(playerid, 1786.7692, 2044.6467, 132.6625); SetPlayerInterior(playerid, 0); SendClientMessage(playerid, -1,""GALBEN"|__________________________________ Indicatii Instructor __________________________________| "); SendClientMessage(playerid, -1, ""ALBASTRU4"In primul rand trebuie a sti 2 lucruri foarte importante: !"); SendClientMessage(playerid, -1, ""ALB"Viteza legala permisa prin orase este de 60 km /h, iar in afara orasului este de 100 km/h."); SendClientMessage(playerid, -1, ""ALBASTRU4"Daca pe mijlocul carosabilului se intalneste o linie continua, ne arata ca este interzisa depasirea in acea zona."); SendClientMessage(playerid, -1, ""ALB"Daca vei fi prins incalcand aceste regului factiunea Police Department iti va putea confisca permisul."); SetTimerEx("DriverLicenseTime2", 20000, false, "i", playerid); DriverTestTimer[playerid] = 2; DMVPrepare[playerid] = 7; } else if(DMVPrepare[playerid] == 3) { SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SetPlayerCameraPos(playerid, 2136.4751, 1880.3142, 42.5593); SetPlayerCameraLookAt(playerid, 2137.3523, 1879.8271, 42.2693); SetPlayerInterior(playerid, 0); SendClientMessage(playerid, -1,""GALBEN"|__________________________________ Indicatii Instructor __________________________________| "); SendClientMessage(playerid, -1, ""ALBASTRU4"In cazul in care politia iti va cere sa opresti masina, atat prin semnale sonore cat si verbale"); SendClientMessage(playerid, -1, ""ALB"tu, ca si sofer ai obligatia de trage masina pe partea dreapta cat mai aproape de trotuar pentru"); SendClientMessage(playerid, -1, ""ALBASTRU4"a nu incurca circulatia altor soferi."); SendClientMessage(playerid, -1, ""ALB"In cazut in care vei hotari samergi mai departe fara sa opresti vei putea ajunge la inchisoare."); SetTimerEx("DriverLicenseTime3", 20000, false, "i", playerid); DriverTestTimer[playerid] = 3; DMVPrepare[playerid] = 7; } else if(DMVPrepare[playerid] == 4) { SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SetPlayerCameraPos(playerid, 2102.2131, 1179.5228, 60.8850); SetPlayerCameraLookAt(playerid, 2102.9712, 1178.8656, 60.5250); SetPlayerInterior(playerid, 0); SendClientMessage(playerid, -1,""GALBEN"|__________________________________ Indicatii Instructor __________________________________| "); SendClientMessage(playerid, -1, ""ALBASTRU4"Daca ai fost implicat intr-un accident ai obligatia de a suna la politie si ambulanta."); SendClientMessage(playerid, -1, ""ALB"In niciun caz sa nu incerci sa fugi de la locul accidentului, pentru ca doar vei inrautati situatia."); SendClientMessage(playerid, -1, ""ALBASTRU4"De asemenea este interzisa participarea la cursele ilegale deoarece poti accidenta oameni nevinovati."); SendClientMessage(playerid, -1, ""ALB"Daca politia te va vedea iti va fi confiscat permisul si vei fi bagat la inchisoare."); SetTimerEx("DriverLicenseTime4", 20000, false, "i", playerid); DriverTestTimer[playerid] = 4; DMVPrepare[playerid] = 7; } else if(DMVPrepare[playerid] == 5) { SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SetPlayerCameraPos(playerid, 2136.5591, 1391.5442, 39.0689); SetPlayerCameraLookAt(playerid, 2136.5562, 1392.5482, 38.8239); SetPlayerInterior(playerid, 0); SendClientMessage(playerid, -1,""GALBEN"|__________________________________ Indicatii Instructor __________________________________| "); SendClientMessage(playerid ,-1, ""ALBASTRU4"Trebuie sa sti ca ai voie sa conduci pe partea stanga a carosabilului doar intr-o singura conditie:"); SendClientMessage(playerid, -1, ""ALB"Ai voie doar cand drumul pe partea dreapta de mers este blocat si nu ai alta sansa de a trece de blocaj !"); SendClientMessage(playerid, -1, ""ALBASTRU4"Daca vei incerca sa conduci pe partea stanga inafara de aces caz vei avea sansa sa primesti amenda !"); SetTimerEx("DriverLicenseTime5", 20000, false, "i", playerid); DriverTestTimer[playerid] = 5; DMVPrepare[playerid] = 7; } else if(DMVPrepare[playerid] == 6) { SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SendClientMessage(playerid, -1, ""); SetPlayerCameraPos(playerid, 2136.5591, 1391.5442, 39.0689); SetPlayerCameraLookAt(playerid, 2136.5562, 1392.5482, 38.8239); SetPlayerInterior(playerid, 0); SendClientMessage(playerid, -1,""GALBEN"|__________________________________ Scoala de soferi __________________________________| "); SendClientMessage(playerid ,-1, ""ALBASTRU4"Asta a fost tot ! Urmeaza testul, intrebarile au 4 variante de raspuns (1, 2, 3, 4)"); SendClientMessage(playerid, -1, ""ALB"Numai una din ele este corecta !"); SendClientMessage(playerid ,-1, ""ALBASTRU4"Scoala de soferi Los Santos iti ureaza mult succes !"); SetTimerEx("DriverLicenseTime6", 10000, false, "i", playerid); DriverTestTimer[playerid] = 6; DMVPrepare[playerid] = 7; } else if(DMVPrepare[playerid] == 7) { GameTextForPlayer(playerid, "~r~Ai derulat prea repede", 3500, 1); return 1; } } } La sfarsitul GM-ului adaugam: public DriverLicenseTime(playerid) { if(DriverTestTimer[playerid] == 1) { DMVPrepare[playerid] = 2; } } public DriverLicenseTime2(playerid) { if(DriverTestTimer[playerid] == 2) { DMVPrepare[playerid] = 3; } } public DriverLicenseTime3(playerid) { if(DriverTestTimer[playerid] == 3) { DMVPrepare[playerid] = 4; } } public DriverLicenseTime4(playerid) { if(DriverTestTimer[playerid] == 4) { DMVPrepare[playerid] = 5; } } public DriverLicenseTime5(playerid) { if(DriverTestTimer[playerid] == 5) { DMVPrepare[playerid] = 6; } } public DriverLicenseTime6(playerid) { if(DriverTestTimer[playerid] == 6) { DMVPrepare[playerid] = 0; SendClientMessage(playerid, -1, "Acum urmeaza intrebarile"); } }
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