Jump to content
  • 0

Problema Dialog


Maddo

Question

Salut, m am inspirat de pe acest forum de la o problema, cineva pusese aceasta comanda intr-un reply, si am zis sa o incerc si eu, chiar mi s a parut interesant.
ce face comanda ? Simplu, e o comanda de tip /updates, doar ca este dinamica, poti creea un update direct din joc, doar ca trebuie niste salvari in baza de date, iar eu nu ma prea pricep cu baza de date, ma poate ajuta si pe mine cineva la inserarea in tabelul updates din baza de date ? Cum sa pun alea cu INT si etc, astea sunt comenzile

CMD:updates(playerid, params[])
{
    new query[1000],versiune[128],updateid,vizionari,text[40][1000],rezultat[1000],query2[256],textafisare[2000],data[128], updateid2 = 0, updatetext[2000], updatedata[2000], updateversiune[2000];
    mysql_format(SQL, query, sizeof(query), "SELECT * FROM `updates` WHERE `ID` > '0'");
    new Cache: cache = mysql_query(SQL, query);
    if(cache_get_row_count() < 1) return SCM(playerid, COLOR_GREY, "Nu exista updateuri adaugate in lista.");
    for(new i, j = cache_get_row_count(); i != j; i++)
    {
        updateid = cache_get_field_content_int(i, "ID");
        vizionari = cache_get_field_content_int(i, "Vizionari");
        cache_get_field_content(i, "Versiune", rezultat); format(versiune, 128, rezultat);
        cache_get_field_content(i, "Data", rezultat); format(data, 128, rezultat);
        for(new a = 0; a < 40; a++)
        {
            format(query2, sizeof(query2), "Text%d",a);
            cache_get_field_content(i, query2,rezultat); format(text[a], 1000, rezultat);
            strcat(updatetext[a], text[a], 1000);
        }
        strcat(updatedata[updateid2], data, 128);
        strcat(updateversiune[updateid2], versiune, 128);
        updateid2++;
        if(updateid == 1) format(textafisare, sizeof(textafisare), "{0066FF}ID\t{FFFFFF}Versiune\t{0066FF}Data\t{FFFFFF}Vizionari\n{FFFFFF}Update {0066FF}# %d\t{FFFFFF}%s\t{0066FF}%s{FFFFFF}\t%d",updateid, versiune,data, vizionari);
        if(updateid > 1) format(textafisare, sizeof(textafisare), "%s\n{FFFFFF}Update {0066FF}# %d\t{FFFFFF}%s\t{0066FF}%s{FFFFFF}\t%d",textafisare,updateid,versiune,data, vizionari);
    }
    ShowPlayerDialog(playerid, DIALOG_UPDATES, DIALOG_STYLE_TABLIST_HEADERS, "SERVER: Updates", textafisare, "Seleteaza","Anuleaza");
    cache_delete(cache);
    return 1;
}
CMD:au(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 7)
    {
        new versiune[128],data[128],query[1000];
        if(sscanf(params, "s[128]", versiune)) return SCM(playerid, -1, "USAGE: /addupdate [nume versiune]");
        new year, month,day;
        getdate(year, month, day);
        format(data, sizeof(data), "%02d.%02d.%d",day,month,year);
        mysql_format(SQL, query, sizeof(query), "INSERT INTO `updates` (`Versiune`,`Data`) VALUES ('%s','%s')",versiune,data);
        mysql_tquery(SQL, query, "", "");
        SCM(playerid, -1, "{0066FF}UPDATE: {FFFFFF}Versiunea a fos adaugata cu succes.");
    }
    return 1;
}
CMD:aul(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 7)
    {
        new versiune[512],query[1000],linie,id;
        if(sscanf(params, "iis[128]", linie,id,versiune)) return SCM(playerid, -1, "USAGE: /addupdateline [linie (0-40)] [id] [descriere]");
        mysql_format(SQL, query, sizeof(query), "UPDATE `updates` SET `Text%d`='%s' WHERE `ID`='%d'",linie,versiune,id);
        mysql_tquery(SQL, query, "", "");
        SCM(playerid, -1, "{0066FF}UPDATE: {FFFFFF}Linia a fos adaugata cu succes.");
    }
    return 1;
}

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0
Acum 8 minute, Maddo a spus:

