Jump to content

Extremys

Membru
  • Posts

    187
  • Joined

  • Last visited

  • Days Won

    10

Posts posted by Extremys

  1. Pai uite comanda cu tot cu explicatie

    Xyz sunt coordonatele care le ai tu puse acolo iar 3 este interiorul daca coordonatele sunt puse afara interirul este 0

    Uite exemplu de folosire

    /gotoxyz 0.04858 0.334 8.473 
    
    if(strcmp(cmd, "/gotoxyz", true) == 0)
    {
       if(IsPlayerConnected(playerid))
       {
           if(PlayerInfo[playerid][pAdmin] > 5)
           {
               return 1;
           }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1,"/gotoxyz [x] [y] [z] [interior]");
    return 1;
    }
    new x = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1,"/gotoxyz [x] [y] [z] [interior]");
    return 1;
    }
    new y = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1,"/gotoxyz [x] [y] [z] [interior]");
    return 1;
    }
    new z = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1,"/gotoxyz [x] [y] [z] [interior]");
    return 1;
    }
    new interior = strval(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 3)
    {
    SetPlayerPos(playerid, x, y, z);
    format(string,sizeof(string),"Ai fost teleportat la coordonatele x = %d, y = %d, z = %d, interior %d.",x,y,z,interior);
    SendClientMessage(playerid, COLOR_WHITE, string);
    SetPlayerVirtualWorld(playerid, 0); 
    SetPlayerInterior(playerid,interior); 
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Nu poti folosii aceasta comanda."); 
    }
    }
    return 1;
    }
    • Upvote 1
  2. Pai cred ca ar trebui sa inlocuiesti iar coordonatele de la ondialogresponse cu cele bune facute iar de tine, decat sa stai sa le gasesti pe fiecare in parte mai bine le pui iar

    Sau te poti folosii de comanda /gotoxyz pentru a afla de la ce sunt coordonatele. Daca nu ai comanda te ajut eu cu ea

    • Upvote 1
  3. Acum 20 minute, Alberto. a spus:

    E cam greu sa intelegi daca nu ai ideea pe care o am eu in cap, spre exemplu nici eu  nu prea inteleg ce are de aface sistemul tau cu ideea baiatului (doar ca amandoi ati vrut sistem de aplicatii direct din joc). Pe viitor nu te mai grabi cand scrii ca se vede urat, eu ma gandeam la un sistem putin mai complex deoarece sa:mp-ul este prea avansat acum ca sa vii cu sisteme care doar trimit niste mesaje si dau o valoare unei variabile.

    Este adevarat ca nu inteleg idee ta, dar pe acel timp acest sistem era "prima mea reusita" sa zic asa, eram la inceput cu totul si pentru mine atunci chiar a fost greu si mi-am pierdut noptii sa fac sa se salveze in fisier.ini sa se incarce in comanda /aplications toate acelea in mod corect. In fine eu cred ca daca cineva mi-ar explica cum vrea si ce vrea mai concret as reusi sa fac acel ceva

  4. Acum 4 minute, Alberto. a spus:

    Partial mi se pare o idee buna, vorba lui Alin, ar fii mult de munca. Propun ca playerii care aplica sa fie listati in dialogul ala si cand apesi pe ei sa apara urmatoarele informatii: Nume: / Nivel: / Warns: / History: / Convinge-ma in 50 de cuvinte:. In momentul in care aplica la o factiune, sa ii apara doar un dialog stil input in care sa scrie ce vrea, asta va aparea la rubrica "Convinge-ma in 50 de cuvinte" sau cum vrei tu sa o numesti.

    Si daca tot am inceput, in momentul in care un tester foloseste /starttest [id], sa ii apara un test (grila sau cum vrei tu) si daca ii place testerului cum raspunde, eventual il accepta si pentru proba practica. Ar fii un sistem unic si de folos, vezi si tu ce idei mai iti vin si combina-le, bafta.

    Apropo, aici este rubrica "caut scripter" : https://www.sa-mp.ro/forums/forum/382-caut-scripter/

    Nu prea am inteles ce ai vrut sa zici dar, eu amf acut asta pe un server non mysql si rula cam asa :
    Playerul dadea /factions alegea una din ele iar acolo ii aparea Aplica ca membru. DAca aleagea si lider-ul nu era online ii trimitea un mesaj ca nu este online sa incerce mai tarziu iar daca era online liderul primea un mesaj si acesta folosea /startaplciatie id iar el completa intrebarile din acest test Cati ani ai ? etc lider-ul primea mesaj cu intrebarile si jos raspunsul dat de el dar in acelasi timp se salvau si in comadna /aplications dupa mai era /acceptaaplciatie id ii transmitea ca a fost acceptat pentru test practic si /respgineaplciatie id pentru a o respegine el putea aplica odata la 24 ore jcuate de la ultima aplcaitie

     

  5. Acum 3 minute, Ainox a spus:

    Nu am nevoie sa-mi demonstreze nimeni cat stie sa scripteze, daca ai facut tu bravo, ce sa zic, succes in continuare.

    Multumesc, si cand am spus ca vreau sa demonstrez am vrut sa arat tutoror ca nu sunt gen-ul copy-paste, daca capone posta si aici tutorial-ul, bineinteles ca mentionam ca de la el mi-am facut idee

  6. Chiar acum, Ainox a spus:

    Am mai vazut tutorialul undeva, ma cam indoiesc ca l-ai facut tu.

    Tutorialul facut de Ady.Capone pe o alta comunitate, l-am postat si acolo sub numele de [Tutorial]Faction Raport - Versiuena mea putin diferita de cea a lui Capone. Tutorialul facut de Capone este un sfert din ce am facut eu. Dar daca nu crezi ti-as putea demonstra intr-un fel?

    • Upvote 1
  7. Salutare, astazi am sa va prezint un scurt tutorial prin care puteti crea un raport automatizat la unele  factiunii. In acest tutorial eu am ales factiunea School Instructor.

    • Adaugam in tabelul "users" sau cum il aveti voi denumit(tabelul in care sunt conturile jucatoriilor) o noua coloana numita 'playerCommands' sau cum doriti.
    • Ne ducem la public OnPlayerLogin(daca nu aveti asa cautati " cache_get_field_content( "  trebuie sa fie un sir cu mai multe variabile sa zic asa) si adaugati  cache_get_field_content(0, "playerCommands", result); playerVariables[extraid][pCommands] = strval(result);
    • Acum mergem la playerVariables(daca nu gasiti asta cautati pAdmin sau pLevel va dati voi seama la ce ma refer) acolo adaugam pCommands.
    • Acum ne ducem la comanda /givelicence(comanda cu care cei din factiunea School Instructor dau licentele) si adaugam urmatoarele,v a dau exemplu si dupa va zic.
    •  

       

      CMD:givelicence(playerid, params[])


      {
          if(playerVariables[playerid][pGroup] == 11 && playerVariables[playerid][pGroupRank] >= 2)
          {
              new x_nr[32],sendername[25],giveplayer[25],string[256],id;
              if(sscanf(params, "us[32]",id,x_nr))
              {
                  SendClientMessage(playerid, COLOR_GREY, SYNTAX_MESSAGE"/givelicense [playerid] [license] ");
                  SendClientMessage(playerid, COLOR_GREY, SYNTAX_MESSAGE"Available names: Fly, Gun, Boat.");
              }
              else
              {
                  if(id != INVALID_PLAYER_ID)
                  {
                      if(strcmp(x_nr,"fly",true) == 0)
                      {
                          if(playerVariables[id][pFlyLicense] == 0)
                          {
                              GetPlayerName(playerid, sendername, sizeof(sendername));
                              GetPlayerName(id, giveplayer, sizeof(giveplayer));
                              format(string, sizeof(string), "%s ti-a dat licenta de fly.",sendername);
                              SendClientMessage(id, COLOR_IN2, string);
                              format(string, sizeof(string), "I-ai dat lui %s licenta fly.",giveplayer);
                              SendClientMessage(playerid, COLOR_IN2, string);
                              playerVariables[id][pFlyLicense] = 100;
                              new str[128];
                              format(str,128,"UPDATE `playeraccounts` SET `playerFlyLic`='100' WHERE `playerID`='%d'",playerVariables[id][pInternalID]);
                              mysql_tquery(handle,str);
                              format(string, sizeof(string), "(i) %s has given %s the fly license.",sendername,giveplayer);
                              SendToGroup(13, COLOR_IN, string);
                              playerVariables[playerid][pCommands] ++;
                              new rquery[256];
                              format(rquery, sizeof(rquery), "UPDATE `playeraccounts` SET `playerCommands`='%d' WHERE `playerID`='%d''", playerVariables[playerid][pCommands], playerVariables[id][pInternalID]);
                              mysql_query(handle, rquery);
                              return 1;
                          }
                          else SCM(playerid, -1, "This player already have the fly licese!");

                      }
                      else if(strcmp(x_nr,"gun",true) == 0)
                      {
                          if(playerVariables[id][pGunLicense] == 0)
                          {
                              GetPlayerName(playerid, sendername, sizeof(sendername));
                              GetPlayerName(id, giveplayer, sizeof(giveplayer));
                              format(string, sizeof(string), "%s ti-a dat licenta de gun.",sendername);
                              SendClientMessage(id, COLOR_IN2, string);
                              format(string, sizeof(string), "I-ai dat lui %s licenta gun.",giveplayer);
                              SendClientMessage(playerid, COLOR_IN2, string);
                              playerVariables[id][pGunLicense] = 100;
                              new str[128];
                              format(str,128,"UPDATE `playeraccounts` SET `playerGunLic`='100' WHERE `playerID`='%d'",playerVariables[id][pInternalID]);
                              mysql_tquery(handle,str);
                              format(string, sizeof(string), "(i) %s has given %s the gun license.",sendername,giveplayer);
                              SendToGroup(13, COLOR_IN, string);
                              playerVariables[playerid][pCommands] ++;
                              new rquery[256];
                              format(rquery, sizeof(rquery), "UPDATE `playeraccounts` SET `playerCommands`='%d' WHERE `playerID`='%d''", playerVariables[playerid][pCommands], playerVariables[id][pInternalID]);
                              mysql_query(handle, rquery);
                              return 1;
                          }
                          else SCM(playerid, -1, "This player already have the gun licese!");
                      }
                      else if(strcmp(x_nr,"boat",true) == 0)
                      {
                          if(playerVariables[id][pBoatLicense] == 0)
                          {
                              GetPlayerName(playerid, sendername, sizeof(sendername));
                              GetPlayerName(id, giveplayer, sizeof(giveplayer));
                              format(string, sizeof(string), "%s ti-a dat licenta de boat.",sendername);
                              SendClientMessage(id, COLOR_IN2, string);
                              format(string, sizeof(string), "I-ai dat lui %s licenta boat.",giveplayer);
                              SendClientMessage(playerid, COLOR_IN2, string);
                              playerVariables[id][pBoatLicense] = 100;
                              new str[128];
                              format(str,128,"UPDATE `playeraccounts` SET `playerBoatLic`='100' WHERE `playerID`='%d'",playerVariables[id][pInternalID]);
                              mysql_tquery(handle,str);
                              format(string, sizeof(string), "(i) %s has given %s the boat license.",sendername,giveplayer);
                              SendToGroup(13, COLOR_IN, string);
                              playerVariables[playerid][pCommands] ++;
                              new rquery[256];
                              format(rquery, sizeof(rquery), "UPDATE `playeraccounts` SET `playerCommands`='%d' WHERE `playerID`='%d''", playerVariables[playerid][pCommands], playerVariables[id][pInternalID]);
                              mysql_query(handle, rquery);
                              return 1;
                          }
                          else SCM(playerid, -1, "This player already have the gun licese!");
                      }
                      else SCM(playerid, -1, "Invalid license!");
                  }
                  else SCM(playerid, -1, "Player not connected!");
              }
          }
          else SCM(playerid, -1, "You're not faction School Instructors or not you rank 2.");
          return 1;
      }

       

    • Adaugati

      playerVariables[playerid][pCommands] ++;
                              new rquery[256];
                              format(rquery, sizeof(rquery), "UPDATE `playeraccounts` SET `playerCommands`='%d' WHERE `playerID`='%d''", playerVariables[playerid][pCommands], playerVariables[id][pInternalID]);
                              mysql_query(handle, rquery);

      inainte de return 1; dupa cum vedeti si in exemplu, nu am dormit 39 de ore sunt foarte obosit nu pot explica exact dar puteti da reply.

    • Inca ceva: playeraccounts-inlocuiti cu ce aveti voi adica users etc.
    • Acum pentru a vedea player-ul licentele acordate mergem la public showstats sau stock showstats (depinde de gamemode) Acolo adaugam urmatoarele:
    • if(playerVariables[targetid][pGroup] == 11)//aici puneti variabilele voastre si numarul factiuni  care reprezinta school instructor
      	{
      		format(szMessage, sizeof(szMessage), "{FF0000}Licente Date: %d", playerVariables[targetid][pCommands]);
      		SendClientMessage(playerid, COLOR_WHITE, szMessage);
      	}

      Acel text ne va aparea la /stats doar daca facem parte din factiune.

    • Acum sa facem o comanda la care va avea acces lider-ul si care ii va arata raport-ul fiecaruia.

    •  

       

      CMD:raports(playerid, params[])


      {
          if(playerVariables[playerid][pGroup] >= 1 && playerVariables[playerid][pGroupRank] >= 6)
          {
              new aim[2400];
              new query[300], test[300], test1[300], test2[300], test4[300];
              format(query, sizeof(query), "SELECT * FROM `playeraccounts` WHERE `playeraccounts`.`playerGroup` = '%d' ORDER BY `playeraccounts`.`playerGroupRank` DESC LIMIT 50", playerVariables[playerid][pGroup]);
              new Cache: membresult = mysql_query(handle, query);
              new memid;
              for ( new i, j = cache_get_row_count ( ); i != j; ++i )
              {
                  cache_get_field_content(i, "playerName", result); format(test, 300, result);
                  cache_get_field_content(i, "playerDays", result); format(test1, 300, result);
                  cache_get_field_content(i, "playerCommands", result); format(test2, 300, result);
                  cache_get_field_content(0, "playerLastLogin", test4); format(Selected[memid][slastlogin], 25, test4);
                  format(Selected[memid][snume], MAX_PLAYER_NAME, test);
                  new id = GetPlayerID(test);
                  if(id != INVALID_PLAYER_ID)
                  {
                      format(aim, sizeof(aim), "%s%s - {00FF00}Online{FFFFFF} - %s days  - {FF0000}%s {00FF00}Raport Saptamanal\n", aim, test, test1, test2);
                  }
                  else
                  {
                      format(aim, sizeof(aim), "%s%s - {FF0000}Offline{FFFFFF} - %s days - {FF0000}%s {00FF00}Raport Saptamanal - {FFFFFF}Last ONLINE %s\n", aim, test, test1, test2, test4);
                  }
                  memid++;
              }
              cache_delete(membresult);
              ShowPlayerDialog(playerid,DIALOG_MEMBERSS2,DIALOG_STYLE_LIST,"Server: Raports",aim,"Clear","Cancel");
          }
          return 1;
      }

       

    • Cand scrieti /raports va va aparea lista cu toti membri si in dreptul lor cate licente a acordat

    • Totul este aproape gata si mai aveam doar de adaugat o comanda prin care sterge raport-ul.

     

     

    CMD:craport(playerid,params[]) {


        if(playerVariables[playerid][pGroup] == 11 && playerVariables[playerid][pGroupRank] >= 6) {

            new
                targetid;

            if(sscanf(params, "u", targetid))
                return SendClientMessage(playerid, COLOR_GREY, SYNTAX_MESSAGE"/clearraport [playerid]");
                {
                    playerVariables[targetid][pCommands] = 0;
                    SendClientMessage(playerid, -1, "I-ai sters rapot-ul!");
                    SendClientMessage(targetid, -1, "Lider-ul ti-a sters raport-ul factiunii");
                    new quer[256];
                    mysql_format(handle, quer, 256, "UPDATE playeraccounts SET playerCommands = '0' WHERE playerID = '%d'", playerVariables[playerid][pInternalID]);
                    mysql_tquery(handle, quer);
                }
         }
        return 1;
    }

    SFARSIT.

    Daca ti-am fost de ajutor nu uita de +1.

    P.S-Daca am greseli gramaticale va rog sa nu ma criticati nu am dormit de ceva vreme si sunt obosit.

    Daca aveti nelamuriri lasa-ti REPLY.

    Daca am gresit ceva spuneti-mi.

    • Upvote 3
  8. Acum 5 minute, SoNNy.sys a spus:

    Era doar o concluzie, o intrebare ironica. Nu te mai chinui cu script-uri de ca*** :) Nu poti sa-ti faci server si sa folosesti un query la fiecare 2 secunde pentru fiecare masina personala de pe server.

    Nu vreau sa imi fac server, vreau sa invat sa creez unu in viitor pe alt gamemode intelegi?

  9. Acum 35 minute, SoNNy.sys a spus:

    GM praf oricum, faci un query la fiecare modificare de distanta la masini?...

    Citat

    forward DistanceCheck();
    public DistanceCheck()
    {
        for(new i=0; i<MAX_PLAYERS; i++)
        {
            new saveQuery[369];
            new Float:d;
            if(IsPlayerConnected(i))
            {
                if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
                {
                    new Float:dist, Float:X, Float:Y, Float:Z;
                    if(IsPlayerInAnyVehicle(i))
                    {
                        GetVehiclePos(GetPlayerVehicleID(i),X,Y,Z);
                    }
                    else
                    {
                        GetPlayerPos(i,X,Y,Z);
                    }
                    dist = floatsqroot(floatpower(floatabs(floatsub(PosX,X)),2)+floatpower(floatabs(floatsub(PosY,Y)),2)+floatpower(floatabs(floatsub(PosZ,Z)),2));
                     if(CheckDelay >= 1)
                    {
                        CheckDelay--;
                    }
                    else
                    {
                        if(floatround(dist) < 1000) Distance += floatround(dist);
                    }
                    GetPlayerPos(i,d,PosY,PosZ);
                    GetPlayerPos(i,PosX,PosY,PosZ);
                    new dist2;
                    dist2 = Distance / 1000;
                    if(dist2 >= 1)
                    {
                        if(!IsPlayerPaused(i))
                           {
                            new vehicleid = GetPlayerVehicleID(i);
                            if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
                            {
                                if(playerVariables[pCarID] == vehicleid)
                                {
                                    Distance = 0;
                                    playerVariables[pCarKM] += 1;
                                    format(saveQuery, sizeof(saveQuery), "UPDATE playeraccounts SET playerCarKM = '%f', playerCarLock = '%d' WHERE playerID = '%d'",playerVariables[pCarKM],playerVariables[pCarLock],playerVariables[pInternalID]);
                                    mysql_tquery(handle,saveQuery);
                                }
                                else if(playerVariables[pCarID2] == vehicleid)
                                {
                                    Distance = 0;
                                    playerVariables[pCarKM2] += 1;
                                    format(saveQuery, sizeof(saveQuery), "UPDATE playeraccounts SET playerCarKM2 = '%f', playerCarLock2 = '%d' WHERE playerID = '%d'",playerVariables[pCarKM2],playerVariables[pCarLock2],playerVariables[pInternalID]);
                                    mysql_tquery(handle,saveQuery);
                                }
                                else if(playerVariables[pCarID3] == vehicleid)
                                {
                                    Distance = 0;
                                    playerVariables[pCarKM3] += 1;
                                    format(saveQuery, sizeof(saveQuery), "UPDATE playeraccounts SET playerCarKM3 = '%f', playerCarLock3 = '%d' WHERE playerID = '%d'",playerVariables[pCarKM3],playerVariables[pCarLock3],playerVariables[pInternalID]);
                                    mysql_tquery(handle,saveQuery);
                                }
                                else if(playerVariables[pCarID4] == vehicleid)
                                {
                                    Distance = 0;
                                    playerVariables[pCarKM4] += 1;
                                    format(saveQuery, sizeof(saveQuery), "UPDATE playeraccounts SET playerCarKM4 = '%f', playerCarLock4 = '%d' WHERE playerID = '%d'",playerVariables[pCarKM4],playerVariables[pCarLock4],playerVariables[pInternalID]);
                                    mysql_tquery(handle,saveQuery);
                                }
                              }
                        }
                    }
                }
            }
        }
    }

     

  10. Acum 1 oră, Mister a spus:

    Arata functia loadcar si arata si functia cum salvezi km cum ii contorizezi

    Nu gasesc nici o functie care sa incarce masinile

    Citat

    forward DistanceCheck();
    public DistanceCheck()
    {
        for(new i=0; i<MAX_PLAYERS; i++)
        {
            new saveQuery[369];
            new Float:d;
            if(IsPlayerConnected(i))
            {
                if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
                {
                    new Float:dist, Float:X, Float:Y, Float:Z;
                    if(IsPlayerInAnyVehicle(i))
                    {
                        GetVehiclePos(GetPlayerVehicleID(i),X,Y,Z);
                    }
                    else
                    {
                        GetPlayerPos(i,X,Y,Z);
                    }
                    dist = floatsqroot(floatpower(floatabs(floatsub(PosX,X)),2)+floatpower(floatabs(floatsub(PosY,Y)),2)+floatpower(floatabs(floatsub(PosZ,Z)),2));
                     if(CheckDelay >= 1)
                    {
                        CheckDelay--;
                    }
                    else
                    {
                        if(floatround(dist) < 1000) Distance += floatround(dist);
                    }
                    GetPlayerPos(i,d,PosY,PosZ);
                    GetPlayerPos(i,PosX,PosY,PosZ);
                    new dist2;
                    dist2 = Distance / 1000;
                    if(dist2 >= 1)
                    {
                        if(!IsPlayerPaused(i))
                           {
                            new vehicleid = GetPlayerVehicleID(i);
                            if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
                            {
                                if(playerVariables[pCarID] == vehicleid)
                                {
                                    Distance = 0;
                                    playerVariables[pCarKM] += 1;
                                    format(saveQuery, sizeof(saveQuery), "UPDATE playeraccounts SET playerCarKM = '%f', playerCarLock = '%d' WHERE playerID = '%d'",playerVariables[pCarKM],playerVariables[pCarLock],playerVariables[pInternalID]);
                                    mysql_tquery(handle,saveQuery);
                                }
                                else if(playerVariables[pCarID2] == vehicleid)
                                {
                                    Distance = 0;
                                    playerVariables[pCarKM2] += 1;
                                    format(saveQuery, sizeof(saveQuery), "UPDATE playeraccounts SET playerCarKM2 = '%f', playerCarLock2 = '%d' WHERE playerID = '%d'",playerVariables[pCarKM2],playerVariables[pCarLock2],playerVariables[pInternalID]);
                                    mysql_tquery(handle,saveQuery);
                                }
                                else if(playerVariables[pCarID3] == vehicleid)
                                {
                                    Distance = 0;
                                    playerVariables[pCarKM3] += 1;
                                    format(saveQuery, sizeof(saveQuery), "UPDATE playeraccounts SET playerCarKM3 = '%f', playerCarLock3 = '%d' WHERE playerID = '%d'",playerVariables[pCarKM3],playerVariables[pCarLock3],playerVariables[pInternalID]);
                                    mysql_tquery(handle,saveQuery);
                                }
                                else if(playerVariables[pCarID4] == vehicleid)
                                {
                                    Distance = 0;
                                    playerVariables[pCarKM4] += 1;
                                    format(saveQuery, sizeof(saveQuery), "UPDATE playeraccounts SET playerCarKM4 = '%f', playerCarLock4 = '%d' WHERE playerID = '%d'",playerVariables[pCarKM4],playerVariables[pCarLock4],playerVariables[pInternalID]);
                                    mysql_tquery(handle,saveQuery);
                                }
                              }
                        }
                    }
                }
            }
        }
    }

     

    @Mister asta am gasit despre vehicule

    Citat

    public IniVehs()
    {
        new Cache: result5 = mysql_query (handle, "SELECT * FROM `vehicles` ORDER BY `vehicles`.`vehicleID` ASC");
        new x;
        new success = 1;

         for ( new i, j = cache_get_row_count ( ); i != j; ++i )
        {
            //cache_get_field_content(i, "vehicleID", result); x = strval(result);
              x++;
            if(systemVariables[vehicleCounts][0] + systemVariables[vehicleCounts][1] + systemVariables[vehicleCounts][2] < MAX_VEHICLES)
            {
                cache_get_field_content(i, "vehicleModelID", result); vehicleVariables[x][vVehicleModelID] = strval(result);
                cache_get_field_content(i, "vehiclePosX", result); vehicleVariables[x][vVehiclePosition][0] = floatstr(result);
                cache_get_field_content(i, "vehiclePosY", result); vehicleVariables[x][vVehiclePosition][1] = floatstr(result);
                cache_get_field_content(i, "vehiclePosZ", result); vehicleVariables[x][vVehiclePosition][2] = floatstr(result);
                cache_get_field_content(i, "vehiclePosRotation", result); vehicleVariables[x][vVehicleRotation] = floatstr(result);
                cache_get_field_content(i, "vehicleGroup", result); vehicleVariables[x][vVehicleGroup] = strval(result);
                cache_get_field_content(i, "vehicleDMV", result); vehicleVariables[x][vVehicleDMV] = strval(result);
                cache_get_field_content(i, "vehicleJob", result); vehicleVariables[x][vVehicleJob] = strval(result);
                cache_get_field_content(i, "vehicleRank", result); vehicleVariables[x][vVehicleRank] = strval(result);
                cache_get_field_content(i, "vehicleDS", result); vehicleVariables[x][vVehicleDS] = strval(result);
                cache_get_field_content(i, "vehicleCol1", result); vehicleVariables[x][vVehicleColour][0] = strval(result);
                cache_get_field_content(i, "vehicleCol2", result); vehicleVariables[x][vVehicleColour][1] = strval(result);

                if(vehicleVariables[x][vVehicleColour][0] < 0) {
                    vehicleVariables[x][vVehicleColour][0] = random(126);
                }
                if(vehicleVariables[x][vVehicleColour][1] < 0) {
                    vehicleVariables[x][vVehicleColour][1] = random(126);
                }


                vehicleVariables[x][vVehicleScriptID] = CreateVehicle(vehicleVariables[x][vVehicleModelID], vehicleVariables[x][vVehiclePosition][0], vehicleVariables[x][vVehiclePosition][1], vehicleVariables[x][vVehiclePosition][2], vehicleVariables[x][vVehicleRotation], vehicleVariables[x][vVehicleColour][0], vehicleVariables[x][vVehicleColour][1], -1);

                switch(vehicleVariables[x][vVehicleModelID])
                { // OnVehicleSpawn has some annoying glitches with this!1. Should fix.
                    case 427, 428, 432, 601, 528: SetVehicleHealth(vehicleVariables[x][vVehicleScriptID], 5000.0);
                }
                systemVariables[vehicleCounts][0]++;

                new stringcar[256];
                format(stringcar, 256, "%s",groupVariables[vehicleVariables[x][vVehicleGroup]][gGroupName]);
                if(vehicleVariables[x][vVehicleGroup] >= 1)
                {
                     SetVehicleNumberPlate(x, stringcar);
                }

                format(stringcar, 256, "%s",jobVariables[vehicleVariables[x][vVehicleJob]][jJobName]);
                if(vehicleVariables[x][vVehicleJob] >= 1)
                {
                     SetVehicleNumberPlate(x, stringcar);
                }

                if(vehicleVariables[x][vVehicleDMV] == 1)
                {
                    dmv[x] = CreateObject(19309,0,0,0,0,0,0,100.0);
                    SetObjectMaterialText(dmv[x], "DMV", 0, 50, "Times New Roman", 27, 1, COLOR_YELLOW, 0xFF000000, 1);
                    AttachObjectToVehicle(dmv[x], x, 0.0, -0.5, 0.9, 0.0, 0.0, 0.0);
                }

                if((vehicleVariables[x][vVehicleGroup] == 1 || vehicleVariables[x][vVehicleGroup] == 10) && vehicleVariables[x][vVehicleModelID] == 411)
                {
                    sirena[x] = CreateObject(19419, 0, 0, 0, 0, 0, 0, 0);
                    AttachObjectToVehicle(sirena[x], x, 0.0, 0.0, 0.7, 0.0, 0.0, 0.0);
                }

                if(vehicleVariables[x][vVehicleGroup] == 7 && vehicleVariables[x][vVehicleModelID] == 560)
                {
                    taxiobj[x] = CreateObject(19308, 0, 0, 0, 0, 0, 0, 0);
                    AttachObjectToVehicle(taxiobj[x], x, 0.0, 0.0, 0.92, 0.0, 0.0, 0.0);
                }
            }
            else
            {
                success = 0;
                printf("ERROR: Vehicle limit reached (MODEL %d, VEHICLEID %d, MAXIMUM %d, TYPE STATIC) [01x08]", vehicleVariables[x][vVehicleModelID], x, MAX_VEHICLES);
            }
        }
        cache_delete(result5);
        if(success) printf("[script] %d vehicles loaded.", systemVariables[vehicleCounts][0]);
        return 1;
    }

    vehiculele personale se salveaza in tabelul cu conturi

  11. Problema intalnita (descriere): Pai intru pe server cumpar masina si fac km, daca ies si intru iar km raman, dar daca ies dau restart la server km nu mai raman

    Ero(area / rile) / warning-(ul / urile): Nu imi da
    Liniile de cod / sursa / script-ul(obligatoriu): Ce imi veti cere aia o sa va dau


    Imagini / Video (optional):-
    Ati incercat sa rezolvati singur?: Da am incercat, nustiu ce sa fac sunt nou in mysql

     

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