SA-MP Forums Archive
A problem with my robbery system - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: A problem with my robbery system (/showthread.php?tid=353980)



A problem with my robbery system - SKAzini - 25.06.2012

So basically when the first player does a robbery and finishes it out he gets the reward, the next player does a robbery, when it finishes out, the first player who did a robbery gets the next players reward..

So:
ID 0: Robbery - He gets both of ID 0's and ID 1's reward.
ID 1: Robbery - He gets nothing.

The code:

Old:
pawn Код:
forward HasRobbedStore(playerid);
forward HasRobbedStore2(playerid);

new HasRobbedStoreRecently[MAX_PLAYERS];

public HasRobbedStore(playerid)
{
    TogglePlayerControllable(playerid, 1);
    SetTimer("HasRobbedStore2", 300000, false);
    new string[128];
    new mrand = random(25000);
    new ID;
    format(string,sizeof(string),"Player %s(%d) has robbed $%i from a store.",PlayerName(ID),ID, mrand);
    SendClientMessageToAll(COL_WHITE, string);
    SetPlayerWantedLevel(ID, 1);
    GivePlayerMoney(ID, mrand);
    WantedColor(ID);
}
public HasRobbedStore2(playerid)
{
    HasRobbedStoreRecently[playerid] = 0;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_WALK && (IsPlayerInRangeOfPoint(playerid,3.0,355.0123,166.7394,1008.3793) && gTeam[playerid] == TEAM_CRIMINAL))
    {
    SendClientMessage(playerid, COL_WHITE, "You are now attempting to rob a store. Please wait for 30 seconds.");
    HasRobbedStoreRecently[playerid] = 1;
    SetTimer("HasRobbedStore", 30000, false);
    TogglePlayerControllable(playerid, 0);
    }
    return 1;
}
NEW:
pawn Код:
forward HasRobbedCityhall(playerid);
forward HasRobbedCityhall2(playerid);

new HasRobbedCityhallRecently[MAX_PLAYERS];

public HasRobbedCityhall(playerid)
{
    TogglePlayerControllable(playerid, 1);
    SetTimer("HasRobbedCityhall2", 300000, false);
    new string[128];
    new mrand = random(25000);
    new ID;
    format(string,sizeof(string),"Player %s(%d) has robbed $%i from the city hall.",PlayerName(ID),ID, mrand);
    SendClientMessageToAll(COL_WHITE, string);
    SetPlayerWantedLevel(ID, 1);
    GivePlayerMoney(ID, mrand);
    WantedColor(ID);
}
public HasRobbedCityhall2(playerid)
{
    HasRobbedCityhallRecently[playerid] = 0;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_WALK && (IsPlayerInRangeOfPoint(playerid,3.0,355.0123,166.7394,1008.3793) && gTeam[playerid] == TEAM_CRIMINAL))
    {
    SendClientMessage(playerid, COL_WHITE, "You are now attempting to rob the city hall. Please wait for 30 seconds.");
    HasRobbedCityhallRecently[playerid] = 1;
    SetTimerEx("HasRobbedCityhall", 30000, false,"i",playerid);
    TogglePlayerControllable(playerid, 0);
    }
}



Re: A problem with my robbery system - [MM]RoXoR[FS] - 25.06.2012

pawn Код:
SetTimerEx("HasRobbedStore", 30000, false,"i",playerid);



Re: A problem with my robbery system - SKAzini - 25.06.2012

New code:
pawn Код:
forward HasRobbedCityhall(playerid);
forward HasRobbedCityhall2(playerid);

new HasRobbedCityhallRecently[MAX_PLAYERS];

public HasRobbedCityhall(playerid)
{
    TogglePlayerControllable(playerid, 1);
    SetTimer("HasRobbedCityhall2", 300000, false);
    new string[128];
    new mrand = random(25000);
    new ID;
    format(string,sizeof(string),"Player %s(%d) has robbed $%i from the city hall.",PlayerName(ID),ID, mrand);
    SendClientMessageToAll(COL_WHITE, string);
    SetPlayerWantedLevel(ID, 1);
    GivePlayerMoney(ID, mrand);
    WantedColor(ID);
}
public HasRobbedCityhall2(playerid)
{
    HasRobbedCityhallRecently[playerid] = 0;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_WALK && (IsPlayerInRangeOfPoint(playerid,3.0,355.0123,166.7394,1008.3793) && gTeam[playerid] == TEAM_CRIMINAL))
    {
    SendClientMessage(playerid, COL_WHITE, "You are now attempting to rob the city hall. Please wait for 30 seconds.");
    HasRobbedCityhallRecently[playerid] = 1;
    SetTimerEx("HasRobbedCityhall", 30000, false,"i",playerid);
    TogglePlayerControllable(playerid, 0);
    }
}
Still doesnt work..

EDIT: Changed "ID" to "playerid", testing if it worked now.
EDIT: Abovesaid worked. Problem solved.