SA-MP Forums Archive
HELP!!!!!! - 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: HELP!!!!!! (/showthread.php?tid=524493)



HELP!!!!!! - 9noober - 07.07.2014

after i rob the store and my server will crash how to fix it
Код:
new robpossible;
Код:
drugsafe = CreateDynamicCP(305.9555,1123.6113,1083.8828, 1 , -1 , 5 ,-1,100.0);
Код:
public OnPlayerEnterDynamicCP(playerid, checkpointid)
{
   if(!robpossible == 1)return SendClientMessage(playerid,COLOR_ORANGE, "[ROBBERY]:{FFFFFF}You can't rob this store right now.");
		TogglePlayerControllable(playerid,0);
    	SetTimerEx("robstore", 9000, false, "i", playerid);
    	SendClientMessage(playerid,COLOR_ORANGE, "[ROBBERY]:{FFFFFF}You are robbing a store please wait.");
    	SetPlayerScore(playerid, GetPlayerScore(playerid) +2);
	}
 	return 1;
}
forward robstore(playerid);
public robstore(playerid)
{
	robpossible = 0;
    new cash = random(5000);
    TogglePlayerControllable(playerid,1);
    GivePlayerMoney(playerid,cash);
    SendClientMessage(playerid,COLOR_ORANGE, "[ROBBERY]:{FFFFFF}You have rob $%s from the store.",cash);
    SetTimerEx("afterrob", 120000, false, "i", playerid);
	return 1;
}
forward afterrob(playerid);
public afterrob(playerid)
{
    robpossible = 1;
	return 1;
}



Re: HELP!!!!!! - nmader - 07.07.2014

So when does the crashing occur?


Re: HELP!!!!!! - VenomMancer - 07.07.2014

You must make this variabel robpossible[MAX_PLAYERS];
pawn Код:
new robpossible[MAX_PLAYERS];


public OnPlayerEnterDynamicCP(playerid, checkpointid)
{
    if(checkpintid == drugsafe)
    {
        if(robpossible[playerid] != 1)return SendClientMessage(playerid,COLOR_ORANGE, "[ROBBERY]:{FFFFFF}You can't rob this store right now.");
        TogglePlayerControllable(playerid,0);
        SetTimerEx("robstore", 9000, false, "i", playerid);
        SendClientMessage(playerid,COLOR_ORANGE, "[ROBBERY]:{FFFFFF}You are robbing a store please wait.");
        SetPlayerScore(playerid, GetPlayerScore(playerid) +2);
    }
    return 1;
}
forward robstore(playerid);
public robstore(playerid)
{
    robpossible[playerid] = 0;
    new cash = random(5000);
    TogglePlayerControllable(playerid,1);
    GivePlayerMoney(playerid,cash);
    SendClientMessage(playerid,COLOR_ORANGE, "[ROBBERY]:{FFFFFF}You have rob $%s from the store.",cash);
    SetTimerEx("afterrob", 120000, false, "i", playerid);
    return 1;
}
forward afterrob(playerid);
public afterrob(playerid)
{
    robpossible[playerid] = 1;
    return 1;
}
Tell me if works or not !


Re: HELP!!!!!! - 9noober - 07.07.2014

after i rob the store


Re: HELP!!!!!! - 9noober - 07.07.2014

But i need all player disable robpossible


Re: HELP!!!!!! - nmader - 07.07.2014

Try this:
pawn Код:
SetTimer("afterrob", 120000, false); //Instead of your current afterrob timer as you should stick to using SetTimerEx when it has something to do with player-related variables, or vehicle related variables, etc.
pawn Код:
forward afterrob();
public afterrob()
{
    return robpossible = 1;
}



Re: HELP!!!!!! - 9noober - 07.07.2014

it did not works


Re: HELP!!!!!! - nmader - 07.07.2014

Quote:
Originally Posted by 9noober
Посмотреть сообщение
it did not works
So it occurs after the 120000 timer stuff happens, or right after the robbery? Does it crash two minutes after the robbery occurs or immediately after robbing?


Re: HELP!!!!!! - 9noober - 07.07.2014

i think problem in HERE
Код:
public robstore(playerid)
{
    robpossible[playerid] = 0;
    new cash = random(5000);
    TogglePlayerControllable(playerid,1);
    GivePlayerMoney(playerid,cash);
    SendClientMessage(playerid,COLOR_ORANGE, "[ROBBERY]:{FFFFFF}You have rob $%s from the store.",cash);
    SetTimerEx("afterrob", 120000, false, "i", playerid);
    return 1;
}



Re: HELP!!!!!! - nmader - 07.07.2014

Yes... I'm shocked I didn't see it before. You have this line in there, when it's just a standard variable while you have it defined as a player-based variable. You attempted to: 1) write a string in a SendClientMessage. 2) Tried to define cash as a string. Try this:
pawn Код:
public robstore(playerid)
{
    new string[128];
    robpossible = 0;
    new cash = random(5000);
    TogglePlayerControllable(playerid, true);
    GivePlayerMoney(playerid, cash);
    format(string, sizeof(string), "[ROBBERY]:{FFFFFF}You have robbed $%d from the store.",cash);
    SendClientMessage(playerid, COLOR_ORANGE, string);
    SetTimer("afterrob", 120000, false);
    return 1;
}