Problem
#1

Well. I have a little problem. The thing is. When I call someone and I /hangup, it says that he hand-up the line but when he writes something on Local Chat he is still on the phone + you can't call anybody anymore. Can someone tell me what is wrong with this command?

Код:
CMD:hangup(playerid, params[])
{
	new string[128];
   	if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
	if(!PlayerInfo[playerid][pHasCellphone]) return SendClientMessage(playerid, COLOR_GREY, "You don't own a cellphone.");
	if(!BeingCalled[playerid] && !Calling[playerid]) return SendClientMessage(playerid, COLOR_GREY, "You are not on a call nor is anybody calling you.");
	format(string, sizeof(string), "* %s puts their cellphone away.", RPN(playerid));
	SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
	SendClientMessage(playerid, COLOR_ORANGE, " You have hungup the line.");
	if(BeingCalled[playerid]) SendClientMessage(Caller[playerid], COLOR_ORANGE, " They hungup the line.");
    else if(Calling[playerid]) SendClientMessage(Called[playerid], COLOR_ORANGE, " They hungup the line.");
    if(Call911[playerid]) return SendClientMessage(playerid, COLOR_GREY, "You can't hangup on a 911 call.");
	//
	SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
	if(Calling[playerid])
	{
	    SetPlayerSpecialAction(Called[playerid], SPECIAL_ACTION_STOPUSECELLPHONE);
	    format(string, sizeof(string), "[Cellphone] Phonecall lasted for %d seconds, price: $%d", CallTime[playerid], CallTime[playerid]*10/100);
	    SendClientMessage(playerid, COLOR_YELLOW, string);
	    GiveZaiatMoney(playerid, -(CallTime[playerid]*10/100));
	    TaxMoney += (CallTime[playerid]*10/100);
	    Calling[playerid] = 0;
	    BeingCalled[playerid] = 0;
		Caller[playerid] = -1;
		CallTime[playerid] = 0;
		Called[playerid] = -1;
	}
	else if(Calling[Caller[playerid]])
	{
	    SetPlayerSpecialAction(Called[playerid], SPECIAL_ACTION_STOPUSECELLPHONE);
	    format(string, sizeof(string), "[Cellphone] Phonecall lasted for %d seconds, price: $%d", CallTime[Caller[playerid]], CallTime[Caller[playerid]]*10/100);
	    SendClientMessage(Caller[playerid], COLOR_YELLOW, string);
	    GiveZaiatMoney(Caller[playerid], -(CallTime[Caller[playerid]]*10/100));
	    TaxMoney += (CallTime[Caller[playerid]]*10/100);
	    Calling[Called[playerid]] = 0;
	    BeingCalled[Called[playerid]] = 0;
		Caller[Called[playerid]] = -1;
		CallTime[Called[playerid]] = 0;
		Called[Called[playerid]] = -1;
	}
	return 1;
}
Reply
#2

See if it works this way:
pawn Код:
CMD:hangup(playerid, params[])
{
    new string[128];
    if(!IsPlayerLoggedIn(playerid))
        return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");

    if(!PlayerInfo[playerid][pHasCellphone])
        return SendClientMessage(playerid, COLOR_GREY, "You don't own a cellphone.");

    if(!BeingCalled[playerid] && !Calling[playerid])
        return SendClientMessage(playerid, COLOR_GREY, "You are not on a call nor is anybody calling you.");

    format(string, sizeof(string), "* %s puts their cellphone away.", RPN(playerid));
    SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
    SendClientMessage(playerid, COLOR_ORANGE, " You have hungup the line.");

    if(Call911[playerid])
        return SendClientMessage(playerid, COLOR_GREY, "You can't hangup on a 911 call.");

    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
    if(Calling[playerid])
    {
        SendClientMessage(Called[playerid], COLOR_ORANGE, " They hungup the line.");
        SetPlayerSpecialAction(Called[playerid], SPECIAL_ACTION_STOPUSECELLPHONE);
        format(string, sizeof(string), "[Cellphone] Phonecall lasted for %d seconds, price: $%d", CallTime[playerid], CallTime[playerid]*10/100);
        SendClientMessage(playerid, COLOR_YELLOW, string);
        GiveZaiatMoney(playerid, -(CallTime[playerid]*10/100));
        TaxMoney += (CallTime[playerid]*10/100);
        Calling[playerid] = 0;
        BeingCalled[playerid] = 0;
        Caller[playerid] = -1;
        CallTime[playerid] = 0;
        Called[playerid] = -1;
        return 1;
    }
    else if(Calling[Caller[playerid]])
    {
        SendClientMessage(Caller[playerid], COLOR_ORANGE, " They hungup the line.");
        SetPlayerSpecialAction(Called[playerid], SPECIAL_ACTION_STOPUSECELLPHONE);
        format(string, sizeof(string), "[Cellphone] Phonecall lasted for %d seconds, price: $%d", CallTime[Caller[playerid]], CallTime[Caller[playerid]]*10/100);
        SendClientMessage(Caller[playerid], COLOR_YELLOW, string);
        GiveZaiatMoney(Caller[playerid], -(CallTime[Caller[playerid]]*10/100));
        TaxMoney += (CallTime[Caller[playerid]]*10/100);
        Calling[Called[playerid]] = 0;
        BeingCalled[Called[playerid]] = 0;
        Caller[Called[playerid]] = -1;
        CallTime[Called[playerid]] = 0;
        Called[Called[playerid]] = -1;
        return 1;
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)