HELP!!!!!!
#1

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;
}
Reply
#2

So when does the crashing occur?
Reply
#3

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 !
Reply
#4

after i rob the store
Reply
#5

But i need all player disable robpossible
Reply
#6

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;
}
Reply
#7

it did not works
Reply
#8

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?
Reply
#9

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;
}
Reply
#10

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;
}
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)