Can someone help me with this..
#1

How can i make a /gc command but with dialogs?


I mean, how will I have my dialog have an input box and when i type a certain number, it checks if i have that much cash and gives it to the other player.


Reply
#2

Код:
	if(strcmp(cmd, "/pay", true) == 0)
	{
	  if(IsPlayerConnected(playerid))
	  {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /pay [playerid/PartOfName] [amount]");
				return 1;
			}
			//giveplayerid = strval(tmp);
	    giveplayerid = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /pay [playerid/PartOfName] [amount]");
				return 1;
			}
			moneys = strval(tmp);
			if(moneys < 1 || moneys > 100000)
			{
			  SendClientMessage(playerid, COLOR_GRAD1, "Dont go below 1, or above 100000 at once.");
			  return 1;
			}
			if (IsPlayerConnected(giveplayerid))
			{
			  if(giveplayerid != INVALID_PLAYER_ID)
			  {
			    if(PlayerInfo[giveplayerid][pLocal] == 106)
					{
						SendClientMessage(playerid, COLOR_GRAD1, "Command not allowed in this location");
						return 1;
					}
					if (ProxDetectorS(5.0, playerid, giveplayerid))
					{
						GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						playermoney = GetPlayerMoney(playerid);
						if (moneys > 0 && playermoney >= moneys)
						{
						  ConsumingMoney[giveplayerid] = 1;
							GivePlayerMoney(playerid, (0 - moneys));
							GivePlayerMoney(giveplayerid, moneys);
							format(string, sizeof(string), "  You have sent %s(player: %d), $%d.", giveplayer,giveplayerid, moneys);
							PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
							SendClientMessage(playerid, COLOR_GRAD1, string);
							format(string, sizeof(string), "  You have recieved $%d from %s(player: %d).", moneys, sendername, playerid);
							SendClientMessage(giveplayerid, COLOR_GRAD1, string);
							format(string, sizeof(string), "%s has paid $%d to %s", sendername, moneys, giveplayer);
							PayLog(string);
							if(moneys >= 1000000)
							{
								ABroadCast(COLOR_YELLOW,string,1);
							}
							PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
							format(string, sizeof(string), "* %s takes out some cash, and hands it to %s.", sendername ,giveplayer);
							ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
						}
						else
						{
							SendClientMessage(playerid, COLOR_GRAD1, "  Invalid transaction amount.");
						}
					}
					else
					{
						SendClientMessage(playerid, COLOR_GRAD1, "  Your too far away.");
					}
				}//invalid id
			}
			else
			{
				format(string, sizeof(string), "  %d is not an active player.", giveplayerid);
				SendClientMessage(playerid, COLOR_GRAD1, string);
			}
		}
		return 1;
	}
Reply
#3

I already have a /gc command. What i need is, How can i turn this /gc into dialogs, So when i type /gc [ID] it shows a dialog and i type the ammount i wanna give

Код:
	if(strcmp(cmd, "/gc", true) == 0) {
  if(IsSpawned[playerid] == 0) {
	SendClientMessage(playerid, COLOR_ERROR, "You are dead. You cannot use this command");
  return 1;
  }
  if(cuffed[playerid] == 1) {
  SendClientMessage(playerid,COLOR_ERROR,"You are handcuffed. You cannot use this command");
  return 1;
  }
  tmp = strtok(cmdtext, idx);
  if(!strlen(tmp)) {
  SendClientMessage(playerid, COLOR_ERROR, "USAGE: /gc (id) (amount)");
  return 1;
  }
  if(!IsNumeric(tmp)) {
  SendClientMessage(playerid, COLOR_ERROR, "USAGE: /gc (id) (amount) ID Must be a number");
  return 1;
  }
  if(strval(tmp) == playerid) {
  SendClientMessage(playerid, COLOR_ERROR, "You cannot send cash to yourself");
  return 1;
  }
  giveplayerid = strval(tmp);
  if(!IsPlayerConnected(giveplayerid)) {
  format(szstring, sizeof(szstring), "ID (%d) is not an active player", giveplayerid);
  SendClientMessage(playerid, COLOR_ERROR, szstring);
  return 1;
  }
  new sendername[24];
  new receivername[24];
  GetPlayerName(playerid,sendername, 24);
	GetPlayerName(giveplayerid,receivername, 24);
  if(GetDistanceBetweenPlayers(playerid,giveplayerid) > 8) {
  format(szstring, sizeof(szstring), "%s(%d) Is not close enough. You cannot give cash to that player",receivername,giveplayerid);
  SendClientMessage(playerid, COLOR_ERROR, szstring);
  return 1;
  }
  tmp = strtok(cmdtext, idx);
  if(!strlen(tmp)) {
  SendClientMessage(playerid, COLOR_ERROR, "USAGE: /gc (id) (amount)");
  return 1;
  }
  if(!IsNumeric(tmp)) {
  SendClientMessage(playerid, COLOR_ERROR, "USAGE: /gc (id) (amount) Amount must be a number");
  return 1;
  }
  new cashsend = strval(tmp);
  if(cashsend <= 0 || cashsend >= 100001) {
  SendClientMessage(playerid, COLOR_ERROR, "USAGE: Minimum $1 / Maximum $100000");
  return 1;
  }
  if(GetPlayerMoney(giveplayerid) + cashsend >= 1000001) {
  SendClientMessage(playerid, 0xA9A9A9AA, "|_Cash Send Failed_|");
	format(szstring, sizeof(szstring), "%s(%d) Does not have enough pockets to carry that ammount of cash ",receivername,giveplayerid);
  SendClientMessage(playerid, 0x00C7FFAA, szstring);
  return 1;
  }
  if(GetPlayerMoney(playerid) >= cashsend) {
  GivePlayerMoney(playerid,-cashsend);
  GivePlayerMoney(giveplayerid,cashsend);
  SendClientMessage(playerid, 0xA9A9A9AA, "|_Cash Sent_|");
	format(szstring, sizeof(szstring), "You have sent $%d to %s(%d)",cashsend,receivername,giveplayerid);
  SendClientMessage(playerid, 0x00C7FFAA, szstring);
  SendClientMessage(giveplayerid, 0xA9A9A9AA, "|_Cash Received_|");
  SendClientMessage(giveplayerid, 0xA9A9A9AA, "If you think that this might be hacked cash then inform a Server Admin asap! /report (id) (reason)");
	format(szstring, sizeof(szstring), "%s(%d) Has sent you $%d",sendername,playerid,cashsend);
  SendClientMessage(giveplayerid, 0x00C7FFAA, szstring);
  format(szstring, sizeof(szstring), "Sender %s(%d) Has sent $%d to receiver %s(%d)",sendername,playerid,cashsend,receivername,giveplayerid);
  printf("%s",szstring);
	}
  else
  if(GetPlayerMoney(playerid) < cashsend) {
  SendClientMessage(playerid, 0xA9A9A9AA, "|_Cash Send Failed_|");
  format(szstring, sizeof(szstring), "You cannot afford to send $%d",cashsend);
  SendClientMessage(playerid, COLOR_ERROR, szstring);
  }

  return 1;
  }
Reply
#4

BUMP
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)