Jump to content

OscarJoaca

Membru
  • Posts

    113
  • Joined

  • Last visited

Posts posted by OscarJoaca

  1. Pai, cauti in GM(ctrl+f):

    public OnPlayerKeyStateChange 

    Daca nu ai, adaugi tu asta:

     

    public OnPlayerKeyStateChange
    {
    //aici pui bind-ul
    return 0;
    }
    Dupa, ca sa faci un bind, trebuie sa faci asa:
    Pui asta:
    
    if (newkeys & KEY_LOOK_BEHIND)
    {
    //aici pui tot ce contine comanda /engine inafar de prima si ultima paranteza
    }

    Aici ai o lista cu bind-uri https://wiki.sa-mp.com/wiki/Keys

    Succes!

    Scuze dar nu prea ma pricep la tutoriale. :)

    Adica prima si ultima paranteza? 

  2. Am avut si eu problema asta intr-un timp ... incearca sa reinstalezi platforma , bineinteles descarcand alta , daca folosesti nulled sau chiar daca e licentiata , acesteia s-ar putea sa-i lipseasca ceva . Nu mai tin minte daca la mine a fost de la permisiuni sau de la platforma, dar incercarea moarte n-are .

    Am rezolvat, T/C.

  3. Nu ai asezat bine codul , primele warning-uri iar la cel cu playerid, arata-mi linia .

    Revolvat faza cu warning-urile

     

    \\psf\Home\Desktop\Serioux RPG V0.5I\Serioux RPG V0.5I\gamemodes\serioux.pwn(42264) : error 017: undefined symbol "playerid"
    Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


    1 Error.

    Linia: 

        TimerGetGift[playerid] = 0;

  4. Defineste o variabila la inceputul gamemode-ului , de exemplu :

    new TimerGetGift[MAX_PLAYERS];

    La "public OnPlayerConnect" vei adauga :

    TimerGetGift[playerid] = 0;

    La comanda /getgift , la inceput , vei adauga asa :

    if(TimerGetGift[playerid] >= 1)
    { 
        SendClientMessage(playerid, -1, "Ai luat deja un cadou, trebuie sa astepti doua ore !");
        return 1;
    }

    Apoi urmeaza ca la fiecare case primit sa adaugi urmatoarea linie :

    TimerGetGift[playerid] = 1;
    SetTimerEx("NewGetGift", 7200000, false, "i", playerid);

    Asa vei adauga la fiecare case la care vrei sa se adauge timer-ul .

    Acum, undeva mai jos, vei face un public de genul :

    forward NewGetGift();
    public NewGetGift()
    {
        TimerGetGift[playerid] = 0;
    }

    Cam asta e ceea ce ai de facut .

     

    Sa-ti explic acum niste lucruri :

    1.TimerGetGift poate fi inlocuit cu orice variabila vrei tu, eu ti-am dat un exemplu , tu poti pune orice in loc de TimerGetGift .

    2.TimerGetGift[playerid] = 0; inseamna ca player-ul nu a luat cadou si il va lasa sa foloseasca comanda /getgift .

    3.TimerGetGift[playerid] = 1; inseamna ca player-ul a luat cadou si nu il va lasa sa foloseasca comanda /getgift daca adaugi linia pe care ti-am dat-o mai sus .

    4.SetTimerEx("NewGetGift", 7200000, false, "i", playerid); este timer-ul de 2 ore setat pentru player-ul care a dat /getgift , acel false inseamna ca timer-ul nu se repeta dupa doua ore, ceea ce-i ofera player-ului posibilitatea sa dea /getgift din nou .

    5.public NewGetGift(); este functia care dupa doua ore ii va seta player-ului variabila "TimerGetGift[playerid]" la 0, adica player-ul va putea da /getgift iar dupa ce trece timer-ul explicat mai sus . In loc de NewGetGift tu vei putea pune orice doresti , eu am pus un exemplu . Dar ai grija, daca schimbi numele de la public, sa-l schimbi si de la forward .

     

    Iti urez mult succes !

    Multumesc!

    Am intalnit niste errori:

    \\psf\Home\Desktop\Serioux RPG V0.5I\Serioux RPG V0.5I\gamemodes\serioux.pwn(17064) : warning 217: loose indentation
    \\psf\Home\Desktop\Serioux RPG V0.5I\Serioux RPG V0.5I\gamemodes\serioux.pwn(17070) : warning 217: loose indentation
    \\psf\Home\Desktop\Serioux RPG V0.5I\Serioux RPG V0.5I\gamemodes\serioux.pwn(17078) : warning 217: loose indentation
    \\psf\Home\Desktop\Serioux RPG V0.5I\Serioux RPG V0.5I\gamemodes\serioux.pwn(17089) : warning 217: loose indentation
    \\psf\Home\Desktop\Serioux RPG V0.5I\Serioux RPG V0.5I\gamemodes\serioux.pwn(17096) : warning 217: loose indentation
    \\psf\Home\Desktop\Serioux RPG V0.5I\Serioux RPG V0.5I\gamemodes\serioux.pwn(42264) : error 017: undefined symbol "playerid"
    Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


    1 Error.

     

    Eu am definit playerid, nush dece nu vrea sa-l citeasca in situatia asta "    TimerGetGift[playerid] = 0;"

  5. Problema intalnita (descriere): Am un bug la getgift, poti da de cate ori vrei... Si vreau sa fac sa poti da o data la 2 ore...
    Ero(area / rile) / warning-(ul / urile): -
    Liniile de cod / sursa / script-ul(obligatoriu): 

    CMD:getgift(playerid, params[])
    {
       if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Trebuie sa te loghezi  mai intai.");
       if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_WHITE,"{37B9C8}Please get out of the car.");
       if(!IsPlayerInRangeOfPoint(playerid, 7.0, 1516.1532,-1655.5228,13.5392))  return SCM(playerid,COLOR_WHITE, "Nu esti la locul unde poti folosi [/getgift] (LSPD).");

       {
           {
                new Random = random(6);
                switch(Random)
                {
                    case 0:
                    {
                        GivePlayerCash(playerid,25000);
                        Update(playerid,pCashx);
                        SendClientMessage(playerid, COLOR_WHITE, "Felicitari!Ai castigat 25.000$");
                    }
                    case 1:
                    {
                          SendClientMessage(playerid, COLOR_WHITE, "Felicitari!Ai castigat 5 ppoints");
                       }
                    case 2:
                    {
                        PlayerInfo[playerid][pMats] += 50000;
                        Update(playerid,pMatsx);
                        SendClientMessage(playerid, COLOR_WHITE, "Felicitari!Ai castigat 50000 materiale");
                    }
                    case 3:
                    {
                        PlayerInfo[playerid][pDrugs] += 10;
                        new wakaname[25],str2[128];
                        GetPlayerName(playerid,wakaname,sizeof(wakaname));
                        format(str2,sizeof(str2),"UPDATE users SET `Drugs`='%d' WHERE `name`='%s'",PlayerInfo[playerid][pDrugs],wakaname);
                        mysql_query(SQL,str2);
                        SendClientMessage(playerid, COLOR_WHITE, "Felicitari!Ai castigat 10 grame de droguri");
                    }
                    case 4:
                    {
                        PlayerInfo[playerid][pExp] += 2;
                        SendClientMessage(playerid, COLOR_WHITE, "Felicitari!Ai castigat 2 respect points");
                    }
                    case 5:
                    {
                        SendClientMessage(playerid, COLOR_WHITE, "Felicitari!Ai castigat inca 2 cadouri!");
                    }
                }
            }
       }
       return 1;
    }


    Imagini / Video (optional): -
    Ati incercat sa rezolvati singur?: Da, dar nu am reusit sa fac un timer... Tin sa mentionez ca am GM-ul Saints.

  6. Problema intalnita (descriere): Vreau sa fac ca playerii noi cand intra sa dea /bonus si sa primeasca level 2 si 10.000$
    Ero(area / rile) / warning-(ul / urile): -
    Liniile de cod / sursa / script-ul(obligatoriu): -
    Imagini / Video (optional): -
    Ati incercat sa rezolvati singur?: Da, am cautat pe net cum sa fac, dar nu am gasit, tin sa mentionez ca am gamemode-ul Saints.

  7. Eu zic ca nu are sens sa faci asa ceva, cum a zis si @WopsS, daca ea cineva mai priceput, iti manipuleaza programul cum vrea el ... Si tu cum vrei sa faca sa citeasca din baza de date a anumite servere, ti-a manipulat programul, si a facut rost de baza de date de la serverele respective ... Plus ca si @TheTuNNeFPS are dreptate, tie iti va trebui o baza de date in care sa faci legatura de la trade, care si ea poate sa fie manipulata si sa intre in ea, si sa ia contul respectiv fara sa puna nimic ... Si acum sa faci sa securezi aceste lucruri iti va lua foarte mult, si stiind ca nu te-ai candit la faza cu baza de date la trade-uri, nu pot sa zic ca esti foarte avansat in asta ... Parerea mea este ca nu se merita de facut asa ceva! Dar daca vrei sa faci asa ceva, o sa mai ai de invatat, plus sa incepi cu un buget ... ( ca sa poti cumpara o baza de date la trade-uri )

  8. TheTuNNeFPS are dreptate, adica acel program nu schimba cu nimic. Cineva poate da niste date gresite acolo. Poate sa creezi un bot care sa intre pe server si sa scrie parola sa vada daca e buna,  dar e aproape imposobil :D 

    De aceea el vrea baza de date, ca sa caute in ea contul respectiv ... :sleep:

    EDIT: Daca ai fi citit regulamentul comunitatilor gen Bugged sau B-Zone, este interzis sa vinzi/schimbi contul!

  9. Ce mai faci ma Stalkere? :)

     

     

    Apasa CTRL+F si cauta in GM: 'forward ' dupa ultimele forward`uri adauga: 

    Cod
    forward 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: 

    Cod
    new     
    [text]new     
    [text]new [text]



    deasupra primului adauga: 

    Cod
    new dmvtimer1;    
    new dmvcount = 90;    
    new dmvcounttimer;    
    new DMVPrepare[MAX_PLAYERS];    
    new DMVT[MAX_PLAYERS];



    dupa care cauti in GM linia: 

    Cod
    DivorceOffer [playerid]= 999;



    si adaugi dupa ea: 

    Cod
    DMVPrepare [playerid]= 0;



    dupa care cauti: 

    Cod
    GameTextForPlayer(playerid, "~y~Sold the car", 2500, 1);



    si la sfarsitul scriptului mentionat anterior adaugi: 

    Cod
    else 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 ...

    Cod
    if(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: 
     
    Cod
    else if(TutTime)


    iar la sfarsitul acestui script adaugi: 
     
    Cod
    if(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 :D .

    Imi para rau ca nu am avut timp sa iti explic ce face fiecare in parte, dar te prinzi tu, ca esti istet ...

     

     

     
  10. for(new i=0; i<MAX_PLAYERS; i++)

    Pai asa ar trebui sa fie nu stiu ce e gresit, poate e ceva deasupra lui.
       
        Esti sigur ca forul meu nu este deja pus intr-un for? adica textdrawul probabil e pus lintr-un for si ai pus for in for? ceva de genu.

    Am rezolvat, multumesc!

    Puteti sa inchideti topic-ul...

  11. Salut o sa iti fac eu unul:

    Sa incepem

    cream un textdraw

    new Text:NameText[MAX_PLAYERS];

     

    Punem la OnGameModeInit Textdrawul pentru fiecare player

    	for(new i = 0;i<MAX_PLAYERS;i++)
    	{
    		NameText[i] = TextDrawCreate(60.000000, 426.000000, " "); // textdraw cu nume sub mapa
    		TextDrawBackgroundColor(NameText[i], 255);
    		TextDrawFont(NameText[i], 2);
    		TextDrawLetterSize(NameText[i], 0.260000, 1.499999);
    		TextDrawColor(NameText[i], 629657343);
    		TextDrawSetOutline(NameText[i], 1);
    		TextDrawSetProportional(NameText[i], 1);
    	}

    Iar la OnPlayerConnect punem asta:

    new namestring[40],numele[40];
    GetPlayerName(playerid,numele,sizeof(numele));
    format(namestring,sizeof(namestring), "%s",numele);
        TextDrawSetString(NameText[playerid], namestring);
    	TextDrawShowForPlayer(playerid, NameText[playerid]);

    Si gata. Sper ca ti-a fost de folos.

    Multumesc! ;)

    EDIT: Am o eroare....

    C:\Users\Damian\Desktop\Gamemodes SAMP\AG RPG\gamemodes\gamemode.pwn(26797) : error 010: invalid function or declaration
    Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


    1 Error.

×
×
  • 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.