Salut, m am inspirat de pe acest forum de la o problema, cineva pusese aceasta comanda intr-un reply, si am zis sa o incerc si eu, chiar mi s a parut interesant.
ce face comanda ? Simplu, e o comanda de tip /updates, doar ca este dinamica, poti creea un update direct din joc, doar ca trebuie niste salvari in baza de date, iar eu nu ma prea pricep cu baza de date, ma poate ajuta si pe mine cineva la inserarea in tabelul updates din baza de date ? Cum sa pun alea cu INT si etc, astea sunt comenzile

CMD:updates(playerid, params[])
{
    new query[1000],versiune[128],updateid,vizionari,text[40][1000],rezultat[1000],query2[256],textafisare[2000],data[128], updateid2 = 0, updatetext[2000], updatedata[2000], updateversiune[2000];
    mysql_format(SQL, query, sizeof(query), "SELECT * FROM `updates` WHERE `ID` > '0'");
    new Cache: cache = mysql_query(SQL, query);
    if(cache_get_row_count() < 1) return SCM(playerid, COLOR_GREY, "Nu exista updateuri adaugate in lista.");
    for(new i, j = cache_get_row_count(); i != j; i++)
    {
        updateid = cache_get_field_content_int(i, "ID");
        vizionari = cache_get_field_content_int(i, "Vizionari");
        cache_get_field_content(i, "Versiune", rezultat); format(versiune, 128, rezultat);
        cache_get_field_content(i, "Data", rezultat); format(data, 128, rezultat);
        for(new a = 0; a < 40; a++)
        {
            format(query2, sizeof(query2), "Text%d",a);
            cache_get_field_content(i, query2,rezultat); format(text[a], 1000, rezultat);
            strcat(updatetext[a], text[a], 1000);
        }
        strcat(updatedata[updateid2], data, 128);
        strcat(updateversiune[updateid2], versiune, 128);
        updateid2++;
        if(updateid == 1) format(textafisare, sizeof(textafisare), "{0066FF}ID\t{FFFFFF}Versiune\t{0066FF}Data\t{FFFFFF}Vizionari\n{FFFFFF}Update {0066FF}# %d\t{FFFFFF}%s\t{0066FF}%s{FFFFFF}\t%d",updateid, versiune,data, vizionari);
        if(updateid > 1) format(textafisare, sizeof(textafisare), "%s\n{FFFFFF}Update {0066FF}# %d\t{FFFFFF}%s\t{0066FF}%s{FFFFFF}\t%d",textafisare,updateid,versiune,data, vizionari);
    }
    ShowPlayerDialog(playerid, DIALOG_UPDATES, DIALOG_STYLE_TABLIST_HEADERS, "SERVER: Updates", textafisare, "Seleteaza","Anuleaza");
    cache_delete(cache);
    return 1;
}
CMD:au(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 7)
    {
        new versiune[128],data[128],query[1000];
        if(sscanf(params, "s[128]", versiune)) return SCM(playerid, -1, "USAGE: /addupdate [nume versiune]");
        new year, month,day;
        getdate(year, month, day);
        format(data, sizeof(data), "%02d.%02d.%d",day,month,year);
        mysql_format(SQL, query, sizeof(query), "INSERT INTO `updates` (`Versiune`,`Data`) VALUES ('%s','%s')",versiune,data);
        mysql_tquery(SQL, query, "", "");
        SCM(playerid, -1, "{0066FF}UPDATE: {FFFFFF}Versiunea a fos adaugata cu succes.");
    }
    return 1;
}
CMD:aul(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 7)
    {
        new versiune[512],query[1000],linie,id;
        if(sscanf(params, "iis[128]", linie,id,versiune)) return SCM(playerid, -1, "USAGE: /addupdateline [linie (0-40)] [id] [descriere]");
        mysql_format(SQL, query, sizeof(query), "UPDATE `updates` SET `Text%d`='%s' WHERE `ID`='%d'",linie,versiune,id);
        mysql_tquery(SQL, query, "", "");
        SCM(playerid, -1, "{0066FF}UPDATE: {FFFFFF}Linia a fos adaugata cu succes.");
    }
    return 1;
}

int= nr natural(intreg) gen 1;124;-437;

float = nr cu virgula gen1.23; 4.53

varchar = string(sir de caractere). 

Tu trebuie sa faci un tabel cu numele updates in care creezi randurile aferente

