Jump to content

GamerulFOX

Membru
  • Posts

    47
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by GamerulFOX

  1. Salut ! Vreau sa fac o comanda putin mai grea ! Eu folosesc dini pentru un server de samp, si as vrea sa fac o comanda in care sa iti pui numar de imatriculare pe masina, stiu sa fac 95% din comanda, stiu sa o fac, sa se salveze, dar nu stiu sa verific daca alt player(online sau offline), mai are acelasi numar de imatriculare ! Cum pot face asta ? Ma poate ajuta cineva va rog frumos ? Multumesc !

  2. De ce nu merge sa ma spawnez ?
     

    OnDialog()
    
      if(dialogid == Register)
     {
            new name[MAX_PLAYER_NAME], file[256], string[128];
            GetPlayerName(playerid, name, sizeof(name));
            format(file, sizeof(file), SAVE, name);
            new files[256];
            new one;
            one = 1;
            format(files, sizeof(files), "Server/Server.ini");
            if(!response) return Kick(playerid);
            if (!strlen(inputtext)) return
            ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Salut, nu ai un cont!", "Te rog scrie o parola !", "Register", "Inchide");
            dini_Create(file);
            ServerInfo[playerid][sAccounts] = dini_Int(files, "Accounts");
            ServerInfo[playerid][sAccounts] = ServerInfo[playerid][sAccounts]+one;
            dini_IntSet(files, "Accounts", ServerInfo[playerid][sAccounts]);
            dini_IntSet(file, "Password", udb_hash(inputtext));
            dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][pAdminLevel] = 0);
            dini_IntSet(file, "Money", PlayerInfo[playerid][pMoney] = 15000);
            dini_IntSet(file, "Score", PlayerInfo[playerid][pScore] = 0);
            dini_IntSet(file, "Bonus", PlayerInfo[playerid][pBonus] = 0);
            dini_IntSet(file, "FierVechi", PlayerInfo[playerid][pFier] = 0);
            dini_IntSet(file, "Permis", PlayerInfo[playerid][pPermis] = 0);
            dini_IntSet(file, "LicentaDeArma", PlayerInfo[playerid][pArma] = 0);
            dini_IntSet(file, "Gift", PlayerInfo[playerid][pGift] = 0);
            dini_IntSet(file, "cGift", PlayerInfo[playerid][pCGift] = 0);
            dini_IntSet(file, "Crate", PlayerInfo[playerid][pCrate] = 0);
            dini_IntSet(file, "Ban", PlayerInfo[playerid][pBan] = 0);
            dini_IntSet(file, "Diamonds", PlayerInfo[playerid][pDiamonds] = 0);
            dini_IntSet(file, "DatorLaBanca", PlayerInfo[playerid][pDator] = 0);
            dini_IntSet(file, "SumaBanca", PlayerInfo[playerid][pSumaBanca] = 0);
            dini_IntSet(file, "TimpRata", PlayerInfo[playerid][pTimpRata] = -1);
            dini_IntSet(file, "GiftPoints", PlayerInfo[playerid][pGiftPoints] = 0);
            dini_IntSet(file, "VIP", PlayerInfo[playerid][pVip] = 0);
            dini_IntSet(file, "Masina", PlayerInfo[playerid][pMasina] = 0);
            dini_IntSet(file, "ID", PlayerInfo[playerid][pID] = sAccounts);
            format(string, sizeof(string), "Te-ai inregistrat cu succes, %s !", name);
            gPlayerLogged[playerid] = 1;
            GivePlayerMoney(playerid, 15000);
            SetSpawnInfo(playerid, 0, 60, xspawn, yspawn, zspawn, 0, 0, 0, 0, 0, 0, 0); 
            SpawnPlayer(playerid);
            SendClientMessage(playerid, COLOR_YELLOW, string);
            SendClientMessage(playerid, 0x0077ffFF, "Salut ! Bine ai venit !");
            SendClientMessage(playerid, 0x0077ffFF, "Pentru inceput vreau sa iti spun ca ownerul acestui server este GamerulFOX !");
            SendClientMessage(playerid, 0x0077ffFF, "Daca ai o problema/Vrei sa raportezi un bug trimite un report !");
            SendClientMessage(playerid, 0x0077ffFF, "Pe acest server se v-or acorda bonusuri zilnic !");
            SendClientMessage(playerid, 0x0077ffFF, "Echipa OldTimes, iti ureaza un joc cat mai placut !");
            SetPlayerColor(playerid, 0x555755FF);
            SetPlayerVirtualWorld(playerid, 0);
            }
      if(dialogid == Login)
     {
            new name[MAX_PLAYER_NAME], file[256];
            GetPlayerName(playerid, name, sizeof(name));
            format(file, sizeof(file), SAVE, name);
            if(!response) return Kick(playerid);
            if (!strlen(inputtext)) return ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "Salut, ai un cont", "Te rog scrie parola !", "Login", "Inchide");
            new tmp;
            tmp = dini_Int(file, "Password");
            if(udb_hash(inputtext) != tmp) {
            SendClientMessage(playerid, COLOR_RED, "Parola Gresita !.");
            ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "Salut, ai deja un cont!", "Te rog scrie parola !", "Login", "Inchide");
            }
            else
            {
            gPlayerLogged[playerid] = 1;
            PlayerInfo[playerid][pAdminLevel] = dini_Int(file, "AdminLevel");
            SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
            GivePlayerMoney(playerid, dini_Int(file, "Money")-GetPlayerMoney(playerid));
            PlayerInfo[playerid][pFier] = dini_Int(file, "FierVechi");
            PlayerInfo[playerid][pArma] = dini_Int(file, "LicentaDeArma");
            PlayerInfo[playerid][pGift] = dini_Int(file, "Gift");
            PlayerInfo[playerid][pCGift] = dini_Int(file, "cGift");
            PlayerInfo[playerid][pCrate] = dini_Int(file, "Crate");
            PlayerInfo[playerid][pDiamonds] = dini_Int(file, "Diamonds");
            PlayerInfo[playerid][pDator] = dini_Int(file, "DatorLaBanca");
            PlayerInfo[playerid][pSumaBanca] = dini_Int(file, "SumaBanca");
            PlayerInfo[playerid][pTimpRata] = dini_Int(file, "TimpRata");
            PlayerInfo[playerid][pGiftPoints] = dini_Int(file, "GiftPoints");
            PlayerInfo[playerid][pVip] =  dini_Int(file, "VIP");
            PlayerInfo[playerid][pMasina] = dini_Int(file, "Masina");
            PlayerInfo[playerid][pID] = dini_Int(file, "ID");
            if(PlayerInfo[playerid][pTimpRata] == 3){
              SendClientMessage(playerid, 0x10d4deff, "Din pacate nu ai platit rata la timp!");
              GivePlayerMoney(playerid, -GetPlayerMoney(playerid));
              PlayerInfo[playerid][pDator] = 0;
              PlayerInfo[playerid][pSumaBanca] = 0;
              PlayerInfo[playerid][pTimpRata] = -1;
              dini_IntSet(file, "DatorLaBanca", PlayerInfo[playerid][pDator]);
              dini_IntSet(file, "SumaBanca", PlayerInfo[playerid][pSumaBanca]);
              dini_IntSet(file, "TimpRata", PlayerInfo[playerid][pTimpRata]);
            }
            if(PlayerInfo[playerid][pDator] == 1) PlayerInfo[playerid][pTimpRata]++;
            SetSpawnInfo(playerid, 0, 60, xspawn, yspawn, zspawn, 0, 0, 0, 0, 0, 0, 0); 
            SendClientMessage(playerid, COLOR_RED, "Te-ai logat cu succes!");
            SpawnPlayer(playerid);
            if(PlayerInfo[playerid][pAdminLevel] > 0) SetPlayerColor(playerid, COLOR_RED);
            SetPlayerVirtualWorld(playerid, 0);
            }
            }
    
    
    
    OnGameModeInit
    
    
    
    AddPlayerClass(60, 245.5034, 1856.5551, 8.7569, 269.1425, 0, 0, 0, 0, 0, 0);
    
    
    
    
    public OnPlayerConnect(playerid)
    {
        gPlayerLogged[playerid] = 0;
        new name[MAX_PLAYER_NAME], file[256];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SAVE, name);
        if(!dini_Exists(file))
        {
            TextDrawShowForPlayer(playerid, TDELogin_TD[0]);
            TextDrawShowForPlayer(playerid, TDELogin_TD[1]);
            format(ReportText[playerid], 256, "None");
            UpdateSpeed[playerid] = false;
            SpdObj[playerid][0] = INVALID_OBJECT_ID;
            SpdObj[playerid][1] = INVALID_OBJECT_ID;
            PlayerJob[playerid] = 0;
            Checkpoint[playerid] = 0;
            JobVehicle[playerid] = 0;
            JobWorking[playerid] = 0;
            PlayerJob1[playerid] = 0;
            Checkpoint1[playerid] = 0;
            JobVehicle1[playerid] = 0;
            JobWorking1[playerid] = 0;
            PlayerJob2[playerid] = 0;
            Checkpoint2[playerid] = 0;
            JobVehicle2[playerid] = 0;
            JobWorking2[playerid] = 0;
            CursaCheckpoint[playerid] = 0;
            CursaCar[playerid] = 0;
            Report[playerid] = 0;
            masinaadmin[playerid] = 0;
            Event[playerid] = 0;
            pEvent[playerid] = 0;
            Gift[playerid] = 0;
            GiftC[playerid] = 0;
            Bonus[playerid] = 0;
            SpecialQuest[playerid] = 0;
            SpecialQuestCheckpoint[playerid] = 0;
            Salutare[playerid] = 0;
            DrivingCheckpoint[playerid] = 0;
            MasinaDMV[playerid] = 0;
            fPolitie[playerid] = 0;
            fMedic[playerid] = 0;
            fTaxi[playerid] = 0;
            fProTv[playerid] = 0;
            IsInCar[playerid] = 0;
            gPlayerLogged[playerid] = 0;
            ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Salut, nu ai un cont!", "Te rog scrie o parola !", "Register", "Inchide");
        }
        if(fexist(file))
        {
            if(PlayerInfo[playerid][pBan] == 1){
                SendClientMessage(playerid, 0xff0000FF, "Esti Banat !");
                Kick(playerid);
                return 1;
            }
            TextDrawShowForPlayer(playerid, TDELogin_TD[0]);
            TextDrawShowForPlayer(playerid, TDELogin_TD[1]);
            format(ReportText[playerid], 256, "None");
            UpdateSpeed[playerid] = false;
            SpdObj[playerid][0] = INVALID_OBJECT_ID;
            SpdObj[playerid][1] = INVALID_OBJECT_ID;
            PlayerJob[playerid] = 0;
            Checkpoint[playerid] = 0;
            JobVehicle[playerid] = 0;
            JobWorking[playerid] = 0;
            PlayerJob1[playerid] = 0;
            Checkpoint1[playerid] = 0;
            JobVehicle1[playerid] = 0;
            JobWorking1[playerid] = 0;
            PlayerJob2[playerid] = 0;
            Checkpoint2[playerid] = 0;
            JobVehicle2[playerid] = 0;
            JobWorking2[playerid] = 0;
            CursaCheckpoint[playerid] = 0;
            CursaCar[playerid] = 0;
            Report[playerid] = 0;
            masinaadmin[playerid] = 0;
            Event[playerid] = 0;
            pEvent[playerid] = 0;
            Gift[playerid] = 0;
            GiftC[playerid] = 0;
            Bonus[playerid] = 0;
            SpecialQuest[playerid] = 0;
            SpecialQuestCheckpoint[playerid] = 0;
            Salutare[playerid] = 0;
            DrivingCheckpoint[playerid] = 0;
            MasinaDMV[playerid] = 0;
            fPolitie[playerid] = 0;
            fMedic[playerid] = 0;
            fTaxi[playerid] = 0;
            fProTv[playerid] = 0;
            IsInCar[playerid] = 0;
            gPlayerLogged[playerid] = 0;
            ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Salut, nu ai un cont!", "Te rog scrie o parola !", "Register", "Inchide");
        }
        return 1;
    }



    doar astea

  3. De ce nu ma spawneaza ?

     

    if (dialogid == REGISTER)
        {
            new name[MAX_PLAYER_NAME], file[256], string[128];
            GetPlayerName(playerid, name, sizeof(name));
            format(file, sizeof(file), SAVE, name);
            if(!response) return Kick(playerid);
            if (!strlen(inputtext)) return
            ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Salut, nu esti registrat.", "Te rog scrie o parola.", "Register", "inchide");
            dini_Create(file);
            dini_IntSet(file, "Password", udb_hash(inputtext));
            dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel] = 0);
            dini_IntSet(file, "Money",PlayerInfo[playerid][pCash] = 100);
            dini_IntSet(file, "Score",PlayerInfo[playerid][pLevel] = 0);
            dini_IntSet(file, "Job", PlayerInfo[playerid][pJob] = 0);
            SpawnPlayer(playerid);
            format(string, 128, "Te-ai logat cu succes ! Nume : %s | Parola : %s.", name, inputtext);
            SpawnPlayer(playerid);
            GivePlayerMoney(playerid, 100);
            SpawnPlayer(playerid);
            SendClientMessage(playerid, COLOR_YELLOW, string);
            SpawnPlayer(playerid);
            gPlayerLogged[playerid] = 1;
            SpawnPlayer(playerid);
        }
        if (dialogid == LOGIN)
        {
            new name[MAX_PLAYER_NAME], file[256];
            GetPlayerName(playerid, name, sizeof(name));
            format(file, sizeof(file), SAVE, name);
            if(!response) return Kick(playerid);
            if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Hi your registered", "Fucken awesome mate, your registered . Inpute your pw below", "Login", "Leave");
            new tmp;
            tmp = dini_Int(file, "Password");
            if(udb_hash(inputtext) != tmp) {
                SendClientMessage(playerid, COLOR_RED, "Parola gresita !");
                ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Salut, esti inregistrat.", "Te rog scrie parola.", "Login", "inchide");
            }
            else
            {
                SpawnPlayer(playerid);
                gPlayerLogged[playerid] = 1;
                PlayerInfo[playerid][pAdminLevel] = dini_Int(file, "AdminLevel");
                SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
                GivePlayerMoney(playerid, dini_Int(file, "Money")-GetPlayerMoney(playerid));
                PlayerInfo[playerid][pJob] = dini_Int(file, "Job");
                SendClientMessage(playerid,COLOR_RED, "Te-ai logat cu succes !");
                SpawnPlayer(playerid);
        }

     

  4. public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
        if(clickedid == Rent_TDE)
        {
            TextDrawDestroy(Rent_TDE);
            TextDrawDestroy(Rent_TD[3]);
            TextDrawDestroy(Rent_TD[4]);
            GivePlayerMoney(playerid, -100);
            CreateVehicle(509, 2275.7969,-84.5570,26.5145, 0, 1, 1, 0, 0);
            return 1;
        }
        return 0;
    }
    new Text:Rent_TD[5];
    new Text:Rent_TDE;
    
    
    
        Rent_TDE = TextDrawCreate(221.666641, 245.585189, "RENT");
        TextDrawLetterSize(Rent_TDE, 0.400000, 1.600000);
        TextDrawAlignment(Rent_TDE, 1);
        TextDrawColor(Rent_TDE, -1);
        TextDrawSetShadow(Rent_TDE, 0);
        TextDrawBackgroundColor(Rent_TDE, 255);
        TextDrawFont(Rent_TDE, 1);
        TextDrawSetProportional(Rent_TDE, 1);
    
        Rent_TD[3] = TextDrawCreate(182.333404, 147.688873, "box");
        TextDrawLetterSize(Rent_TD[3], 0.000000, 13.933335);
        TextDrawTextSize(Rent_TD[3], 293.000000, 0.000000);
        TextDrawAlignment(Rent_TD[3], 1);
        TextDrawColor(Rent_TD[3], -1);
        TextDrawUseBox(Rent_TD[3], 1);
        TextDrawBoxColor(Rent_TD[3], 255);
        TextDrawSetShadow(Rent_TD[3], 0);
        TextDrawBackgroundColor(Rent_TD[3], 255);
        TextDrawFont(Rent_TD[3], 1);
        TextDrawSetProportional(Rent_TD[3], 1);
    
        Rent_TD[4] = TextDrawCreate(183.333374, 152.251876, "Apasa_pe_buto-~n~nul_RENT_pentru_a~n~inchiria_o_bicicleta~n~~n~_______PRET_100$");
        TextDrawLetterSize(Rent_TD[4], 0.400000, 1.600000);
        TextDrawAlignment(Rent_TD[4], 1);
        TextDrawColor(Rent_TD[4], -1);
        TextDrawSetShadow(Rent_TD[4], 0);
        TextDrawBackgroundColor(Rent_TD[4], 255);
        TextDrawFont(Rent_TD[4], 1);
        TextDrawSetProportional(Rent_TD[4], 1);
    
    
    CMD:rent(playerid, params[])
    {
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        if(!IsPlayerInRangeOfPoint(playerid, 2.0, 2275.7969,-84.5570,26.5145)){
            SendClientMessage(playerid, 0xff0000FF, "Nu esti la locatia potrivita !");
            DisablePlayerCheckpoint(playerid);
            SetPlayerCheckpoint(playerid, 2275.7969,-84.5570,26.5145, 3.0);
            return 1;
        }
        TextDrawShowForPlayer(playerid, Rent_TD[2]);
        TextDrawShowForPlayer(playerid, Rent_TD[3]);
        TextDrawShowForPlayer(playerid, Rent_TD[4]);
        SelectTextDraw(playerid, COLOR_YELLOW);
        return 1;
    }

    Adica vreau ca playerul sa scrie /rent si sa apara mousul si sa de-a click pe RENT ! Dar nu merge sa de-a click pe textdraw-ul RENT

  5. public OnPlayerConnect(playerid)
        {
            new name[MAX_PLAYER_NAME], file[256];
             GetPlayerName(playerid, name, sizeof(name));
             format(file, sizeof(file), SAVE, name);
             if(!dini_Exists(file))
             {
             ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Salut, nu ai un cont!", "Te rog scrie o parola !", "Register", "Inchide");
             TextDrawShowForPlayer(playerid, TDEditor_TD[7]);
             TextDrawShowForPlayer(playerid, TDEditor_TD[8]);
                format(ReportText[playerid], 256, "None");
                PlayerInfo[playerid][pFier] = FierVechi[playerid];
            UpdateSpeed[playerid] = false;
            SpdObj[playerid][0] = INVALID_OBJECT_ID;
            SpdObj[playerid][1] = INVALID_OBJECT_ID;
            PlayerJob[playerid] = 0;
            Checkpoint[playerid] = 0;
            JobVehicle[playerid] = 0;
            JobWorking[playerid] = 0;
            PlayerJob1[playerid] = 0;
            Checkpoint1[playerid] = 0;
            JobVehicle1[playerid] = 0;
            JobWorking1[playerid] = 0;
            PlayerJob2[playerid] = 0;
            Checkpoint2[playerid] = 0;
            JobVehicle2[playerid] = 0;
            JobWorking2[playerid] = 0;
            CursaCheckpoint[playerid] = 0;
            CursaCar[playerid] = 0;
            Report[playerid] = 0;
            masinaadmin[playerid] = 0;
            Event[playerid] = 0;
            pEvent[playerid] = 0;
            Gift[playerid] = 0;
            GiftC[playerid] = 0;
            Bonus[playerid] = 0;
            SpecialQuest[playerid] = 0;
            SpecialQuestCheckpoint[playerid] = 0;
            Salutare[playerid] = 0;
            DrivingCheckpoint[playerid] = 0;
            MasinaDMV[playerid] = 0;
            fPolitie[playerid] = 0;
            fMedic[playerid] = 0;
            fTaxi[playerid] = 0;
            fProTv[playerid] = 0;
            IsInCar[playerid] = 0;
            gPlayerLogged[playerid] = 0;
        }
             if(fexist(file))
        {
             if(PlayerInfo[playerid][pBan] == 1){
              SendClientMessage(playerid, 0xff0000FF, "Esti Banat !");
              Kick(playerid);
              return 1;
             }
              ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "Salut, ai deja un cont!", "Te rog scrie parola !", "Login", "Inchide");
              TextDrawShowForPlayer(playerid, TDEditor_TD[0]);
                 TextDrawShowForPlayer(playerid, TDEditor_TD[1]);
                 format(ReportText[playerid], 256, "None");
                 PlayerInfo[playerid][pFier] = FierVechi[playerid];
             UpdateSpeed[playerid] = false;
             SpdObj[playerid][0] = INVALID_OBJECT_ID;
             SpdObj[playerid][1] = INVALID_OBJECT_ID;
             PlayerJob[playerid] = 0;
             Checkpoint[playerid] = 0;
             JobVehicle[playerid] = 0;
             JobWorking[playerid] = 0;
             PlayerJob1[playerid] = 0;
             Checkpoint1[playerid] = 0;
             JobVehicle1[playerid] = 0;
             JobWorking1[playerid] = 0;
             PlayerJob2[playerid] = 0;
             Checkpoint2[playerid] = 0;
             JobVehicle2[playerid] = 0;
             JobWorking2[playerid] = 0;
             CursaCheckpoint[playerid] = 0;
             CursaCar[playerid] = 0;
             Report[playerid] = 0;
             masinaadmin[playerid] = 0;
             Event[playerid] = 0;
             pEvent[playerid] = 0;
             Gift[playerid] = 0;
             GiftC[playerid] = 0;
             Bonus[playerid] = 0;
             SpecialQuest[playerid] = 0;
             SpecialQuestCheckpoint[playerid] = 0;
             Salutare[playerid] = 0;
             DrivingCheckpoint[playerid] = 0;
             MasinaDMV[playerid] = 0;
             fPolitie[playerid] = 0;
             fMedic[playerid] = 0;
             fTaxi[playerid] = 0;
             fProTv[playerid] = 0;
             IsInCar[playerid] = 0;
             gPlayerLogged[playerid] = 0;
        }
              return 1;
    }

    https://imgur.com/a/A0OLICb

  6. public OnPlayerConnect(playerid)
        {
        new string[256], nume[MAX_PLAYER_NAME];
        GetPlayerName(playerid, nume, sizeof(nume));
        format(string, sizeof(string), "%s s-a conectat!", nume);
        print(string);
        PlayerInfo[playerid][pFier] = FierVechi[playerid];
        UpdateSpeed[playerid] = false;
        SpdObj[playerid][0] = INVALID_OBJECT_ID;
        SpdObj[playerid][1] = INVALID_OBJECT_ID;
        PlayerJob[playerid] = 0;
        Checkpoint[playerid] = 0;
        JobVehicle[playerid] = 0;
        JobWorking[playerid] = 0;
        PlayerJob1[playerid] = 0;
        Checkpoint1[playerid] = 0;
        JobVehicle1[playerid] = 0;
        JobWorking1[playerid] = 0;
        PlayerJob2[playerid] = 0;
        Checkpoint2[playerid] = 0;
        JobVehicle2[playerid] = 0;
        JobWorking2[playerid] = 0;
        CursaCheckpoint[playerid] = 0;
        CursaCar[playerid] = 0;
        Report[playerid] = 0;
        masinaadmin[playerid] = 0;
        Event[playerid] = 0;
        pEvent[playerid] = 0;
        Gift[playerid] = 0;
        GiftC[playerid] = 0;
        Bonus[playerid] = 0;
        SpecialQuest[playerid] = 0;
        SpecialQuestCheckpoint[playerid] = 0;
        Salutare[playerid] = 0;
        DrivingCheckpoint[playerid] = 0;
        MasinaDMV[playerid] = 0;
        fPolitie[playerid] = 0;
        fMedic[playerid] = 0;
        fTaxi[playerid] = 0;
        fProTv[playerid] = 0;
        IsInCar[playerid] = 0;
        format(ReportText[playerid], 256, "None");
        TextDrawShowForPlayer(playerid, TDEditor_TD[0]);
        TextDrawShowForPlayer(playerid, TDEditor_TD[1]);
        gPlayerLogged[playerid] = 0;
        new name[MAX_PLAYER_NAME], file[256];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SAVE, name);
        if (!dini_Exists(file))
        {
            ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Salut, nu ai un cont!", "Te rog scrie o parola !", "Register", "Inchide");
        }
        if(fexist(file))
        {
            ShowPlayerDialog(playerid, Login, DIALOG_STYLE_INPUT, "Salut, ai deja un cont!", "Te rog scrie parola !", "Login", "Inchide");
        }
        return 1;


    }

  7. 1 hour ago, Banditul said:

    Presupun ca este vorba despre verificarea daca jucatorul foloseste o masina de taxi. Ambele variante sunt corecte si ar trebui sa functioneze.

    Intrebarea este, cTaxi[0] cTaxi[1] cTaxi[2] contin masina de taxi? Aici ma refer la

    cTaxi[0] = CreateVehicle(...)/AddStaticVehicle(...);

    Pentru ca daca nu ai asa ceva in codul tau nu o sa functioneze.

    Bonus:

    Trebuie pus dupa sscanf, pentru ca daca il ai inainte de sscanf variabila id este 0 si nu contine inca id playerului dorit.

    Aia dupa sscanf o stiam, dar am facut in graba ! Uite si cum am facut si cTaxi[0] ! https://imgur.com/a/mV1PgGA

  8. CMD:cursataxi(playerid, params[])
    {
        new id, bani, string[256], string1[256], name[MAX_PLAYER_NAME], name1[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        GetPlayerName(id, name1, sizeof(name1));
        if(sscanf(params, "ud", id, bani)) return SendClientMessage(playerid, SYNTAX, "/cursataxi <playerid/name> <amount>");
        new Float:x, Float:z, Float:y;
        GetPlayerPos(id, Float:x, Float:y, Float:z);
        if(fTaxi[playerid] == 0) return SendClientMessage(playerid, 0xff0000FF, "Nu esti din factiunea 'Taxi' !");
        if(!IsPlayerInVehicle(playerid, cTaxi[0])) return SendClientMessage(playerid, 0xff0000FF, "Nu esti in masina de taxi !");
        if(!IsPlayerInVehicle(playerid, cTaxi[1])) return SendClientMessage(playerid, 0xff0000FF, "Nu esti in masina de taxi !");
        if(!IsPlayerInVehicle(playerid, cTaxi[2])) return SendClientMessage(playerid, 0xff0000FF, "Nu esti in masina de taxi !");
        if(!IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z)) return SendClientMessage(playerid, 0xff0000FF, "Nu esti langa acel player!");
        if(GetPlayerMoney(id) < bani) return SendClientMessage(playerid, 0xff0000FF, "Acel player nu are suficienti lei pentru a platii cursa!");
        if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SCM(playerid, 0xff0000FF, "Acel jucator nu este conectat!");
        format(string, sizeof(string), "Iai oferit o cursa lui %s, pentru %d lei!", name1, bani);
        SendClientMessage(playerid, 0x00aeffFF, string);
        format(string1, sizeof(string1), "Taximetristul %s ti-a oferit o cursa pe %d lei!", name, bani);
        SendClientMessage(playerid, 0x10d4deff, string);
        GivePlayerMoney(id, -bani);
        GivePlayerMoney(playerid, bani);
        return 1;
    }
    
    
    
    
    
    VREAU SA MENTIONEZ CA AM INCERCAT SI ASA
    
    
    CMD:cursataxi(playerid, params[])
    {
        new id, bani, string[256], string1[256], name[MAX_PLAYER_NAME], name1[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        GetPlayerName(id, name1, sizeof(name1));
        if(sscanf(params, "ud", id, bani)) return SendClientMessage(playerid, SYNTAX, "/cursataxi <playerid/name> <amount>");
        new Float:x, Float:z, Float:y;
        GetPlayerPos(id, Float:x, Float:y, Float:z);
        if(fTaxi[playerid] == 0) return SendClientMessage(playerid, 0xff0000FF, "Nu esti din factiunea 'Taxi' !");
        if(GetPlayerVehicleID(playerid) != cTaxi[0] || GetPlayerVehicleID(playerid) != cTaxi[1] || GetPlayerVehicleID(playerid) != cTaxi[2]) return SendClientMessage(playerid, 0xff0000FF, "Nu esti in masina de taxi!");
        if(!IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z)) return SendClientMessage(playerid, 0xff0000FF, "Nu esti langa acel player!");
        if(GetPlayerMoney(id) < bani) return SendClientMessage(playerid, 0xff0000FF, "Acel player nu are suficienti lei pentru a platii cursa!");
        if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SCM(playerid, 0xff0000FF, "Acel jucator nu este conectat!");
        format(string, sizeof(string), "Iai oferit o cursa lui %s, pentru %d lei!", name1, bani);
        SendClientMessage(playerid, 0x00aeffFF, string);
        format(string1, sizeof(string1), "Taximetristul %s ti-a oferit o cursa pe %d lei!", name, bani);
        SendClientMessage(playerid, 0x10d4deff, string);
        GivePlayerMoney(id, -bani);
        GivePlayerMoney(playerid, bani);
        return 1;
    }



     

  9. 2 hours ago, Banditul said:

    In primul rand acele array cu MAX_PLAYERS sunt inutile deoarece toate acele variabile pe care le creezi sunt sterse din memorie in momentul in care comanda atinge ultima acolada.

    In al doilea rand, functia GetPlayerHealth nu returneaza o valoare ci o paseaza prin referinta ceea ce inseamna ca hp tau corect se afla in variabilele: viata viata2 (udne era necesar doar o singura variabila)

    Voiam sa iti repar comanda da codul ala e atat de greu de citit si inteles.

    CMD:heal(playerid, params[])
    {
        if(fMedic[playerid] == 0) return SendClientMessage(playerid, 0xff0000FF, "Nu faci parte din factiunea 'Medic' !");
    
        new id, hp;
        if(sscanf(params, "ud", id, hp)) return SendClientMessage(playerid, 0x00aeffFF, "/healp <playerid/name> <amount>");
        if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SCM(playerid, 0xff0000FF, "Acel jucator nu este conectat!");
    
        new Float:x, Float:y, Float:z;
        GetPlayerPos(id, x, y, z);
        if(!IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z)) return SendClientMessage(playerid, 0xff0000FF, "Nu esti langa acel player!");
        if(GetPlayerMoney(id) < hp*2) return SendClientMessage(playerid, 0xff0000FF, "Acel jucator nu are suficienti lei, pentru acel hp!");
    
        new viata;
        GetPlayerHealth(id, viata);
        if(viata >= 100) return SendClientMessage(playerid, 0xff0000FF, "Acel jucator are deja viata maxima!");
    
        new name[MAX_PLAYER_NAME], name1[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        GetPlayerName(id, name1, sizeof(name1));
    
        format(string, sizeof(string), "Iai oferit lui %s %d heal!", name1, hp);
        SendClientMessage(playerid, 0x00aeffFF, string);
    
        format(string2, sizeof(string2), "Medicul %s ti-a oferit %d heal, iar tu l-ai platit!", name, hp);
        SendClientMessage(id, 0x00aeffFF, string2);
    
        new pay;
        pay = hp*2;
    
        GivePlayerMoney(id, -pay);
        GivePlayerMoney(playerid, hp * 2);
        SetPlayerHealth(id, viata+hp);
    
        return 1;
    }

    Poate asa iti este mai usor sa urmaresti logica comenzi. Am incercat sa separ comanda in pasi mai logici.

    Mersi frumos ! Sunt la inceput si de ieri am inceput sa inteleg unpic sscanf ! 

  10. CMD:heal(playerid, params[])
    {
        new id, hp, Float:viata, Float:viata2, string[256], string2[256], name1[MAX_PLAYER_NAME], viata3[MAX_PLAYERS], name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        if(fMedic[playerid] == 0) return SendClientMessage(playerid, 0xff0000FF, "Nu faci parte din factiunea 'Medic' !");
        if(sscanf(params, "ud", id, hp)) return SendClientMessage(playerid, 0x00aeffFF, "/healp <playerid/name> <amount>");
        if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SCM(playerid, 0xff0000FF, "Acel jucator nu este conectat!");
        GetPlayerName(id, name1, sizeof(name1));
        GetPlayerHealth(id, viata);
        new Float:x, Float:y, Float:z;
        GetPlayerPos(id, x, y, z);
        if(!IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z)) return SendClientMessage(playerid, 0xff0000FF, "Nu esti langa acel player!");
        if(GetPlayerMoney(id) < hp*2) return SendClientMessage(playerid, 0xff0000FF, "Acel jucator nu are suficienti lei, pentru acel hp!");
        viata3[playerid] = GetPlayerHealth(id, viata2);
        if(viata3[playerid] >= 100) return SendClientMessage(playerid, 0xff0000FF, "Acel jucator are deja viata maxima!");
        format(string, sizeof(string), "Iai oferit lui %s %d heal!", name1, hp);
        SendClientMessage(playerid, 0x00aeffFF, string);
        format(string2, sizeof(string2), "Medicul %s ti-a oferit %d heal, iar tu l-ai platit!", name, hp);
        SendClientMessage(id, 0x00aeffFF, string2);
        new pay[MAX_PLAYERS];
        pay[playerid] = hp*3;
        GivePlayerMoney(id, -pay[playerid]);
        GivePlayerMoney(playerid, hp * 2);
        SetPlayerHealth(id, viata+hp);
        return 1;
    }

  11. 41 minutes ago, Banditul said:

    In cazul conditiei tale daca amenda este 2000$ si playerul detine 2001$ sau 1999$ rezultatul va fi pozitiv si anume acel mesaj fi afisat. Doar in cazul amenda si bani jucatorului sunt 2000$ exact atunci rezultatul e negativ si comanda continua.

    Poate ai prefera sa ai

    if(GetPlayerMoney(id) < amenda) return SendClientMessage(playerid, 0xff0000FF, "Acel jucator nu are suficienti lei pentru a platii amenda!");

    Caz in care daca jucatorul are mai putini bani decat amenda va afisa mesajul

    Mersi frumos! +1

  12. Salut ! Nu merge o verificare ! Daca acel player, are acei bani, ii ofera mesajul "Acel jucator nu are suficienti lei pentru a platii amenda" ! Ce am facut gresit ?


    CMD:amenda(playerid, params[])
    {
        new id, amenda, string[256], Float:x, Float:y, Float:z, name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        GetPlayerPos(id, x, y, z);
        if(fPolitie[playerid] == 0) return SendClientMessage(playerid, RED, "Nu esti din factiunea 'Politie' !");
        if(sscanf(params, "ud", id, amenda)) return SendClientMessage(playerid, 0xff0000FF, "/amenda <playerid/name> <amount>");
        if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SCM(playerid, 0xff0000FF, "Acel jucator nu este conectat!");
        if(!IsPlayerInRangeOfPoint(playerid, 2.0, x, y ,z)) return SendClientMessage(playerid, 0xff0000FF, "Nu esti langa acel player!");
        if(GetPlayerMoney(id) != amenda) return SendClientMessage(playerid, 0xff0000FF, "Acel jucator nu are suficienti lei pentru a platii amenda!");
        GivePlayerMoney(id, -amenda);
        format(string, sizeof(string), "Ai fost amendat de politistul %s!", name);
        SendClientMessage(id, 0x00aeffFF, string);
        return 1;
    }

  13. On 11/19/2021 at 2:10 PM, Banditul said:

    Dini este mai mult decat antic dar ca sa salvezi date in fisierul jucatorului trebuie sa te folosesti de functia dini_IntSet(filename[],key[],value); eventual ce vei dori sa faci in comanda este ceva de genul

    if (dini_Exists(file))
    {
    	dini_IntSet(file, "Bonus", 1);
    }

    Unde file este calea ta catre fisierul jucatorului, ex: Account/GamerulFOX.ini (adica in folderul scriptfiles care contine folderul Account) dar asta depinde de implementatia pe care o ai deja facuta iar in loc de "Bonus" e posibil sa fi definit tu deja altceva. Acuma eventual poti avea poate

    PlayerInfo[playerid][Bonus] = 1;
    if (dini_Exists(file))
    {
    	dini_IntSet(file, "Bonus", PlayerInfo[playerid][Bonus]);
    }

    Daca voiai un exemplu concret cu comanda pe care deja o ai poti oferi data viitoare codul pe care ai incercat sa il faci astfel incat sa ai un exemplu mai bun decat cateva lini de cod

    Mersi, dar cum pot creea fișierul GamerulFOX.ini  ?

  14. 26 minutes ago, Banditul said:
    new CollectTime[MAX_PLAYERS];
    
    CMD:collect(playerid, params[])
    {
    	if (CollectTime[playerid] > gettime())
    	{
    		new message[30];
    		format(message, sizeof message, "Timp ramas %i minute.", (CollectTime[playerid] - gettime()) / 60 );
    		SendClientMessage(playerid, message);
    	}
    	GivePlayerMoney(playerid, 25000);
    	CollectTime[playerid] = gettime() + 15 * 60; 
    }

    O idee de baza. Singura problema fara a avea o stocare persistenta pentru acea valoare (fara baza de date/ etc) playerul poate pur si simplu sa se reconecteze si sa foloseasca comanda la infinit

    bro deci in primul rand, ai uitat de return 1; la un sendclientmessage ai uitat de culoare si nu merge cum am spus eu ! Deci un player a intrat pe server si da /collect da eroare "Poti folosi aceasta comanda in %i  minute!" si dupa ce face acel timp poate sa de-a ! Adica daca da reconnect sa ia din nou "Timer-ul" de la inceput!

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