Перейти к содержанию
Авторизация  
CrmpORP

Проблема с командай ticket

Рекомендуемые сообщения

CrmpORP

Когда игроку выписываешь штраф он ничего не получает,если выписать штраф себе то я получаю,помогите исправить 

	if(strcmp(cmd, "/ticket", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	        if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1||PlayerInfo[playerid][pMember] == 2||PlayerInfo[playerid][pLeader] == 2||PlayerInfo[playerid][pMember] == 3||PlayerInfo[playerid][pLeader] == 3)
            {
	    	tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_ISPOLZUY, "Используйте: /ticket [ид] [сумма] [причина]");
				return 1;
			}
			giveplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_ISPOLZUY, "Используйте: /ticket [ид] [сумма] [причина]");
				return 1;
			}
			moneys = strval(tmp);
			if(moneys < 1 || moneys > 20001) { SendClientMessage(playerid, COLOR_GREY, " Билет может стоить не ниже 1 и не выше 20000 !"); return 1; }
			if(IsPlayerConnected(giveplayerid))
			{
			    if(giveplayerid != INVALID_PLAYER_ID)
			    {
			        if (ProxDetectorS(8.0, playerid, giveplayerid))
					{
					    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						new length = strlen(cmdtext);
						while ((idx < length) && (cmdtext[idx] <= ' '))
						{
							idx++;
						}
						new offset = idx;
						new result[64];
						while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
						{
							result[idx - offset] = cmdtext[idx];
							idx++;
						}
						result[idx - offset] = EOS;
						if(!strlen(result))
						{
							SendClientMessage(playerid, COLOR_ISPOLZUY, "Используйте: /ticket [ид] [сумма] [причина]");
							return 1;
						}
						format(string, sizeof(string), " Вы выписали %s штраф %dр, причина: %s", giveplayer, moneys, (result));
						SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
						format(string, sizeof(string), " Законник %s выписал вам штраф $%d, причина: %s", sendername, moneys, (result));
						SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
						SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, " Используйте: /accept ticket что бы оплатить выписанный штраф.");
						TicketOffer[giveplayerid] = playerid;
						TicketMoney[giveplayerid] = moneys;
						return 1;
					}
					else
					{
						SendClientMessage(playerid, COLOR_GREY, " Игрок находится не рядом с вами !");
						return 1;
					}
				}
			}
			else
			{
			    SendClientMessage(playerid, COLOR_GREY, " Игрок не в игре !");
			    return 1;
			}
		}
		return 1;
	}
				SendClientMessage(playerid, COLOR_GREY, " Вы не законник!");
			    return 1;
			}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Smolin

В конец мода

stock IsACop(playerid)
{
	if(IsPlayerConnected(playerid))
	{
	    new leader = PlayerInfo[playerid][pLeader], member = PlayerInfo[playerid][pMember];
	    if(member==1||member==2||member==3) return true;
		else if(leader==1||leader==2||leader==3) return true;
	}
	return false;
}

Команду заменить

if(strcmp(cmd, "/ticket", true) == 0)
	{
	    if(!IsPlayerConnected(playerid)) return 1;
        if(!IsACop(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Вы не коп!");
        tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /ticket [ид] [сумма] [причина]");
		giveplayerid = ReturnUser(tmp);
        tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /ticket [ид] [сумма] [причина]");
		moneys = strval(tmp);
		if(moneys < 1 || moneys > 20001) return SendClientMessage(playerid, COLOR_GREY, "Билет может стоить не ниже 1 и не выше 20000.");
		if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "Игрок не в игре.");
	    if(giveplayerid == INVALID_PLAYER_ID) return 1;
        if (!ProxDetectorS(8.0, playerid, giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "Игрок находится не рядом с вами.");
	    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		new length = strlen(cmdtext);
		while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; }
		new offset = idx, result[64];
		while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
		{
			result[idx - offset] = cmdtext[idx];
			idx++;
		}
		result[idx - offset] = EOS;
		if(!strlen(result)) return SendClientMessage(playerid, COLOR_ISPOLZUY, "Используйте: /ticket [ид] [сумма] [причина]");
		if(GetPlayerMoney(giveplayerid) < moneys) return SendClientMessage(playerid, COLOR_ISPOLZUY,"У игрока нет столько денег.");
		format(string, sizeof(string)," Вы выписали %s штраф %dр, причина: %s", giveplayer, moneys, (result));
		SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
		format(string, sizeof(string), " Законник %s выписал вам штраф $%d, причина: %s", sendername, moneys, (result));
		SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
		SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, " Используйте: /accept ticket что бы оплатить выписанный штраф.");
		TicketOffer[giveplayerid] = playerid;
		TicketMoney[giveplayerid] = moneys;
		return 1;
	}

Надеюсь поможет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
CrmpORP

@Smolin,Хорошо попробуем

Изменено пользователем CrmpORP

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.