Link to comment
Share on other sites

  • 0
29 minutes ago, Maddo said:

Salut, m am inspirat de pe acest forum de la o problema, cineva pusese aceasta comanda intr-un reply, si am zis sa o incerc si eu, chiar mi s a parut interesant.
ce face comanda ? Simplu, e o comanda de tip /updates, doar ca este dinamica, poti creea un update direct din joc, doar ca trebuie niste salvari in baza de date, iar eu nu ma prea pricep cu baza de date, ma poate ajuta si pe mine cineva la inserarea in tabelul updates din baza de date ? Cum sa pun alea cu INT si etc, astea sunt comenzile

CMD:updates(playerid, params[])
{
    new query[1000],versiune[128],updateid,vizionari,text[40][1000],rezultat[1000],query2[256],textafisare[2000],data[128], updateid2 = 0, updatetext[2000], updatedata[2000], updateversiune[2000];
    mysql_format(SQL, query, sizeof(query), "SELECT * FROM `updates` WHERE `ID` > '0'");
    new Cache: cache = mysql_query(SQL, query);
    if(cache_get_row_count() < 1) return SCM(playerid, COLOR_GREY, "Nu exista updateuri adaugate in lista.");
    for(new i, j = cache_get_row_count(); i != j; i++)
    {
        updateid = cache_get_field_content_int(i, "ID");
        vizionari = cache_get_field_content_int(i, "Vizionari");
        cache_get_field_content(i, "Versiune", rezultat); format(versiune, 128, rezultat);
        cache_get_field_content(i, "Data", rezultat); format(data, 128, rezultat);
        for(new a = 0; a < 40; a++)
        {
            format(query2, sizeof(query2), "Text%d",a);
            cache_get_field_content(i, query2,rezultat); format(text[a], 1000, rezultat);
            strcat(updatetext[a], text[a], 1000);
        }
        strcat(updatedata[updateid2], data, 128);
        strcat(updateversiune[updateid2], versiune, 128);
        updateid2++;
        if(updateid == 1) format(textafisare, sizeof(textafisare), "{0066FF}ID\t{FFFFFF}Versiune\t{0066FF}Data\t{FFFFFF}Vizionari\n{FFFFFF}Update {0066FF}# %d\t{FFFFFF}%s\t{0066FF}%s{FFFFFF}\t%d",updateid, versiune,data, vizionari);
        if(updateid > 1) format(textafisare, sizeof(textafisare), "%s\n{FFFFFF}Update {0066FF}# %d\t{FFFFFF}%s\t{0066FF}%s{FFFFFF}\t%d",textafisare,updateid,versiune,data, vizionari);
    }
    ShowPlayerDialog(playerid, DIALOG_UPDATES, DIALOG_STYLE_TABLIST_HEADERS, "SERVER: Updates", textafisare, "Seleteaza","Anuleaza");
    cache_delete(cache);
    return 1;
}
CMD:au(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 7)
    {
        new versiune[128],data[128],query[1000];
        if(sscanf(params, "s[128]", versiune)) return SCM(playerid, -1, "USAGE: /addupdate [nume versiune]");
        new year, month,day;
        getdate(year, month, day);
        format(data, sizeof(data), "%02d.%02d.%d",day,month,year);
        mysql_format(SQL, query, sizeof(query), "INSERT INTO `updates` (`Versiune`,`Data`) VALUES ('%s','%s')",versiune,data);
        mysql_tquery(SQL, query, "", "");
        SCM(playerid, -1, "{0066FF}UPDATE: {FFFFFF}Versiunea a fos adaugata cu succes.");
    }
    return 1;
}
CMD:aul(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] >= 7)
    {
        new versiune[512],query[1000],linie,id;
        if(sscanf(params, "iis[128]", linie,id,versiune)) return SCM(playerid, -1, "USAGE: /addupdateline [linie (0-40)] [id] [descriere]");
        mysql_format(SQL, query, sizeof(query), "UPDATE `updates` SET `Text%d`='%s' WHERE `ID`='%d'",linie,versiune,id);
        mysql_tquery(SQL, query, "", "");
        SCM(playerid, -1, "{0066FF}UPDATE: {FFFFFF}Linia a fos adaugata cu succes.");
    }
    return 1;
}

