[HELP]Dialog Problems
#1

When leader type /members, server goes offine but when member of that organisation type same command, command /members works fine. And i have another problem when members of that organisation type /members they see only one member who is online and who is on slot 1 although other members are online too.

PHP код:
if (strcmp(cmd"/members"true) == 0)
    {
     if(
IsPlayerConnected(playerid))
        {
         new 
text[64];
        new 
lolo[64];
        
format(lolo,64,"organizacije/%d/1.txt",PlayerInfo[playerid][pMember]);
        new 
File:lider1 fopen(loloio_read);
        while(
fread(lider1text)) {
        
strmid(mmb1text0strlen(text), 255); }
        
fclose(lider1);
        new 
lolo1[64];
        
format(lolo1,64,"organizacije/%d/2.txt",PlayerInfo[playerid][pMember]);
        new 
File:lider2 fopen(lolo1io_read);
        while(
fread(lider2text)) {
        
strmid(mmb2text0strlen(text), 255); }
        
fclose(lider2);
        new 
lolo2[64];
        
format(lolo2,64,"organizacije/%d/3.txt",PlayerInfo[playerid][pMember]);
        new 
File:lider3 fopen(lolo2io_read);
        while(
fread(lider3text)) {
        
strmid(mmb3text0strlen(text), 255); }
        
fclose(lider3);
        new 
lolo3[64];
        
format(lolo3,64,"organizacije/%d/4.txt",PlayerInfo[playerid][pMember]);
        new 
File:lider4 fopen(lolo3io_read);
        while(
fread(lider4text)) {
        
strmid(mmb4text0strlen(text), 255); }
        
fclose(lider4);
        new 
lolo4[64];
        
format(lolo4,64,"organizacije/%d/5.txt",PlayerInfo[playerid][pMember]);
        new 
File:lider5 fopen(lolo4io_read);
        while(
fread(lider5text)) {
        
strmid(mmb5text0strlen(text), 255); }
        
fclose(lider5);
        new 
lolo5[64];
        
format(lolo5,64,"organizacije/%d/6.txt",PlayerInfo[playerid][pMember]);
        new 
File:lider6 fopen(lolo5io_read);
        while(
fread(lider6text)) {
        
strmid(mmb6text0strlen(text), 255); }
        
fclose(lider6);
        new 
lolo6[64];
        
format(lolo6,64,"organizacije/%d/7.txt",PlayerInfo[playerid][pMember]);
        new 
File:lider7 fopen(lolo6io_read);
        while(
fread(lider7text)) {
        
strmid(mmb7text0strlen(text), 255); }
        
fclose(lider7);
        new 
lolo7[64];
        
format(lolo7,64,"organizacije/%d/8.txt",PlayerInfo[playerid][pMember]);
        new 
File:lider8 fopen(lolo7io_read);
        while(
fread(lider8text)) {
        
strmid(mmb8text0strlen(text), 255); }
        
fclose(lider8);
        new 
lolo8[64];
        
format(lolo8,64,"organizacije/%d/9.txt",PlayerInfo[playerid][pMember]);
        new 
File:lider9 fopen(lolo8io_read);
        while(
fread(lider9text)) {
        
strmid(mmb9text0strlen(text), 255); }
        
fclose(lider9);
        new 
lolo9[64];
        
format(lolo9,64,"organizacije/%d/10.txt",PlayerInfo[playerid][pMember]);
        new 
File:lider10 fopen(lolo9io_read);
        while(
fread(lider10text)) {
        
strmid(mmb10text0strlen(text), 255); }
        
fclose(lider10);
        new 
lolo10[64];
        
format(lolo10,64,"organizacije/%d/11.txt",PlayerInfo[playerid][pMember]);
        new 
File:lider11 fopen(lolo10io_read);
        while(
fread(lider11text)) {
        
strmid(mmb11text0strlen(text), 255); }
        
fclose(lider11);
        new 
lolo11[64];
        
format(lolo11,64,"organizacije/%d/12.txt",PlayerInfo[playerid][pMember]);
        new 
File:lider12 fopen(lolo11io_read);
        while(
fread(lider12text)) {
        
strmid(mmb12text0strlen(text), 255); }
        
fclose(lider12);
        new 
lolo12[64];
        
format(lolo12,64,"organizacije/%d/13.txt",PlayerInfo[playerid][pMember]);
        new 
File:lider13 fopen(lolo12io_read);
        while(
fread(lider13text)) {
        
strmid(mmb13text0strlen(text), 255); }
        
fclose(lider13);
        new 
lolo13[64];
        
format(lolo13,64,"organizacije/%d/14.txt",PlayerInfo[playerid][pMember]);
        new 
File:lider14 fopen(lolo13io_read);
        while(
fread(lider14text)) {
        
strmid(mmb14text0strlen(text), 255); }
        
fclose(lider14);
        new 
lolo14[64];
        
format(lolo14,64,"organizacije/%d/15.txt",PlayerInfo[playerid][pMember]);
        new 
File:lider15 fopen(lolo14io_read);
        while(
fread(lider15text)) {
        
strmid(mmb15text0strlen(text), 255); }
        
fclose(lider15);
        new 
teamnumber;
        new 
stringlp2[256];
        if (
PlayerInfo[playerid][pLeader] != 0teamnumber PlayerInfo[playerid][pLeader];
        else if (
PlayerInfo[playerid][pMember] != 0teamnumber PlayerInfo[playerid][pMember];
        else
        {
        
SendClientMessage(playeridCOLOR_GRAD1"Niste clan Organizacije!");
        return 
1;
        }
        
        new 
stringgh[1024];
        new 
stringlp1[124];
        new 
stringlp3[256];
        new 
stringlp4[256];
        new 
stringlp5[256];
 
        
format(stringlp1sizeof(stringlp1),"        Online Clanovi        ");
           
format(stringlp3sizeof(stringlp3),"\n=================\n[SPISAK SVIH CLANOVA]\n=================\n");
           
format(stringlp4sizeof(stringlp4)," [SLOT 1]: %s\n [SLOT 2]: %s\n [SLOT 3]: %s\n [SLOT 4]: %s\n [SLOT 5]: %s\n [SLOT 6]: %s\n [SLOT 7]: %s\n [SLOT 8]: %s\n [SLOT 9]: %s\n [SLOT 10]: %s",mmb1,mmb2,mmb3,mmb4,mmb5,mmb6,mmb7,mmb8,mmb9,mmb10);
        
format(stringlp5sizeof(stringlp5)," [SLOT 11]: %s\n [SLOT 12]: %s\n [SLOT 13]: %s\n [SLOT 14]: %s\n [SLOT 15]: %s\n",mmb11,mmb12,mmb13,mmb14,mmb15);
        for(new 
0MAX_PLAYERSi++)
        {
            
GetPlayerName(isendernamesizeof(sendername));
            if (
PlayerInfo[i][pLeader] == teamnumberformat(stringlp2sizeof(stringlp2), " [LIDER] ID %d | %s | Grad:Beograd\n",i,sendername);
            else if (
PlayerInfo[i][pMember] == teamnumberformat(stringlp2sizeof(stringlp2), " [CLAN] ID %d | %s | Rank: %d | Grad:Beograd\n",i,sendername,PlayerInfo[i][pRank]);
        }
        
format(stringghsizeof(stringgh),"%s\n%s%s\n%s\n%s",stringlp1,stringlp2,stringlp3,stringlp4,stringlp5);
        
ShowPlayerDialog(playeridLISTACLANOVADIALOG_STYLE_MSGBOX"Lista svih clanova"stringgh"OK""OK");
        
GetPlayerName(playeridsendernamesizeof(sendername)); format(stringsizeof(string), "* %s cita listu clanova (/members) ."sendername);
        
ProxDetector(30.0playeridstringPURPLE1,PURPLE2,PURPLE3,PURPLE4,PURPLE5);
        }
        return 
1;

Reply
#2

BUMP!
Reply
#3

You are using
pawn Код:
format(lolo,64,"organizacije/%d/1.txt",PlayerInfo[playerid][pMember]);
pMember so if player is leader ( PlayerInfo[playerid][pLeader] != 0 ) his array PlayerInfo[playerid][pMember] is propably 0 ? if folder 0 doesn't exists server crash

pawn Код:
#define MAX_ORG 16

if(strcmp(cmd, "/members", true) == 0)
{
    if(PlayerInfo[playerid][pLeader] == 0 && PlayerInfo[playerid][pMember] == 0)
    {
        SendClientMessage(playerid, COLOR_GRAD1, "Niste clan Organizacije!");
        return 1;
    }
    new
        File:F,
        str[64],
        output[64 char],
        string[2000 char]
    ;

    cmd[0] = '\0';
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(PlayerInfo[playerid][pLeader] != 0) format(cmd,sizeof(cmd),"[LIDER] ID %d | %s | Grad:Beograd\n",playerid,sendername);
    else if(PlayerInfo[i][pMember] != 0) format(cmd,sizeof(cmd),"[CLAN] ID %d | %s | Rank: %d | Grad:Beograd\n",playerid,sendername,PlayerInfo[playerid][pRank]);
    else{}
   
    strpack(output,cmd);

    string = !"        Online Clanovi        \n";
    strcat(string,output);
    strcat(string,!"\n=================\n[SPISAK SVIH CLANOVA]\n=================\n");

    for(new num = 1; num < MAX_ORG; num++)
    {
        format(str,sizeof(str),"/organizacije/%d/%d.txt",PlayerInfo[playerid][pMember],num);
        F = fopen(str, io_read);
        if(!F)
        {
            strcat(str, " doesn't exists :<")
            SendClientMessage(playerid,-1,str);
            continue;
        }
        else
        {
            while((cmd[0] = fread(F, str)))
            {
                if(cmd[0] > 1 && (str[cmd[0] - 2] == '\r' && str[cmd[0] - 1] == '\n')) // if file contains Nick\r\n
                {
                    str[cmd[0] - 2] = '\n';
                    str[cmd[0] - 1] = EOS;
                }
                format(cmd,sizeof(cmd),"[SLOT %d]: %s\n",num,str);
                strpack(output,cmd);
                strcat(string,output);
            }
            fclose(F);
        }
    }
    ShowPlayerDialog(playerid, LISTACLANOVA, DIALOG_STYLE_MSGBOX, "Lista svih clanova", string, "OK", "");
    format(str, sizeof(str), "* %s cita listu clanova (/members) .", sendername);
    ProxDetector(30.0, playerid, str, PURPLE1,PURPLE2,PURPLE3,PURPLE4,PURPLE5);
    return 1;
}
Reply
#4

/members they see only one member who is online and who is on slot 1 although other members are online too.

PHP код:
if(strcmp(cmd"/members"true) == 0)
{
    if(
PlayerInfo[playerid][pLeader] == && PlayerInfo[playerid][pMember] == 0)
    {
        
SendClientMessage(playeridCOLOR_GRAD1"Niste clan Organizacije!");
        return 
1;
    }
    new
        
File:F,
        
str[64],
        
output[64 char],
        
stringar[2000 char]
    ;
    
cmd[0] = '\0';
    
GetPlayerName(playeridsendernamesizeof(sendername));
    if(
PlayerInfo[playerid][pLeader] != 0format(cmd,sizeof(cmd),"[LIDER] ID %d | %s | Grad:Beograd\n",playerid,sendername);
    else if(
PlayerInfo[playerid][pMember] != 0format(cmd,sizeof(cmd),"[CLAN] ID %d | %s | Rank: %d | Grad:Beograd\n",playerid,sendername,PlayerInfo[playerid][pRank]);
    else{}
    
strpack(output,cmd);
    
string = !"        Online Clanovi        \n";
    
strcat(stringar,output);
    
strcat(stringar,!"\n=================\n[SPISAK SVIH CLANOVA]\n=================\n");
    for(new 
num 1num MAX_ORGnum++)
    {
        
format(str,sizeof(str),"organizacije/%d/%d.txt",PlayerInfo[playerid][pMember],num);
        
fopen(strio_read);
        if(!
F)
        {
            
strcat(str"")
            
SendClientMessage(playerid,-1,str);
            continue;
        }
        else
        {
            while((
cmd[0] = fread(Fstr)))
            {
                if(
cmd[0] > && (str[cmd[0] - 2] == '\r' && str[cmd[0] - 1] == '\n')) // if file contains Nick\r\n
                
{
                    
str[cmd[0] - 2] = '\n';
                    
str[cmd[0] - 1] = EOS;
                }
                
format(cmd,sizeof(cmd),"[SLOT %d]: %s | %d\n",num,str,PlayerInfo[playerid][pMNeat]);
                
strpack(output,cmd);
                
strcat(stringar,output);
            }
            
fclose(F);
        }
    }
    
ShowPlayerDialog(playeridLISTACLANOVADIALOG_STYLE_MSGBOX"Lista svih clanova"stringar"OK""");
    
format(strsizeof(str), "* %s cita listu clanova (/members) ."sendername);
    
ProxDetector(30.0playeridstrPURPLE1,PURPLE2,PURPLE3,PURPLE4,PURPLE5);
    return 
1;

Reply
#5

BUMP! PLS
Reply
#6

Show example file content
Reply
#7

Leader in type /members show dialog like this

Member in type /members show dialog like this


And we should like to show dialog like this
Reply
#8

BUMP! HELP PLS
Reply
#9

Member type /members ( my test )

Reply
#10

command /members is working when members type, but when leader type isnt showing slots
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)