Ce mai faci ma Stalkere? Apasa CTRL+F si cauta in GM: 'forward ' dupa ultimele forward`uri adauga: Codforward dmventercartimer(playerid); forward DMVCountDown(playerid); forward DMVTest1(playerid); forward DMVTest2(playerid); forward DMVTest3(playerid); forward DMVTest4(playerid); apoi apasa din nou CRTL+F si cauta in GM: 'new '(cu tot cu spatiul ala) iti va gasi mai multe coduri de genu: Codnew [text]new [text]new [text] deasupra primului adauga: Codnew dmvtimer1; new dmvcount = 90; new dmvcounttimer; new DMVPrepare[MAX_PLAYERS]; new DMVT[MAX_PLAYERS]; dupa care cauti in GM linia: CodDivorceOffer [playerid]= 999; si adaugi dupa ea: CodDMVPrepare [playerid]= 0; dupa care cauti: CodGameTextForPlayer(playerid, "~y~Sold the car", 2500, 1); si la sfarsitul scriptului mentionat anterior adaugi: Codelse if(CP[playerid]==80)//DMV CK { DisablePlayerCheckpoint(playerid); } //-----------------[DMV-CPS]----------------------------------------------------- else if(CP [playerid]== 99) { DisablePlayerCheckpoint(playerid); CP [playerid]= 0; } else if(CP [playerid]== 100) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1316.4380,-1551.6968,13.2656,5.0); CP [playerid]= 101; } else if(CP [playerid]== 101) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1349.1302,-1480.4143,13.2578,5.0); CP [playerid]= 102; } else if(CP [playerid]== 102) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1348.8680,-1396.1429,13.2354,5.0); CP [playerid]= 103; } else if(CP [playerid]== 103) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1261.5745,-1367.9585,13.1112,5.0); CP [playerid]= 104; } else if(CP [playerid]== 104) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1235.3260,-1278.4755,13.2594,5.0); CP [playerid]= 105; } else if(CP [playerid]== 105) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1196.4308,-1332.2494,13.2735,5.0); CP [playerid]= 106; } else if(CP [playerid]== 106) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1195.2240,-1567.2039,13.2579,5.0); CP [playerid]= 107; } else if(CP [playerid]== 107) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1292.7499,-1575.0261,13.2578,5.0); CP [playerid]= 108; } else if(CP [playerid]== 108) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1303.9189,-1853.2737,13.2576,5.0); CP [playerid]= 109; } else if(CP [playerid]== 109) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1313.6161,-1735.8108,13.2577,5.0); CP [playerid]= 110; } else if(CP [playerid]== 110) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1423.0956,-1734.7076,13.2577,5.0); CP [playerid]= 111; } else if(CP [playerid]== 111) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1432.5210,-1600.2316,13.2578,5.0); CP [playerid]= 112; } else if(CP [playerid]== 112) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1371.9871,-1579.4713,13.3273,5.0); CP [playerid]= 113; } else if(CP [playerid]== 113) { new currentveh; currentveh = GetPlayerVehicleID(playerid); if(IsPlayerInAnyVehicle(playerid)) { SetVehicleToRespawn(currentveh); } GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "** The Instructor looks proud at %s and hands him a Driver License **", name); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); DisablePlayerCheckpoint(playerid); PlayerInfo[playerid] [pCarLic]= 1; TakingLesson [playerid]= 0; SendClientMessage(playerid,COLOR_LIGHTBLUE,"[DMV]: Felicitari,ai trecut testul !"); CP [playerid]= 0; KillTimer(dmvcounttimer); } dupa care intri pe server, spawnezi vehiculele cu,comenda '/veh'( if(strcmp(cmd, "/veh", true) == 0) { if(IsPlayerConnected(playerid)) { if (PlayerInfo[playerid] [pAdmin]< 1340) { SendClientMessage(playerid, COLOR_GRAD1, " you are not authorized to use that command!"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /veh [carid][color1] [color2]"); return 1; } new car; car = strval(tmp); if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, " Vehicle Number can't be below 400 or above 611 !"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /veh [carid][color1] [color2]"); return 1; } new color1; color1 = strval(tmp); if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 126 !"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /veh [carid][color1] [color2]"); return 1; } new color2; color2 = strval(tmp); if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 126 !"); return 1; } new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid, X,Y,Z); new carid = AddStaticVehicleEx(car, X,Y,Z, 0.0, color1, color2, 60000); CreatedCars [CreatedCar]= carid; CreatedCar ++; format(string, sizeof(string), " Vehicle %d spawned.", carid); SendClientMessage(playerid, COLOR_GREY, string); } return 1; } Acum faza cu checkpointurile ... Codif(newcar == oldcar id || newcar == oldcar id || newcar == oldcar id) { new name[MAX_PLAYER_NAME]; if(TakingLesson [playerid]== 1) { KillTimer(dmvtimer1); DMVCountDown(playerid); SendClientMessage(playerid,COLOR_LIGHTBLUE,"[Instructor]:Urmeaza checkpointurile pentru a trece traseul.Ai la dizpozitie 90 de secunde "); SendClientMessage(playerid,COLOR_LIGHTBLUE,"[Instructor]:Condu pe partea dreapta si ai grija la celelalte masini !"); GetPlayerName(playerid, name, sizeof(name)); format(string, sizeof(string), "** The Instructor starts the engine and lefts the car looking at %s **", name); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); format(string, sizeof(string), "** The Instructor waves to %s and shouts: Good Luck ! **", name); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); CP [playerid]= 100; SetPlayerCheckpoint(playerid, 1360.1252,-1579.2396,13.2598,5.0); } else { SendClientMessage(playerid,COLOR_GREY,"Nu ai cheile acestui vehicul !"); RemovePlayerFromVehicle(playerid); } } dupa care cauti in GM linia: Codelse if(TutTime) iar la sfarsitul acestui script adaugi: Codif(DMVPrepare >= 1) { DMVPrepare += 1; if(DMVPrepare == 3) { TogglePlayerControllable(i, 0); SendClientMessage(i,COLOR_YELLOW,"|______ DMV Test _____| "); SendClientMessage(i,COLOR_LIGHTBLUE," Buna,esti pe cale de a da testul scris pentru carnetul de sofer !"); SendClientMessage(i,COLOR_WHITE," Te rugam sa fii atent ca sa raspunzi corect la intrebari !"); } else if(DMVPrepare == 7) { SendClientMessage(i,COLOR_LIGHTGREEN,"|______ Instructor _____| "); SendClientMessage(i,COLOR_LIGHTBLUE," In primul rand,trebuie sa conduci pe partea dreapta mereu !"); SendClientMessage(i,COLOR_WHITE," Singura data cand poti conduce pe partea stanga este atunci cand drumul este blocat"); SendClientMessage(i,COLOR_LIGHTBLUE," Nu trebuie sa stai la semafoare,deoarecere ar dura prea mult"); SendClientMessage(i,COLOR_WHITE," Nu ai voie sa conduci cu viteza foarte mare,poti primi amenda pentru asa ceva sau carnetul iti poate fi confiscat"); SendClientMessage(i,COLOR_LIGHTBLUE," Daca cineva iti avariaza masina,foloseste /call 911"); } else if(DMVPrepare == 18) { SendClientMessage(i,COLOR_LIGHTGREEN,"|______ Instructor _____| "); SendClientMessage(i,COLOR_LIGHTBLUE," Trebuie sa tragi pe dreapta daca o masina de politie ti-o cere"); SendClientMessage(i,COLOR_WHITE," Deasemenea,trebuie sa tragi pe dreapta daca o masina de politie trece cu girofarele pornite"); SendClientMessage(i,COLOR_LIGHTBLUE," Nu folosi nitro daca nu ai acordul unui politist"); SendClientMessage(i,COLOR_WHITE," Tine minte: Pentru curse ilegale poti fi arestat iar masina iti va fi confiscata"); } else if(DMVPrepare == 30) { SendClientMessage(i,COLOR_LIGHTGREEN,"|______ Instructor _____| "); SendClientMessage(i,COLOR_LIGHTBLUE," Daca cineva iti fura masina foloseste /call 911"); SendClientMessage(i,COLOR_WHITE,"Deasemenea,daca esti martorul unui accident si victimele sunt prea ranite sa o faca,suna medicii"); SendClientMessage(i,COLOR_LIGHTBLUE," Nu ai voie sa opresti in mijlocul strazii"); } else if(DMVPrepare == 35) { SendClientMessage(i,COLOR_LIGHTGREEN,"|______ Instructor _____| "); SendClientMessage(i,COLOR_LIGHTBLUE," Asta a fost tot ! Urmeaza testul,intrebarile au 4 variante de raspuns (A,B,C,D)"); SendClientMessage(i,COLOR_WHITE," Numai una din ele este corecta.Iti uram succes !"); DMVPrepare = 0; SetTimerEx("DMVTest1", 8000, 0, "d", i); } } urmatorul pas cauti in GM linia: SendClientMessage(playerid, COLOR_YELLOW2, "| - Logout"); si la sfarsitul acestui script adaugi: if(DMVT [playerid]> 0) { new idx; tmp = strtok(text, idx); if(DMVT [playerid]== 1) { if ((strcmp("A", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("A"))) { SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !"); DMVT [playerid]= 0; TogglePlayerControllable(playerid, 1); return 0; } else if ((strcmp("B", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("B"))) { SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !"); DMVT [playerid]= 0; TogglePlayerControllable(playerid, 1); return 0; } else if ((strcmp("C", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("C"))) { SendClientMessage(playerid,COLOR_LIGHTBLUE," Raspuns corect,trecem la urmatoarea intrebare !"); SetTimerEx("DMVTest2", 5000, 0, "d", playerid); return 0; } else if ((strcmp("D", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("D"))) { SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !"); DMVT [playerid]= 0; TogglePlayerControllable(playerid, 1); return 0; } else { SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ Intrebare Examen _____|"); SendClientMessage(playerid,COLOR_LIGHTBLUE," Ce fac daca vad o masina de politie cu girofarul pornit urmarind un suspect iar eu sunt in masina ?"); SendClientMessage(playerid,COLOR_YELLOW2," A: Opresc masina in pozitia curenta "); SendClientMessage(playerid,COLOR_YELLOW2," B: Ma bag in fata lor "); SendClientMessage(playerid,COLOR_YELLOW2," C: Trag pe dreapta "); SendClientMessage(playerid,COLOR_YELLOW2," D: Ma duc si incerc sa ajut politia "); } } if(DMVT [playerid]== 2) { if ((strcmp("A", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("A"))) { SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !"); DMVT [playerid]= 0; TogglePlayerControllable(playerid, 1); return 0; } else if ((strcmp("B", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("B"))) { SendClientMessage(playerid,COLOR_LIGHTBLUE," Raspuns corect,trecem la urmatoarea intrebare !"); SetTimerEx("DMVTest3", 5000, 0, "d", playerid); return 0; } else if ((strcmp("C", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("C"))) { SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !"); DMVT [playerid]= 0; TogglePlayerControllable(playerid, 1); return 0; } else if ((strcmp("D", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("D"))) { SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !"); DMVT [playerid]= 0; TogglePlayerControllable(playerid, 1); return 0; } else { SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ Intrebare Examen _____|"); SendClientMessage(playerid,COLOR_LIGHTBLUE," Ce pot patesc daca particip intr-o cursa ilegale ?"); SendClientMessage(playerid,COLOR_YELLOW2," A: Nimic,sunt regele soselelor "); SendClientMessage(playerid,COLOR_YELLOW2," B: Pot intra la inchisoare "); SendClientMessage(playerid,COLOR_YELLOW2," C: Imi pot distruge masina si nu pot plati reparatile "); SendClientMessage(playerid,COLOR_YELLOW2," D: Pot sa o castig si sa primesc marele premiu "); } } if(DMVT [playerid]== 3) { if ((strcmp("A", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("A"))) { SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !"); DMVT [playerid]= 0; TogglePlayerControllable(playerid, 1); return 0; } else if ((strcmp("B", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("B"))) { SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !"); DMVT [playerid]= 0; TogglePlayerControllable(playerid, 1); return 0; } else if ((strcmp("C", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("C"))) { SendClientMessage(playerid,COLOR_LIGHTBLUE," Raspuns corect,trecem la urmatoarea intrebare !"); SetTimerEx("DMVTest4", 5000, 0, "d", playerid); return 0; } else if ((strcmp("D", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("D"))) { SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !"); DMVT [playerid]= 0; TogglePlayerControllable(playerid, 1); return 0; } else { SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ Intrebare Examen _____|"); SendClientMessage(playerid,COLOR_LIGHTBLUE," Ce fac daca cineva imi fura masina ?"); SendClientMessage(playerid,COLOR_YELLOW2," A: Ma duc,il dau jos din masina,il bat si mi-o iau inapoi "); SendClientMessage(playerid,COLOR_YELLOW2," B: Alerg pana gasesc alta si o fur "); SendClientMessage(playerid,COLOR_YELLOW2," C: Sun la politie (( /call 911 )) "); SendClientMessage(playerid,COLOR_YELLOW2," D: Merg pe jos "); } } if(DMVT [playerid]== 4) { if ((strcmp("A", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("A"))) { SendClientMessage(playerid,COLOR_LIGHTBLUE," Raspuns corect.Ai trecut testul din sala !"); SendClientMessage(playerid,COLOR_LIGHTBLUE," Du-te afara si ia o masina pentru a da traseul !"); TogglePlayerControllable(playerid, 1); DMVT [playerid]= 0; TakingLesson [playerid]= 1; GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "** The Instructor takes a pair of keys from his pockets and hands it to %s **", sendername); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } else if ((strcmp("B", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("B"))) { SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !"); DMVT [playerid]= 0; TogglePlayerControllable(playerid, 1); return 0; } else if ((strcmp("C", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("C"))) { SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !"); DMVT [playerid]= 0; TogglePlayerControllable(playerid, 1); return 0; } else if ((strcmp("D", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("D"))) { SendClientMessage(playerid,COLOR_LIGHTRED," Raspuns gresit.Ai picat testul !"); DMVT [playerid]= 0; TogglePlayerControllable(playerid, 1); return 0; } else { SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ Intrebare Examen _____|"); SendClientMessage(playerid,COLOR_LIGHTBLUE," Cand pot conduce pe partea stanga ?"); SendClientMessage(playerid,COLOR_YELLOW2," A: Cand drumul de pe partea dreapta este blocat "); SendClientMessage(playerid,COLOR_YELLOW2," B: Cand vreau "); SendClientMessage(playerid,COLOR_YELLOW2," C: Cand este ceata in fata "); SendClientMessage(playerid,COLOR_YELLOW2," D: Cand este o coada imensa in fata mea si nu vreau sa astept "); } } } la sfarsitul GM`ului adaugam: public DMVTest1(playerid) { SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ DMV Test _____|"); SendClientMessage(playerid,COLOR_LIGHTBLUE," Ce fac daca vad o masina de politie cu girofarul pornit urmarind un suspect iar eu sunt in masina ?"); SendClientMessage(playerid,COLOR_YELLOW2," A: Opresc masina in pozitia curenta "); SendClientMessage(playerid,COLOR_YELLOW2," B: Ma bag in fata lor "); SendClientMessage(playerid,COLOR_YELLOW2," C: Trag pe dreapta "); SendClientMessage(playerid,COLOR_YELLOW2," D: Ma duc si incerc sa ajut politia "); DMVT [playerid]= 1; } public DMVTest2(playerid) { SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ DMV Test _____|"); SendClientMessage(playerid,COLOR_LIGHTBLUE," Ce pot patesc daca particip intr-o cursa ilegala ?"); SendClientMessage(playerid,COLOR_YELLOW2," A: Nimic,sunt regele soselelor "); SendClientMessage(playerid,COLOR_YELLOW2," B: Pot intra la inchisoare "); SendClientMessage(playerid,COLOR_YELLOW2," C: Imi pot distruge masina si nu pot plati reparatile "); SendClientMessage(playerid,COLOR_YELLOW2," D: Pot sa o castig si sa primesc marele premiu "); DMVT [playerid]= 2; } public DMVTest3(playerid) { SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ DMV Test _____|"); SendClientMessage(playerid,COLOR_LIGHTBLUE," Ce fac daca cineva imi fura masina ?"); SendClientMessage(playerid,COLOR_YELLOW2," A: Ma duc,il dau jos din masina,il bat si mi-o iau inapoi "); SendClientMessage(playerid,COLOR_YELLOW2," B: Alerg pana gasesc alta si o fur "); SendClientMessage(playerid,COLOR_YELLOW2," C: Sun la politie (( /call 911 )) "); SendClientMessage(playerid,COLOR_YELLOW2," D: Merg pe jos "); DMVT [playerid]= 3; } public DMVTest4(playerid) { SendClientMessage(playerid,COLOR_LIGHTGREEN,"|_____ DMV Test _____|"); SendClientMessage(playerid,COLOR_LIGHTBLUE," Cand pot conduce pe partea stanga ?"); SendClientMessage(playerid,COLOR_YELLOW2," A: Cand drumul de pe partea dreapta este blocat "); SendClientMessage(playerid,COLOR_YELLOW2," B: Cand vreau "); SendClientMessage(playerid,COLOR_YELLOW2," C: Cand este ceata in fata "); SendClientMessage(playerid,COLOR_YELLOW2," D: Cand este o coada imensa in fata mea si nu vreau sa astept "); DMVT [playerid]= 4; } public dmventercartimer(playerid) { TakingLesson [playerid]= 0; SendClientMessage(playerid,COLOR_LIGHTRED,"Ai picat testul.Nu ai intrat in masina ca sa dai traseul !"); } public DMVCountDown(playerid) { if(dmvcount <= -0) { GameTextForPlayer(playerid,"~r~ Ai picat testul pentru ca a trecut timpul", 5000, 3); KillTimer(dmvcounttimer); new currentveh; currentveh = GetPlayerVehicleID(playerid); if(IsPlayerInAnyVehicle(playerid)) { SetVehicleToRespawn(currentveh); } TakingLesson [playerid]= 0; dmvcount = 120; return 1; } else { new str[128]; format(str, sizeof str, "~w~ %d", dmvcount); GameTextForPlayer(playerid,str, 250, 5); dmvcounttimer = SetTimer("DMVCountDown", 1000, 0); dmvcount--; } return 1; } apoi cautam comanda "/pay" si sub aceasta comanda adaugam: //===============TakeTest================================== if(strcmp(cmd, "/taketest", true) == 0) { if(PlayerToPoint(5.0,playerid,X,Y,Z)) //coordonatele unde vrei sa dai de permis { if(GetPlayerMoney(playerid) >= 500) { if(PlayerInfo[playerid] [pCarLic]== 0) { if(DMVPrepare [playerid]== 0) { DMVPrepare [playerid]= 1; GivePlayerMoney(playerid,-500); } else { SendClientMessage(playerid,COLOR_GREY,"Esti deja in cursul testului !"); } } else { SendClientMessage(playerid,COLOR_GREY,"Ai deja permisul de conducere!!" ); } } else { SendClientMessage(playerid,COLOR_GREY,"Nu ai destui bani pentru a plati examenul!"); } } Asta e genul cel mai popular, daca nu vrei sa fie cu tutorial si test, nu il pune si gata . Imi para rau ca nu am avut timp sa iti explic ce face fiecare in parte, dar te prinzi tu, ca esti istet ...