About Jakku's org system
#1

I tryed the gang system but it worked, just that it did not save the leader or the members.

I edited it a little, and used dini.

Can anyone tell me why it wont save the members or leaders?
OnPlayerConnect callback
pawn Код:
public OnPlayerConnect(playerid)
{
    new playername[MAX_PLAYERS];
    for(new i=0; i<MAX_PLAYERS; i++)
    GetPlayerName(playerid, playername, i);
    new file[MAX_PLAYERS];
    format(file,sizeof(file),"%s.ini", playername);
     if(!fexist(file))
    {
        Member[playerid] = 0;
        Leader[playerid] = 0;
        dini_IntSet(file, "org_leader",Leader[playerid]);
        dini_IntSet(file, "org_member",Member[playerid]);
        dini_IntSet(file, "org_status",IsInOrg[playerid]);
    }
    return 1;
}
OnPlayerDisconnect callback
pawn Код:
public OnPlayerDisconnect(playerid)
{
    new playername[MAX_PLAYERS];
    for(new i=0; i<MAX_PLAYERS; i++)
    GetPlayerName(playerid, playername, i);
    new file[MAX_PLAYERS];
    format(file,sizeof(file),"%s.ini", playername);
    {
        dini_Create(file);
        dini_IntSet(file, "org_member",Member[playerid]);
        dini_IntSet(file, "org_leader",Leader[playerid]);
        dini_IntSet(file, "org_status",IsInOrg[playerid]);
    }
    return 1;
}
Reply
#2

What are the commands to make the player a member, or leader? Or did you even add those in? Because if it aint saving i am going to need a look at those too, to see if you edited them.
Reply
#3

Ok here it is:

pawn Код:
COMMAND:kickmember(playerid, params[])
{
    new id,Name[MAX_PLAYER_NAME],string[MAX_PLAYERS];
    if(Leader[playerid]) { //LVPD Leader Cmd Start Here
    if(sscanf(params,"u", id))return SendClientMessage(playerid, 0xFF0000AA, "Usage: /kickplayer [id]");
     {
    if(IsPlayerConnected(id))
    GetPlayerName(playerid, Name, sizeof(Name));
       if(Member[playerid] == 1)
{
    format(string, sizeof(string), "%s has kicked you from San Andreas Police Dept.",Name);
    SendClientMessage(id,0xFF0000FF, string);
    SetPlayerColor(playerid,0xFFFFFFFF);
    SetPlayerSkin(playerid,0);
    ResetPlayerWeapons(id);
    Member[id] = 0;
    IsInOrg[id] = 0;
    format(string, sizeof(string), "You have kicked a player from San Andreas Police Dept",Name);
    SendClientMessage(playerid,0xFF0000FF, string);
}
    }
    return 1;
    }
    return 1;
}//Leader Cmd End Here
COMMAND:addmember(playerid, params[])
{
    new id,Name[MAX_PLAYER_NAME],string[MAX_PLAYERS];
    if(Leader[playerid]) { //LVPD Leader Cmd Start Here
    if(sscanf(params,"u", id))return SendClientMessage(playerid, 0xFF0000AA, "Usage: /addmember [id]");
    {
    if(IsPlayerConnected(id))
    GetPlayerName(playerid, Name, sizeof(Name));
    if(Member[playerid] == 1)
{
    format(string, sizeof(string), "%s has accepted your application into SAPD and you are now a member.",Name);
    SendClientMessage(id,green, string);
    GivePlayerWeapon(id,29,100);
    GivePlayerWeapon(id,3,-1);
    GivePlayerWeapon(id,29,5000);
    SetPlayerColor(id,SAPD_COLOR);
    IsInOrg[id] = 1;
    Member[id] = 1;
    format(string, sizeof(string), "You have set a player member of Las Venturas Police Dept.",Name);
    SendClientMessage(playerid,green, string);
}
    }
    return 1;
    }

    return 1;
}//Leader Cmd End Here

COMMAND:resign(playerid, params[])
{
    SendClientMessage(playerid,yellow,"You have resigned from your organization");
    SetPlayerColor(playerid,0xFFFFFFFF);
    SetPlayerSkin(playerid, 0);
    ResetPlayerWeapons(playerid);
    Leader[playerid] = 0;
    Member[playerid] = 0;
    IsInOrg[playerid] = 0;
    return 1;
}
COMMAND:setleader1(playerid, params[])
{
    new id,Name[MAX_PLAYER_NAME],string[MAX_PLAYERS];
    if(sscanf(params,"u", id))return SendClientMessage(playerid, 0xFF0000AA, "Usage: /setleader1 [id]");
    {
    if(IsPlayerConnected(id))
    GetPlayerName(playerid, Name, sizeof(Name));
    format(string, sizeof(string), "%s has set you the leader of SAPD.",Name);
    SendClientMessage(id,green, string);
    SetPlayerColor(id,SAPD_COLOR);
    SetPlayerSkin(id, 282);
     GivePlayerWeapon(id,24,100);
     GivePlayerWeapon(id,3,-1);
    GivePlayerWeapon(id,31,5000);
    IsInOrg[id] = 1;
     Member[id] = 1;
     Leader[id] = 1;
     format(string, sizeof(string), "You have set a new leader to SAPD",Name);
     SendClientMessage(playerid,green, string);
    }
    return 1;
}//RCON Admin Cmd End
And if you could tell me how to make the orgs, ids. That would be good.
Like for my command "/setleader1 [id]" it would be nice to have "/setleader [id] [orgid]". So i won't have to make each command for each org.


Am i so bad to deserved this?
Код:
This forum requires that you wait 120 seconds between posts. Please try again in 23 seconds.
Reply
#4

Why do you save file on player connect?

And what for you have that loop there?, I mean for(new.. ?


Anyway I guess read player stats on player spawn etc, not on connect, because coonnect is called when you see that LS view, but in that moment I gues will also need login sys, so.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)