Szerző Téma: MySQL frakció tagok listázása dialogba  (Megtekintve 1412 alkalommal)

MySQL frakció tagok listázása dialogba
« Dátum: 2018. március 26. - 15:11:20 »
0 Show voters
Sziasztok! Szeretnék a frakcióvezetőknek egy dialogot ahol személyre tudják szabni a frakciót, illetve a tagokat, ebből csak a tagok kilistázása lenne a lényeg.
 
A hiba az lenne a kódban, hogy mikor rákattintok az alkalmazottak listájára a dialogban, akkor kicrashel a GTA ahelyett hogy kilistázná a tagokat.
 
Itt a kód ami lefut amikor rákattintok a dialog egyik elemére (listitem).
 

mysql_format(mysql_id, mysql_adat, sizeof(mysql_adat), \"SELECT name FROM users WHERE users.fraction = \'%d\'\", pInfo[playerid][pFraction]);
mysql_tquery(mysql_id, mysql_adat, \"successQuery_leader1\", \"i\", playerid);

 
És itt van a maga a query.
 

funkcio successQuery_leader1(playerid)
{
new num_rows,num_fields;
cache_get_data(num_rows,num_fields,mysql_id);
new username[MAX_PLAYER_NAME];
new string[256];
new string2[32];
if(num_rows > 0)
{
   for(new i = 0; i < num_rows; i++)
    {
      cache_get_field_content(i,\"name\",username);
         if(IsPlayerConnected(GetPlayerId(username)))
         {
             format(string2,sizeof(string2),\"%d. {22ff00}%s{FFFFFF}\",i+1,username);
            }
         else
         {
             format(string2,sizeof(string2),\"%d. {FFFFFF}%s{FFFFFF}\",i+1,username);
      }
            strcat(string,string2);
    }
}
else
{
    SCM(playerid,COLOR_ORANGE,\"(( Üres a frakcio! ))\");
}
return ShowPlayerDialog(playerid,DIALOG_LEADER_2,DIALOG_STYLE_LIST,\"Alkalmazottak listája\",string,\"Tovább\",\"Mégsem\");
}

 
 

MySQL frakció tagok listázása dialogba
« Válasz #1 Dátum: 2018. március 26. - 17:59:41 »
0 Show voters
Esetleg tudok segiteni de kellene a teljes kód ahol van ez a frakciós dolog! Ha itt ne akkarod akk pmbe is kuldheted mert itt nem sok minden látszik

MySQL frakció tagok listázása dialogba
« Válasz #2 Dátum: 2018. március 26. - 18:10:41 »
0 Show voters

if(dialogid == DIALOG_LEADER_1)
{
    if(response)
    {
        switch(listitem)
        {
            case 0: SCM(playerid,-1,\"(( Jelentkezõk : készülõben ))\");
            case 1:
            {
                mysql_format(mysql_id, mysql_adat, sizeof(mysql_adat), \"SELECT name FROM users WHERE users.fraction = \'%d\'\", pInfo[playerid][pFraction]);
            mysql_tquery(mysql_id, mysql_adat, \"successQuery_leader1\", \"i\", playerid);
            }
        }
    }
}


CMD:leader(playerid)
{
if(pInfo[playerid][pLeader] == 1)
{
    if(fInfo[pInfo[playerid][pFraction]][fType] == 1)
    {
        ShowPlayerDialog(playerid,DIALOG_LEADER_1,DIALOG_STYLE_LIST,\"Vezetõség\",\"Jelentkezõk\\nAlkalmazottak listája\",\"Tovább\",\"Mégsem\");
    }
}
else perm(playerid);
return 1;
}

 
 

Nem elérhető gbr333

  • 670
    • Profil megtekintése
MySQL frakció tagok listázása dialogba
« Válasz #3 Dátum: 2018. március 26. - 18:31:21 »
0 Show voters
Lehagytál egy \\n-t a formatból,így egy sorba írná az összes tagot. (A túl hosszú sortól crashel a kliens.)
 

format(string2,sizeof(string2),\"%d. {22ff00}%s{FFFFFF}\\n\",i+1,username);

 
 

MySQL frakció tagok listázása dialogba
« Válasz #4 Dátum: 2018. március 26. - 18:56:09 »
0 Show voters
Ezt nem vettem észre :D Sikerült, köszi a segítséget! Ment a + mindkettőtöknek azért.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal