Jump to content

Marcel2

Membru
  • Posts

    7
  • Joined

  • Last visited

Posts posted by Marcel2

  1. Salut, voiam să vă intreb dacă există o modalitate de a număra caracterele unui text fără anumite caractere aflate intre nişte caractere specifice.

    Spre exemplu: {FFFFFF}Ex , are 10 caractere, dar aş dorii să nu pună la număr caracterele aflate intre {}, deci să fie in total doar 2 caractere.

    Aşa arată verificare pe care am făcut-o, dar după cum am spus, numara chiar şi ce se află intre {}:

    if(strlen(inputtext) < 5 || strlen(inputtext) > 10) ...

    Şi dacă se poate aş dorii şi un loc unde pot afla mai multe despre diferite "funcţii" dacă le pot spune aşa (nu cele de pe wiki - samp, asemanatoare "strlen")

     

  2. Acum 9 minute, [El.Capo] a spus:

    Inlocuieste DIALOG_UPGRADEVIP cu asta

            case DIALOG_UPGRADEVIP: {
                if(!response) return 1;
                new idd = GetPVarInt(playerid, "VehicleID");
                if(CarInfo[idd][Spawned] == 0) return SendClientMessage(playerid, COLOR_LGREEN, "Eroare: Vehiculul tau nu este spawnat!");
                if(valid_vip_vehicle(CarInfo[idd][cModel]) == 0) return SCM(playerid, COLOR_GREY, "Acest vehicul nu poate fi upgradat!");
                if(strlen(CarInfo[idd][cText]) > 3) return SCM(playerid, -1, "Acest vehicul este deja unul VIP!");
                if(PlayerInfo[playerid][pPremiumPoints] < 1008) return SCM(playerid, -1, "Nu ai destule puncte premium.");        
                if(IsABike2(CarInfo[idd][Spawned])) return SCM(playerid, COLOR_LGREEN, "Eroare: Nu poti upgrada acest vehicul!");
                PlayerInfo[playerid][pVIPTicket] -= 1;
                Update(playerid, pVIPTicketx);
                SCM(playerid, COLOR_YELLOW, "* Felicitari! Ti-ai upgradat cu succes vehiculul la unul VIP.");
                format(string, sizeof(string), "%s si-a upgradat vehiculul %s[id: %d] la unul VIP pentru 1xTicket VIP.", GetName(playerid), aVehicleNames[CarInfo[idd][cModel]-400], idd);
                InsertLog(playerid, string, LOG_SHOP);                
                format(string, sizeof(string), "UPDATE `cars` SET `Text`='%s' WHERE `ID`='%d'", GetName(playerid), idd);
                mysql_query(SQL, string);
                format(CarInfo[idd][cText], 32, GetName(playerid));
                attach_vip_text(idd);
                CarInfo[idd][cVIPcar] = 1;
                format(query, sizeof(query), "UPDATE `cars` SET `VIPcar`='1' WHERE `ID`='%d'", idd);
                mysql_query(SQL, query);
            }

    Da, asta era. Mersi, chiar nu m-am gândit să-i declar valoare 1, inate să o urc şi in baza de date. :))

    Am crezut că ar trebuii să o citească automat, odată ce e scrisă, the more you know. Thx.

    Cer T/C.

  3. Acum 45 minute, [El.Capo] a spus:

    arata dialogul 

    
    DIALOG_GARAGE

    si 

    
    DIALOG_GARAGE+1

            Pentru al 2-lea dialog ţi-am dat doar partea de inceput şi cazul pentru VIP, pentru că e un dialog destul de stufos.

    Spoiler
    
            case DIALOG_GARAGE: {
                if(!response) return 1;
                new idd;
                if(PlayerInfo[playerid][pCarKey][listitem] == 0) return 1;
                else idd = PlayerInfo[playerid][pCarKey][listitem];    
                sVehicle[5][playerid] = idd;    
                SetPVarInt(playerid, "VehicleSlot", listitem);                
                if(CarInfo[idd][Spawned] != 0) strcat(string,      "Vehicle Info\nFind Vehicle\nTow Vehicle (/park)\nTow Vehicle (last known location)\nDespawn\nDebug\nSell Vehicle\nBuy Insurance\nUpgrade to VIP Vehicle - {FFFF00}1xTiceket VIP{FFFFFF}\n{FF0000}Remove tuning");
                else if(CarInfo[idd][Spawned] == 0) strcat(string, "Vehicle Info\nFind Vehicle\nTow Vehicle (/park)\nTow Vehicle (last known location)\nSpawn vehicle\nDebug\nSell Vehicle\nBuy Insurance\nUpgrade to VIP Vehicle - {FFFF00}1xTiceket VIP{FFFFFF}\n{FF0000}Remove tuning");
                if(CarInfo[idd][Confiscated] == 1) strcat(string, "\n{FFFFFF}Pay fine to TTC");
                ShowPlayerDialog(playerid, DIALOG_GARAGE1, DIALOG_STYLE_LIST, "Options", string, "Ok", "Back");
            }

     

    Spoiler
    
            case DIALOG_GARAGE1: {
                if(!response) return ShowPlayerVehicle(playerid);
                new vsid = sVehicle[5][playerid];
                switch(listitem) {
    
                    case 8: {
                        if(CarInfo[vsid][Spawned] == 0) return SendClientMessage(playerid, COLOR_LGREEN, "Eroare: Vehiculul tau nu este spawnat!");
                        if(valid_vip_vehicle(CarInfo[vsid][cModel]) == 0) return SCM(playerid, COLOR_GREY, "Acest vehicul nu poate fi upgradat!");
                        if(strlen(CarInfo[vsid][cText]) > 3) return SCM(playerid, -1, "Acest vehicul este deja unul VIP!");
                        if(PlayerInfo[playerid][pVIPTicket] < 1) return SCM(playerid, -1, "Nu ai un Ticket VIP.");
                        SetPVarInt(playerid, "VehicleID", vsid);
                        ShowPlayerDialog(playerid, DIALOG_UPGRADEVIP, DIALOG_STYLE_MSGBOX, "Upgrade to VIP Vehicle", "Esti sigur ca vrei sa faci acest lucru?\nVei pierde 1xTicket VIP.", "Da", "Nu");
                    }

     

    Presupun că o să fie nevoie şi de acest dialog:

            

    Spoiler
    
            case DIALOG_UPGRADEVIP: {
                if(!response) return 1;
                new idd = GetPVarInt(playerid, "VehicleID");
                if(CarInfo[idd][Spawned] == 0) return SendClientMessage(playerid, COLOR_LGREEN, "Eroare: Vehiculul tau nu este spawnat!");
                if(valid_vip_vehicle(CarInfo[idd][cModel]) == 0) return SCM(playerid, COLOR_GREY, "Acest vehicul nu poate fi upgradat!");
                if(strlen(CarInfo[idd][cText]) > 3) return SCM(playerid, -1, "Acest vehicul este deja unul VIP!");
                if(PlayerInfo[playerid][pPremiumPoints] < 1008) return SCM(playerid, -1, "Nu ai destule puncte premium.");        
                if(IsABike2(CarInfo[idd][Spawned])) return SCM(playerid, COLOR_LGREEN, "Eroare: Nu poti upgrada acest vehicul!");
                PlayerInfo[playerid][pVIPTicket] -= 1;
                Update(playerid, pVIPTicketx);
                SCM(playerid, COLOR_YELLOW, "* Felicitari! Ti-ai upgradat cu succes vehiculul la unul VIP.");
                format(string, sizeof(string), "%s si-a upgradat vehiculul %s[id: %d] la unul VIP pentru 1xTicket VIP.", GetName(playerid), aVehicleNames[CarInfo[idd][cModel]-400], idd);
                InsertLog(playerid, string, LOG_SHOP);                
                format(string, sizeof(string), "UPDATE `cars` SET `Text`='%s' WHERE `ID`='%d'", GetName(playerid), idd);
                mysql_query(SQL, string);
                format(CarInfo[idd][cText], 32, GetName(playerid));
                attach_vip_text(idd);
                format(query, sizeof(query), "UPDATE `cars` SET `VIPcar`='1' WHERE `ID`='%d'", idd);
                mysql_query(SQL, query);
            }

     

     

  4. Dacă variabilia este schimbată in timp de serverul este pornit, aceasta se modifică in baza de date, dar pe joc nu se afişează corect.

    VIdeo cu problema: LINK

    Functia:

    Spoiler


    
    stock ShowPlayerVehicle(playerid) {
        new szTitle[180], szDialog[1300], szDialog2[1300], vstatus[1024];
        LoadPlayerCars(playerid);
        if(GetVehicles(playerid) == 0) return SendClientMessage(playerid, COLOR_LGREEN, "Eroare: Nu ai un vehicul personal!");
        format(szTitle, sizeof(szTitle), "Vehicles (%d/%d)", GetVehicles(playerid), TotalSlots(playerid));
        strcat(szDialog2, "Model\t\tStatus\t\tKM\t\tVIP\n");        
        for(new i = 0; i < 20; i++) {
            new car =  PlayerInfo[playerid][pCarKey][i];
            if(car != 0) {
                if(IsVehicleOccupied(CarInfo[car][Spawned])) format(vstatus, sizeof(vstatus), "%s\t\t{FFFF00}(Occupied){FFFFFF}\t\t%.2f\t%d", aVehicleNames[CarInfo[car][cModel]-400], CarInfo[car][KM], CarInfo[car][cVIPcar]);
                else if(CarInfo[car][Spawned] > 0) format(vstatus, sizeof(vstatus), "%s\t\t{26B309}(Spawned){FFFFFF}\t\t%.2f\t%d", aVehicleNames[CarInfo[car][cModel]-400], CarInfo[car][KM], CarInfo[car][cVIPcar]);
                else format(vstatus, sizeof(vstatus), "%s\t\t{FF0000}(Despawned){FFFFFF}\t\t%.2f\t%d", aVehicleNames[CarInfo[car][cModel]-400], CarInfo[car][KM], CarInfo[car][cVIPcar]);
                format(szDialog, sizeof(szDialog), "%s\n", vstatus);
                strcat(szDialog2, szDialog);
            }
            else strcat(szDialog2, "{FFD857}<slot liber>\n"), sVehicle[i][playerid] = 0;
        }
        ShowPlayerDialog(playerid, DIALOG_GARAGE, DIALOG_STYLE_TABLIST_HEADERS, szTitle, szDialog2, "Ok", "Exit");
        return 1;
    }
    


     

     

     

  5. Acum 39 minute, _alchemy a spus:

    Nu ti-as recomanda sa folosesti drept return o functie. Insereaza tot ce se afla in functie in comanda. Apoi, foloseste OnDialogResponse pentru dialogul DIALOG_SHOP.

    Am incercat, aceiaşi problemă.

  6. Cum poţi face upgrade de la versiunea de r38 la r41-4 mqsql?

    Am incercat să fac asta pe gamemode-ul  Saints-Network, dar sau schimbat multe funcţii din câte am văzut şi primesc multe erori pentru funcţii nedefinite.

    Ex:

    (2656) : error 017: undefined symbol "mysql_real_escape_string"
    (2658) : error 017: undefined symbol "mysql_queryg"
    (2659) : error 017: undefined symbol "mysql_store_result"
    (2660) : error 017: undefined symbol "mysql_num_rows"
    (2662) : error 017: undefined symbol "mysql_free_result"
    (2669) : error 017: undefined symbol "mysql_fetch_row"
    (2671) : error 017: undefined symbol "mysql_free_result"
    (2680) : error 017: undefined symbol "mysql_real_escape_string"
    (2683) : error 017: undefined symbol "mysql_store_result"
    (2684) : error 017: undefined symbol "mysql_num_rows"
    (2686) : error 017: undefined symbol "mysql_free_result"
    (2693) : error 017: undefined symbol "mysql_fetch_row"
    (2704) : error 017: undefined symbol "mysql_real_escape_string"
    (2707) : error 017: undefined symbol "mysql_store_result"
    (2708) : error 017: undefined symbol "mysql_num_rows"
    (2710) : error 017: undefined symbol "mysql_free_result"
    (2717) : error 017: undefined symbol "mysql_fetch_row"
    (2719) : error 017: undefined symbol "mysql_free_result"
    (4438) : error 017: undefined symbol "mysql_store_result"
    (4439) : error 017: undefined symbol "mysql_num_rows"
    (4447) : error 017: undefined symbol "mysql_free_result"
    (9343) : error 017: undefined symbol "mysql_store_result"

    Ştiu că-s puse de mai multe ori, dar am luat tot log-ul.

  7. Salut, am incercat să fac un shop pe dialog, cum este şi-n gamemode-ul Burned, problema fiind că dacă tastez comanda /shop aceasta nu face nimic şi iţi este trimis mesajul că comanda X nu există.

    Imagine (in-game):

     

    Precizez şi că gamemode-ul nu dă erori la compilare.

    Comanda:

    CMD:shop(playerid,params[]) return ShowShop(playerid);

    Functia:

    function ShowShop(playerid) {
    	new diamond = PlayerInfo[playerid][pDiamonds],
    		string[180], szDialog[4000];
    	strcat(szDialog, "{FFE100}($) Preturi si informatii{FFFFFF}\n");
    	if(diamond >= 500) format(string, sizeof(string), "Premium Account - {1ECC14}500 Diamondss\n");
    	else format(string, sizeof(string), "Premium account - {FF0000}500 Diamonds\n");
    	strcat(szDialog, string);
    	new title[180];
    	format(title, 256, "Shop: (%d diamonds)", diamond);
    	ShowPlayerDialog(playerid, DIALOG_SHOP, DIALOG_STYLE_LIST, title, szDialog, "Select", "Close");
    	return 1;
    }

     

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