How to do this script?
#1

How do I add not only points, and money? After responding to the task of adding points + money

Код:
#include <a_samp>

#define yellow 0xFFFF00AA
#define red 0xFF0000AA
#define green 0x33FF33AA

forward Maths();

new answer;
new answered;
new score;
new timer;
new timerset;

public OnPlayerCommandText(playerid, cmdtext[])
{
	new cmd[256], idx;
	cmd = strtok(cmdtext, idx);

	if (strcmp("/answer", cmd, true) == 0)
	{
		new tmp[256], cmdid, string[256], pname[MAX_PLAYER_NAME];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /Answer [answer]");
		cmdid = strval(tmp);

		if(cmdid < answer || cmdid > answer)
		{
			SendClientMessage(playerid, red, "Wrong answer!");
		}

		if(cmdid == answer && answered == 0)
		{
			GetPlayerName(playerid, pname, sizeof(pname));

			format(string, sizeof(string), "%s has won %d score for answering the math question '%d'!", pname, score, cmdid);
			SendClientMessageToAll(green, string);
			GivePlayerMoney(playerid, 10000);

			answered = 1;
			SetPlayerScore(playerid, GetPlayerScore(playerid) + score);
			score = 0;
			return 1;
		}
		else if(cmdid == answer && answered == 1)
		{
			SendClientMessage(playerid, red, "To late!");
		}
		return 1;
	}
	
	if (strcmp("/startmaths", cmd, true) == 0)
	{
	    if(IsPlayerAdmin(playerid) == 0) return SendClientMessage(playerid, red, "You are not an RCON admin");
	
		new tmp[256], cmdid, string[256];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, red, "USAGE: /Startmaths [timer (seconds)]");
		cmdid = strval(tmp);

		KillTimer(timer);
		timerset = cmdid * 1000;
		timer = SetTimer("Maths", timerset, 1);
		
		format(string, sizeof(string), "Maths started, timer set to every %d seconds", cmdid);
		SendClientMessage(playerid, yellow, string);
		return 1;
	}
	
	if (strcmp("/stopmaths", cmd, true) == 0)
	{
	    if(IsPlayerAdmin(playerid) == 0) return SendClientMessage(playerid, red, "You are not an RCON admin");

		KillTimer(timer);
		SendClientMessage(playerid, yellow, "Maths stopped");
	    return 1;
	}
	return 0;
}

public Maths()
{
	new string[256], addsubtext1[10], addsubtext2[10];

	new temp1;

	new number1 = random(100);
	new number2 = random(100);
	new number3 = random(100);
	new addsubnumb1 = random(2);
	new addsubnumb2 = random(2);

	if(addsubnumb1 == 0)
	{
		score = score + 10;

		format(addsubtext1, sizeof(addsubtext1), "-");
		temp1 = number1 - number2;
	}
	else if(addsubnumb1 == 1)
	{
	    score = score + 5;

		format(addsubtext1, sizeof(addsubtext1), "+");
		temp1 = number1 + number2;
	}

	if(addsubnumb2 == 0)
	{
	    score = score + 10;

		format(addsubtext2, sizeof(addsubtext2), "-");
		answer = temp1 - number3;
	}
	else if(addsubnumb2 == 1)
	{
		score = score + 5;

		format(addsubtext2, sizeof(addsubtext2), "+");
		answer = temp1 + number3;
	}

	format(string, sizeof(string), "MATHS: %d%s%d%s%d - /answer to answer this question! Worth %d score!", number1, addsubtext1, number2, addsubtext2, number3, score);
	SendClientMessageToAll(yellow, string);

	answered = 0;
	return 1;
}

strtok(const string[], &index)
{
	new length = strlen(string);
	while ((index < length) && (string[index] <= ' '))
	{
		index++;
	}

	new offset = index;
	new result[20];
	while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
	{
		result[index - offset] = string[index];
		index++;
	}
	result[index - offset] = EOS;
	return result;
}
Reply
#2

Add
money = money +1000;

But whayt i give you the link in PM!
Reply
#3

Other?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)