CREATE TABLE IF NOT EXISTS `updates` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `text` text CHARACTER SET utf8 COLLATE utf8_romanian_ci NOT NULL,
  `date` text NOT NULL,
  `byAdmin` text NOT NULL,
  `For` int(11) NOT NULL,
  `link` text NOT NULL,
  `title` varchar(128) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

Sau ai un link aici Descarca, si stergi Updates al tau din baza de date si il importezi pe asta.

Ai nevoie de ajutor in scripting si nu ai bani? Te pot ajuta cu mare drag. Dar asta nu inseamna sa iti lucrez un Sistem de joc complet, daca ai nevoie de ajutor ma poti contacta pe Discord.ezgif-2-3a38433e2465.gif.9283810e304f5e405309769455e5e14b.gif

Link to comment
Share on other sites

  • 0

Error ID: 1054, Error: Unknown column 'Text1' in 'field list'
Callback:
gQuery: UPDATE `updates` SET `Text1`='Adaugata comanda [/updates].' WHERE `ID`='1'

Asta e singura eroare pe care o primesc cand incerc sa tastez comanda de adaugare a unei linii in update, gen acel text, nu exista in baza de date, nu stiu cum sa-l trec, restul este corect

Link to comment
Share on other sites

  • 0
#define 	DIALOG_UPDATES		7598

 

CMD:updates(playerid, params[])
{
  ShowPlayerDialog(playerid, DIALOG_UPDATES, DIALOG_STYLE_MSGBOX, "Server updates", "[30.03.2017]\n- Inca nu s-au adaugat update-uri.", "Okay", "");
  return 1;
}

Mult mai simplu.

 

Link to comment
Share on other sites

  • 0
Acum 7 ore, @SanJay a spus:

#define 	DIALOG_UPDATES		7598

 


CMD:updates(playerid, params[])
{
  ShowPlayerDialog(playerid, DIALOG_UPDATES, DIALOG_STYLE_MSGBOX, "Server updates", "[30.03.2017]\n- Inca nu s-au adaugat update-uri.", "Okay", "");
  return 1;
}

Mult mai simplu.

Mult mai simplu daca citeai putin ce problema are.

Link to comment
Share on other sites

  • 0
21 hours ago, Maddo said:

Error ID: 1054, Error: Unknown column 'Text1' in 'field list'
Callback:
gQuery: UPDATE `updates` SET `Text1`='Adaugata comanda [/updates].' WHERE `ID`='1'

Asta e singura eroare pe care o primesc cand incerc sa tastez comanda de adaugare a unei linii in update, gen acel text, nu exista in baza de date, nu stiu cum sa-l trec, restul este corect

Frate, parerea mea, lasa comanda asta de o parte, ai panel si forum unde poti posta update.urile, nu iti algromera gm.ul cu prostii si coneziuni la baza de date, parerea mea. Poti face din panel sau de pe forum. Acum sper sa intelegi ce vreau sa iti spun. E mai simplu din forum sa scri un update, cat si din panel.

Ai nevoie de ajutor in scripting si nu ai bani? Te pot ajuta cu mare drag. Dar asta nu inseamna sa iti lucrez un Sistem de joc complet, daca ai nevoie de ajutor ma poti contacta pe Discord.ezgif-2-3a38433e2465.gif.9283810e304f5e405309769455e5e14b.gif

Link to comment
Share on other sites

  • 0
1 oră în urmă, Maddo a spus:

imi era mult mai usor sa adaug asta cu /updates dynamic, adica nu mai umpleam atatea linii in gm cu fiecare update, dar oricum, mersi frumos baieti

mysql_format(SQL, query, sizeof(query), "UPDATE `updates` SET `Text`='%d%s' WHERE `ID`='%d'",linie,versiune,id);

plus ca acel cod pt baza de date nu contine toate coloanele necesare.

Edited by valivaly96
Link to comment
Share on other sites

  • 0

Vezi ca ai copiat comanda dintr-un gm de pe net, intra in baza de date a gm-ului si ia tot ce scrie la updates, apoi completezi la asta

CREATE TABLE IF NOT EXISTS `updates` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `text` text CHARACTER SET utf8 COLLATE utf8_romanian_ci NOT NULL,
  `date` text NOT NULL,
  `byAdmin` text NOT NULL,
  `For` int(11) NOT NULL,
  `link` text NOT NULL,
  `title` varchar(128) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

 

maxresdefault.jpg

 

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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