Jump to content

Rayan

Membru
  • Posts

    198
  • Joined

  • Last visited

Posts posted by Rayan

  1. Acum 28 minute, Banditul a spus:

    A stai asa atunci , trebuia sa ma gandesc mai devreme

    
    format(query, sizeof(query), "SELECT * FROM `emails` WHERE `playerid` = %d AND `EmailRead` = 0 ORDER BY `ID` DESC LIMIT 20

    Si asa selecteaza doar emailurile necitite

    Merge, insa imi apar doar mesajele necitite, eu vreau gen sa arate ca primele mesaje fiind cele necitite si dupa mai jos de ele sa fie cele citite

    ceva de genu:

    	[NECTITI] ai primit wanted 4
    	[NECTITI] ai fost dat afara din factiune
    	[CITIT] ai acceptat invitatia lui Alex in factiunea LSPD.

  2. Acum 8 minute, Banditul a spus:
    
    format(query, sizeof(query), "SELECT * FROM `emails` WHERE `playerid` = '%d' ORDER BY `ID` DESC LIMIT 10

    In:

    
    format(query, sizeof(query), "SELECT * FROM `emails` WHERE `playerid` = %d ORDER BY `ID` DESC LIMIT 20 // primele 20

    Si ca sa afiseze mai multe modifici doar acel limit

    Da stiu asta, insa daca are mai multe email-uri necitite decat cate poate sa arate /emails? gen pot pune 20 si daca are 21? 1 ii ramane necitita si il tot spameaza* acel timer la 2 min (asa am setat) ca atunci cand are un email nou sa ii dea un mesaj "You have a new email, use /email".

    Faza e ca as vrea sa stiu cum as putea face sa arate mai mesajele necitite si dupa cele necitite sa fie cele sortate dupa ID(adica ultimele trimise citite)

  3. Salut, am o problema la /emails, faza este ca atunci cand un jucator primeste un email il are ca necitit, insa, daca gen primeste 11 email-uri noi (si sunt 11 necitite) in /emails arata doar primele 10 sortate dupa ID, faza e ca le face pe toate cele 10 citite, insa mai ramane 1 de citit insa nu il poate selecta deoarece in lista de /emails apar doar primele 10.

    Cum as putea face ca atunci cand dai /emails sa iti arate mai intai mesajele necitite si mai jos de ele cele citite sortate dupa ID?

    CMD:email(playerid, params[])
    {
        if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to log in first.");
        if(IsPlayerConnected(playerid))
        {
            new result[300],message[300],string[5000],read,message2[100],finalmessage[100],query[500],emailid,idd=0;
            format(query, sizeof(query), "SELECT * FROM `emails` WHERE `playerid` = '%d' ORDER BY `ID` DESC LIMIT 10", PlayerInfo[playerid][pSQLID]);
            new Cache: emailresult = mysql_query(SQL, query);
            if(cache_get_row_count() > 0)
            {
                for(new i, j = cache_get_row_count (); i != j; ++i)
                {
                    cache_get_field_content(i, "Message", result); format(message, sizeof(message), result);
                    read                    = cache_get_field_content_int(i, "EmailRead");
                    emailid                 = cache_get_field_content_int(i, "ID");
                    EmailId[playerid][idd] = emailid;
                    idd++;
                    if(strlen(message) > 49)
                    {
                        strmid(message2, message, 0, 50, sizeof(message2));
                          format(finalmessage,sizeof(finalmessage), "%s...",message2);
                    }
                        if(read > 0)
                    {
                        if(PlayerInfo[playerid][pLanguage] == 2)
                        {
                            format(string, sizeof(string), "%s[NECITIT]%s\n", string, finalmessage);
                        }
                        else
                        {
                            format(string, sizeof(string), "%s[UNREAD]%s\n", string, finalmessage);
                        }
                    }
                    else
                    {
                        format(string, sizeof(string), "%s%s\n", string, finalmessage);
                    }
                }
            }
            else return SendClientMessage(playerid, COLOR_WHITE, "You don't have a email!");
            cache_delete(emailresult);
            ShowPlayerDialog(playerid,DIALOG_EMAILS,DIALOG_STYLE_LIST,"Emails",string,"Read","Exit");
        }
        return 1;
    }
  4. La 11/6/2017 la 22:53, Mister a spus:

    De ce nu copiezi acele textdrawuri care tu zici ca iti merg? doar schimbi numele

    Il am in alta parte gen pe asta de la payday apare in stanga iar celalalt e pt joburi (in dreapta). Respectivu e pt playeri iar asta pt payday e global, insa nu inteleg ce e gresit, asa am si la celelalte TextDrawUseBox pe true si nu stiu ce are, textul nu apare deloc. am incercat si asa 

    iar textul nu apare deloc, e invizibil practic

    format(string3, sizeof(string3), "~w~payday arrived");
                        TextDrawSetString(boxPAYDAY, string3);
                        TextDrawShowForPlayer(i, boxPAYDAY);

  5. Salut, am incercat sa fac un box pentru payday, insa cand incerc sa scriu un mesaj sa setez un string nu merge..nu apare textul, apare doar box-ul gol.

    format(string, sizeof(string), "Bani: $%s~n~Interes: $%s", Form(bani), Form(interes));
    	TextDrawSetString(boxPAYDAY, string);
                        TextDrawShowForPlayer(i, boxPAYDAY);
  6. La 10/14/2017 la 19:48, Banditul a spus:

    Pai nu ti se conecteaza la MySQL. Ma pot gandi la 2 lucruri:

    Nu-ti porneste mysql din xampp(sau ce ai tu)

    Sau ai gresit datele de conectare(cel mai putin probabil)

    le am conectate, corect, deoarece pot intra pe server, pot face orice, insa imi apar acele errori in server_log.

  7. Salut, tot primesc anumite errori legate de MySQL in server_log, chiar nu inteleg de ce primesc aceste errori.

     

    server_log:

    [18:16:15] Error ID: 2003, Error: Can't connect to MySQL server on 'localhost' (10061)
    [18:16:15] Callback: 
    [18:16:15] gQuery: DELETE FROM `timeplayed` WHERE `unixtime` < '1502723773'
    [18:16:15] ====================================================================
    [18:16:17] ====================================================================
    [18:16:17] Error ID: 2003, Error: Can't connect to MySQL server on 'localhost' (10061)
    [18:16:17] Callback: 
    [18:16:17] gQuery: DELETE FROM `antifraudaraport` WHERE `time` < '1507907773'
    [18:16:17] ====================================================================
    [18:16:19] ====================================================================
    [18:16:19] Error ID: 2003, Error: Can't connect to MySQL server on 'localhost' (10061)
    [18:16:19] Callback: 
    [18:16:19] gQuery: UPDATE `blockedaccounts` SET `unblock`='0',`key`='',`linkexpire`='0' WHERE `unblock` < '1507648573'
    [18:16:19] ====================================================================
    [18:16:21] ====================================================================
    [18:16:21] Error ID: 2003, Error: Can't connect to MySQL server on 'localhost' (10061)
    [18:16:21] Callback: 
    [18:16:21] gQuery: UPDATE `blockedaccounts` SET `linkexpire`='0',`key`='' WHERE `linkexpire` < '1507907773'
    [18:16:21] ====================================================================
    [18:16:47] [part] RedGun has left the server (0:1)
    [18:16:49] ====================================================================
    [18:16:49] Error ID: 2003, Error: Can't connect to MySQL server on 'localhost' (10061)
    [18:16:49] Callback: 
    [18:16:49] gQuery: UPDATE `users` SET `CarLic`='1',`FlyLic`='1',`BoatLic`='1',`GunLic`='1',`CarLicT`='495',`FlyLicT`='495',`BoatLicT`='495',`GunLicT`='495',`Rob`='23',`Jailed`='0',`HitT`='0',`Muted`='0',`MuteTime`='0' WHERE `name`='RedGun'
    [18:16:49] ====================================================================

     

  8. Acum 15 ore, StR_Marian a spus:

    De ce incerci sa iti salvezi hp/armura ? tu esti o fantoma find spec nu este nevoie sa fie salvat hp/armura si la coordonate fa in DB sa ramana salvat coordonatele dupa ce dai spec altfel daca dai pe a doua persoana salveaza datele de la ultima persoana ... adica daca tu esti in fata la LSPD si prima persoana ce dai spec este in SF si dupa dai pe o alta ce este in LV tie iti ia coordonatele de la persoana din SF, si in asa fel cu crearea coordonatelor in DB atunci cand dai /spec se salveaza si cand dai /specoff sau pe butonul ALT iti da coordonatele ce le-ai avut de la bun inceput si se sterg cand dai specoff.

    Nu man, inainte sa ma puna spectator verifica daca sunt sau nu spectate pe cineva, daca nu sunt adica pSpectate[playerid] == -1 (nu sunt spec) imi salveaza coordonatele, ex: nu sunt Spectate, dau /spec 1 imi salveaza pozitia mea, nu la jucator, dupa daca nu ies din spec si dau spectate pe altcineva /spec 2 (cum am zis mai devreme, nu imi salveaza pozitia daca sunt deja spec pe cineva), si dupa cand dau ALT ma da la pozitia salvata din primul spec.

    Sunt LSPD, dau /spec 1 el e la Paramedic SF, dau /spec 2 el e LV, dau ALT ma da LSPD (unde eram initial), insa problema e ca caotedata nu ma da la pozitia salvata, ma da la spawn.

  9. La 10/9/2017 la 16:25, Banditul a spus:

    Pentru ca tu incerci sa salvezi intr-o variabila o functie care de fapt intoarce o valoare prin referinta

    http://wiki.sa-mp.com/wiki/GetPlayerHealth

    Trebuie sa pui acel BeforeSpectacting in GetPlayerHealth pentru ca tu vei avea mereu 1 in acea variabila pentru ca functia intoarce  1 daca a putut lua viata...

    Si nu ai la specoff SetPlayerPos si etc(ca sa seteze pozitia veche) sau nu vad la specoff ca dai (re)spawn la player ca sa fie chemata functia OnPlayerSpawn...

    adica ceva de genul?

    GetPlayerHealth(playerid, BeforeSpectate[playerid][pHealth]);
        GetPlayerArmour(playerid, BeforeSpectate[playerid][pArmour]);

  10. Salut, cateodata pe server cand dau ALT sa ma pun Spec OFF inloc sa ma dea in pozitia salvata (atunci cand dau /spec [id] inainte sa ma puna spec imi salveaza locatia) cateodata imi da spawn si nu ma mai teleporteaza in locatia salvata.

     

    Si am facut sa mi se salveze Hp-ul si Armura, insa la fel, cand dau spec off nu imi pune HP-ul si Armura pe care i-am avut initial. (imi pune HP 1 si Armura 1)

     

    OnPlayerSpawn: https://pastebin.com/47rPrz58

    Cand salvez la /spec pozitia la jucator: https://pastebin.com/CmkLdhfL

    Si Spec OFF de pe ALT: https://pastebin.com/71hYNUyu

  11. Acum 4 ore, 97fresh a spus:
    
    IsPlayerInRangeOfPoint(playerid, Float:range, Float:x, Float:y, Float:z)

     

    ai incercat sa maresti raza la    if(!IsPlayerInRangeOfPoint(playerid, 1, 1552.5898, -1683.4698, 13.5504))  ??

    in loc de 1 sa pui de ex 5?

     

     

    Da, am pus ei 30 si degeaba. trebuie sa fi in dozator la propriu ca sa functioneze

  12. Am incercat sa modific locatia unde sa se execute OnPlayerUseVendinMachine, insa nu merge, ca sa folosesc dozatorul trebuie sa fiu in el practic, nu in fata lui. Am incercat sa sterg si IsPlayerInDynamicArea insa tot nu merge. trebuie sa fiu practic in locul unde el pozitionat X,Y,Z, nu in fata lui.

    Folosesc include-ul vending.inc

    Cum pot rezolva?

    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
        if((newkeys & KEY_SECONDARY_ATTACK) && (GetPlayerAnimationIndex(playerid) != 1660))
        {
            for(new i; i < MAX_MACHINES; i++)
            {
                if(!IsValidVendingMachine(i))
                    continue;
    	            #if defined Streamer_IncludeFileVersion
                if(!IsPlayerInDynamicArea(playerid, g_eVendingData[i][E_VENDING_AREA]))
                    continue;
                #else
                new Float:x, Float:y;
                GetXYInFrontOfVending(i, x, y, 0.5);
                if(!IsPlayerInRangeOfPoint(playerid, 1, 1552.5898, -1683.4698, 13.5504))
                    continue;
                #endif
    	            SetPlayerFacingAngle(playerid, g_eVendingData[i][E_VENDING_RZ]);
                if(OnPlayerUseVendingMachine(playerid, i) != 0)
                {
                    if(g_eVendingData[i][E_VENDING_TYPE] == MACHINE_SNACK) {
                        ApplyAnimation(playerid, "FOOD", "EAT_Burger", 3.0, 0, 0, 0, 0, 0, 1);
                        PlayerPlaySound(playerid, 42601, 0.0, 0.0, 0.0);
                    }
                    else {
                        ApplyAnimation(playerid, "VENDING", "VEND_USE", 3.0, 0, 0, 0, 0, 0, 1);
                        PlayerPlaySound(playerid, 42600, 0.0, 0.0, 0.0);
                        SetTimerEx("OnAnimationDrink", 1800, false, "i", playerid);
                    }
    	                #if !defined NO_SPRUNK_ACTION
                    if(g_eVendingData[i][E_VENDING_TYPE] == MACHINE_SPRUNK) SetTimerEx("ven_SetPlayerAnimation", 2500, false, "i", playerid);
                    #endif
                }
                else ClearAnimations(playerid);
            }
        }
        #if !defined NO_SPRUNK_ACTION
        else if((newkeys & KEY_FIRE) && g_eLastDrink[playerid] < GetTickCount() && (GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_SPRUNK))
        {
            OnPlayerDrinkSprunk(playerid);
            g_eLastDrink[playerid] = GetTickCount() + 2350;
        }
        #endif
        #if defined inc_Ven_OnPlayerKeyStateChange
            return inc_Ven_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
        #else
            return 0;
        #endif
    }

  13. Acum 4 minute, webby a spus:
    
    format(gString, sizeof gString, "SELECT * FROM `crimes` WHERE `id` = '%d'", PlayerInfo[id][pSQLID]);

    Aici iti ia id-ul jucatorului, nu id-ul crimei.

    done am modificat cu format(gString, sizeof gString, "SELECT * FROM `mdc` WHERE `playerid` = '%d' ORDER BY `id`", PlayerInfo[id][pSQLID]);  si la fel problema de mai sus persista.

    ----

    crima e 'motiv' vad ca acum se insereaza problema e ca daca dau /su [nume] [wanted] [motiv] se creeaza in baza de date daca ID e primar (cheie) si daca e primar nu merge sa inserez mai multe, adica nu se insereaza daca ii dau /su de mai multe ori la jucator. Daca nu e primar 'id' se insereaza cu acelasi id, gen inloc sa puna id la tabel 1,2,3,4 pune 0,0,0 (doar daca id nu e primar, daca e primar se insereaza doar odata 0 si atat, 1,2,3 nu se mai insereaza)

     

    mysql_format(SQL, gString, sizeof gString, "INSERT INTO `crimes` (`playerid`, `motiv`, `declare`) VALUES ('%d', '%s', '%s')", PlayerInfo[playerid][pSQLID], motiv, declare);
        mysql_pquery(SQL, gString, "", "");
  14. Acum 28 minute, webby a spus:

    cum este definit id-ul crimei, in gamemode?

    crima e 'motiv' vad ca acum se insereaza problema e ca daca dau /su [nume] [wanted] [motiv] se creeaza in baza de date daca ID e primar (cheie) si daca e primar nu merge sa inserez mai multe, adica nu se insereaza daca ii dau /su de mai multe ori la jucator. Daca nu e primar 'id' se insereaza cu acelasi id, gen inloc sa puna id la tabel 1,2,3,4 pune 0,0,0 (doar daca id nu e primar, daca e primar se insereaza doar odata 0 si atat, 1,2,3 nu se mai insereaza)

     

    mysql_format(SQL, gString, sizeof gString, "INSERT INTO `crimes` (`playerid`, `motiv`, `declare`) VALUES ('%d', '%s', '%s')", PlayerInfo[playerid][pSQLID], motiv, declare);
        mysql_pquery(SQL, gString, "", "");

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