Jump to content
  • 0

problema


teudan

Question

Am vrut sa realizez un script in care sa memorez intr-un fisier cand un player ia invite si sa stearga cand ia uninvite ca dupa sa citesc de acolo ce membrii sunt in factiune dar m-am lovit de o problema, eu am vrut ca fiecare player nou adaugat sa il adauge pe un rand nou dar nu il adauga, il adauga unul dupa altul, daca stiti de ce va rog sa ma ajutati, multumesc.

[pawn]new tesst;

enum cMemb

{

cNume[255],

cFactiune

};

new MembInfo[10001][cMemb];

public OnGameModeInit()

{

    LoadCate();

LoadMembers();

return 1;

}

forward LoadCate();

public LoadCate()

{

new file[64];

    format(file, sizeof(file),"LARP/cate.ini")

    if(dini_Exists(file))

{

tesst = dini_Int(file,"cate");

}

printf("[sCRIPT]: Loaded Cate %d", tesst);

return 1;

}

forward SaveCate();

public SaveCate()

{

new string3[64];

format(string3, sizeof(string3), "LARP/cate.ini");

dini_IntSet(string3, "cate",tesst);

return 1;

}

forward RemoveMembers(string[]);

public RemoveMembers(string[])

{

tesst--;

if(tesst <= 0)

{

    tesst = 0;

}

for(new i=0;i<=tesst;i++)

{

    if(strcmp(MembInfo[cNume], string, true) == 0)

    {

        strmid(MembInfo[cNume], MembInfo[tesst][cNume], 0, strlen(string), 255);

        strmid(MembInfo[tesst][cNume], "", 0, strlen(string), 255);

        MembInfo[cFactiune] = MembInfo[tesst][cFactiune];

        MembInfo[tesst][cFactiune] = 0;

    }

}

SaveCate();

SaveMembers();

return 1;

}

forward AddMembers(faction, string[]);

public AddMembers(faction, string[])

{

strmid(MembInfo[tesst][cNume], string, 0, strlen(string), 255);

MembInfo[tesst][cFactiune] = faction;

tesst++;

SaveCate();

SaveMembers();

return 1;

}

forward SaveMembers();

public SaveMembers()

{

    new idx;

new File: file2;

while (idx < tesst)

{

new coordsstring[256];

format(coordsstring, sizeof(coordsstring), "%s|%d\n",

MembInfo[idx][cNume],

MembInfo[idx][cFactiune]);

if(idx == 0)

{

file2 = fopen("members.cfg", io_write);

}

else

{

file2 = fopen("members.cfg", io_append);

}

fwrite(file2, coordsstring);

idx++;

fclose(file2);

}

}

forward LoadMembers();

public LoadMembers()

{

print("done");

new arrCoords[20][64];

new strFromFile2[256];

new File: file = fopen("members.cfg", io_read);

print("done2");

if (file)

{

new idx;

while (idx < tesst)

{

fread(file, strFromFile2);

split(strFromFile2, arrCoords, '|');

strmid(MembInfo[idx][cNume], arrCoords[0], 0, strlen(arrCoords[0]), 255);

MembInfo[idx][cFactiune] = strval(arrCoords[1]);

printf("%s si fac %d",MembInfo[idx][cNume], MembInfo[idx][cFactiune]);

idx++;

}

fclose(file);

}

}

// asta pui la invite: AddMembers(PlayerInfo[playerid][pLeader], giveplayer);

//asta pui la uninvite: RemoveMembers(giveplayer);[/pawn]

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

Guest
This topic is now closed to further replies.
×
×
  • 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.