SA-MP Forums Archive
help me dice command - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: help me dice command (/showthread.php?tid=647311)



help me dice command - Osamakurdi - 03.01.2018

I Have These Codes:

Code:
CMD:dicep(playerid, params[])
{
	new targetid, str[180], str2[180], bet;
	if(sscanf(params, "ui", targetid, bet)) return SCM(playerid, -1, "/dicep [playerid] [money]");
	if(targetid == INVALID_PLAYER_ID) return SCM(playerid, -1, "Player Isnt Connected.");
	new mymoney = (GetPlayerMoney(playerid));
	new targetmoney = (GetPlayerMoney(targetid));
	if(bet>mymoney) return SCM(playerid, -1, "You Dont Have That Amount Of Money.");
	if(bet>targetmoney) return SCM(playerid, -1, "He Dont Have Enough Money.");
	if(bet >= targetmoney)
	{
	    new pname[MAX_PLAYER_NAME], tname[MAX_PLAYER_NAME];
	    GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
	    GetPlayerName(targetid, tname, MAX_PLAYER_NAME);
		format(str, sizeof(str), "Dice Sent.");
		format(str2, sizeof(str2), "[%i] %s Sent You Dice with %i .", playerid, pname, bet);
		SCM(playerid, -1, str);
		SCM(targetid, -1, str2);
	
	


		CMD:acceptdice(playerid, params[])
		{
			if(sscanf(params, "u", playerid)) return SCM(playerid, -1, "/acceptdice[id]");
		 	if(!sscanf(params, "u", playerid))
			{
	 			//new targetid, bet;

				new player1, player2;
				player1=random(7);
				player2=random(7);
				if(player1>player2)
				{
					new string[128];
					new string2[128];
					format(string, sizeof(string), "You win %i", bet);
					GivePlayerMoney(playerid, bet);
					GivePlayerMoney(targetid, -bet);
					format(string2, sizeof(string2), "You rolled %i %i", player1, player2);
					SCM(playerid,Green , string2);
					SCM(playerid,Green , string);

				}
				if(player1<player2)
				{
					new string[128];
					new string2[128];
					format(string, sizeof(string), "You lose %i", bet);
					GivePlayerMoney(targetid, bet);
					GivePlayerMoney(playerid, -bet);
					format(string2, sizeof(string2), "You rolled %i %i", player1, player2);
					SCM(playerid,0xCC0000 , string2);
					SCM(playerid,0xCC0000 , string);

				 }


		}
		}
	return 1;


}
And I Have These Errors:
Code:
C:\Users\Kurdi's\Desktop\samp037_svr_R2-1-1_win32\gamemodes\FirstCode.pwn(504) : error 029: invalid expression, assumed zero
C:\Users\Kurdi's\Desktop\samp037_svr_R2-1-1_win32\gamemodes\FirstCode.pwn(504) : error 017: undefined symbol "cmd_acceptdice"
C:\Users\Kurdi's\Desktop\samp037_svr_R2-1-1_win32\gamemodes\FirstCode.pwn(504) : error 029: invalid expression, assumed zero
C:\Users\Kurdi's\Desktop\samp037_svr_R2-1-1_win32\gamemodes\FirstCode.pwn(504) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
I Mean With this code :
example:
/dicep 1 500000 (player1 (id:0))
/accept dice 0 (player2(id:1)))


Please Help ME


Re: help me dice command - jasperschellekens - 03.01.2018

Be sure to make all commands end correctly, same goes for { } brackets.
Code:
CMD:dicep(playerid, params[])
{
	new targetid, str[180], str2[180], bet;
	if(sscanf(params, "ui", targetid, bet)) return SCM(playerid, -1, "/dicep [playerid] [money]");
	if(targetid == INVALID_PLAYER_ID) return SCM(playerid, -1, "Player Isnt Connected.");
	new mymoney = (GetPlayerMoney(playerid));
	new targetmoney = (GetPlayerMoney(targetid));
	if(bet>mymoney) return SCM(playerid, -1, "You Dont Have That Amount Of Money.");
	if(bet>targetmoney) return SCM(playerid, -1, "He Dont Have Enough Money.");
	if(bet >= targetmoney)
	{
	    new pname[MAX_PLAYER_NAME], tname[MAX_PLAYER_NAME];
	    GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
	    GetPlayerName(targetid, tname, MAX_PLAYER_NAME);
		format(str, sizeof(str), "Dice Sent.");
		format(str2, sizeof(str2), "[%i] %s Sent You Dice with %i .", playerid, pname, bet);
		SCM(playerid, -1, str);
		SCM(targetid, -1, str2);
	}
	return 1;
}

CMD:acceptdice(playerid, params[])
{
	if(sscanf(params, "u", playerid)) return SCM(playerid, -1, "/acceptdice[id]");
 	if(!sscanf(params, "u", playerid))
	{
		new player1, player2;
		player1=random(7);
		player2=random(7);
	if(player1>player2)
	{
		new string[128];
		new string2[128];
		format(string, sizeof(string), "You win %i", bet);
		GivePlayerMoney(playerid, bet);
		GivePlayerMoney(targetid, -bet);
		format(string2, sizeof(string2), "You rolled %i %i", player1, player2);
		SCM(playerid,Green , string2);
		SCM(playerid,Green , string);

	}
	if(player1<player2)
	{
		new string[128];
		new string2[128];
		format(string, sizeof(string), "You lose %i", bet);
		GivePlayerMoney(targetid, bet);
		GivePlayerMoney(playerid, -bet);
		format(string2, sizeof(string2), "You rolled %i %i", player1, player2);
		SCM(playerid,0xCC0000 , string2);
		SCM(playerid,0xCC0000 , string);
	}
    return 1;
}



Re: help me dice command - Osamakurdi - 03.01.2018

Quote:
Originally Posted by jasperschellekens
View Post
Be sure to make all commands end correctly, same goes for { } brackets.
Code:
CMD:dicep(playerid, params[])
{
	new targetid, str[180], str2[180], bet;
	if(sscanf(params, "ui", targetid, bet)) return SCM(playerid, -1, "/dicep [playerid] [money]");
	if(targetid == INVALID_PLAYER_ID) return SCM(playerid, -1, "Player Isnt Connected.");
	new mymoney = (GetPlayerMoney(playerid));
	new targetmoney = (GetPlayerMoney(targetid));
	if(bet>mymoney) return SCM(playerid, -1, "You Dont Have That Amount Of Money.");
	if(bet>targetmoney) return SCM(playerid, -1, "He Dont Have Enough Money.");
	if(bet >= targetmoney)
	{
	    new pname[MAX_PLAYER_NAME], tname[MAX_PLAYER_NAME];
	    GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
	    GetPlayerName(targetid, tname, MAX_PLAYER_NAME);
		format(str, sizeof(str), "Dice Sent.");
		format(str2, sizeof(str2), "[%i] %s Sent You Dice with %i .", playerid, pname, bet);
		SCM(playerid, -1, str);
		SCM(targetid, -1, str2);
	}
	return 1;
}

CMD:acceptdice(playerid, params[])
{
	if(sscanf(params, "u", playerid)) return SCM(playerid, -1, "/acceptdice[id]");
 	if(!sscanf(params, "u", playerid))
	{
		new player1, player2;
		player1=random(7);
		player2=random(7);
	if(player1>player2)
	{
		new string[128];
		new string2[128];
		format(string, sizeof(string), "You win %i", bet);
		GivePlayerMoney(playerid, bet);
		GivePlayerMoney(targetid, -bet);
		format(string2, sizeof(string2), "You rolled %i %i", player1, player2);
		SCM(playerid,Green , string2);
		SCM(playerid,Green , string);

	}
	if(player1<player2)
	{
		new string[128];
		new string2[128];
		format(string, sizeof(string), "You lose %i", bet);
		GivePlayerMoney(targetid, bet);
		GivePlayerMoney(playerid, -bet);
		format(string2, sizeof(string2), "You rolled %i %i", player1, player2);
		SCM(playerid,0xCC0000 , string2);
		SCM(playerid,0xCC0000 , string);
	}
    return 1;
}
i think you dont understood my code
i want /acceptdice accept /dicep
if you know how to please help me!!


Re: help me dice command - jasperschellekens - 03.01.2018

Quote:
Originally Posted by Osamakurdi
View Post
i think you dont understood my code
i want /acceptdice accept /dicep
if you know how to please help me!!
Check at the code i posted. I literally fixed the error for you.
Your code would work already but you might want to add the things i marked red.

Code:
new RequestDiceBetting[MAX_PLAYERS];
 // on top of your script.

CMD:dicep(playerid, params[])
{
	new targetid, str[180], str2[180], bet;
	if(sscanf(params, "ui", targetid, bet)) return SCM(playerid, -1, "/dicep [playerid] [money]");
	if(targetid == INVALID_PLAYER_ID) return SCM(playerid, -1, "Player Isnt Connected.");
	new mymoney = (GetPlayerMoney(playerid));
	new targetmoney = (GetPlayerMoney(targetid));
	if(bet>mymoney) return SCM(playerid, -1, "You Dont Have That Amount Of Money.");
	if(bet>targetmoney) return SCM(playerid, -1, "He Dont Have Enough Money.");
	if(bet >= targetmoney)
	{
	    new pname[MAX_PLAYER_NAME], tname[MAX_PLAYER_NAME];
	    GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
	    GetPlayerName(targetid, tname, MAX_PLAYER_NAME);
		format(str, sizeof(str), "Dice Sent.");
		format(str2, sizeof(str2), "[%i] %s Sent You Dice with %i .", playerid, pname, bet);
		SCM(playerid, -1, str);
		SCM(targetid, -1, str2);
		ReqeustDiceBetting[playerid] = 1;
	}
	return 1;
}

CMD:acceptdice(playerid, params[])
{
	if(sscanf(params, "u", playerid)) return SCM(playerid, -1, "/acceptdice[id]");
	if(ReqeustDiceBetting[u] == 0) return SCM(playerid, -1, "Player did not send a dice request.");
	ReqeustDiceBetting[u] = 0;
 	if(!sscanf(params, "u", playerid))
	{
		new player1, player2;
		player1=random(7);
		player2=random(7);
	if(player1>player2)
	{
		new string[128];
		new string2[128];
		format(string, sizeof(string), "You win %i", bet);
		GivePlayerMoney(playerid, bet);
		GivePlayerMoney(targetid, -bet);
		format(string2, sizeof(string2), "You rolled %i %i", player1, player2);
		SCM(playerid,Green , string2);
		SCM(playerid,Green , string);

	}
	if(player1<player2)
	{
		new string[128];
		new string2[128];
		format(string, sizeof(string), "You lose %i", bet);
		GivePlayerMoney(targetid, bet);
		GivePlayerMoney(playerid, -bet);
		format(string2, sizeof(string2), "You rolled %i %i", player1, player2);
		SCM(playerid,0xCC0000 , string2);
		SCM(playerid,0xCC0000 , string);
	}
    return 1;
}



Re: help me dice command - Osamakurdi - 03.01.2018

Quote:
Originally Posted by jasperschellekens
View Post
Check at the code i posted. I literally fixed the error for you.
Your code would work already but you might want to add the things i marked red.

Code:
new RequestDiceBetting[MAX_PLAYERS];
 // on top of your script.

CMD:dicep(playerid, params[])
{
	new targetid, str[180], str2[180], bet;
	if(sscanf(params, "ui", targetid, bet)) return SCM(playerid, -1, "/dicep [playerid] [money]");
	if(targetid == INVALID_PLAYER_ID) return SCM(playerid, -1, "Player Isnt Connected.");
	new mymoney = (GetPlayerMoney(playerid));
	new targetmoney = (GetPlayerMoney(targetid));
	if(bet>mymoney) return SCM(playerid, -1, "You Dont Have That Amount Of Money.");
	if(bet>targetmoney) return SCM(playerid, -1, "He Dont Have Enough Money.");
	if(bet >= targetmoney)
	{
	    new pname[MAX_PLAYER_NAME], tname[MAX_PLAYER_NAME];
	    GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
	    GetPlayerName(targetid, tname, MAX_PLAYER_NAME);
		format(str, sizeof(str), "Dice Sent.");
		format(str2, sizeof(str2), "[%i] %s Sent You Dice with %i .", playerid, pname, bet);
		SCM(playerid, -1, str);
		SCM(targetid, -1, str2);
		ReqeustDiceBetting[playerid] = 1;
	}
	return 1;
}

CMD:acceptdice(playerid, params[])
{
	if(sscanf(params, "u", playerid)) return SCM(playerid, -1, "/acceptdice[id]");
	if(ReqeustDiceBetting[u] == 0) return SCM(playerid, -1, "Player did not send a dice request.");
	ReqeustDiceBetting[u] = 0;
 	if(!sscanf(params, "u", playerid))
	{
		new player1, player2;
		player1=random(7);
		player2=random(7);
	if(player1>player2)
	{
		new string[128];
		new string2[128];
		format(string, sizeof(string), "You win %i", bet);
		GivePlayerMoney(playerid, bet);
		GivePlayerMoney(targetid, -bet);
		format(string2, sizeof(string2), "You rolled %i %i", player1, player2);
		SCM(playerid,Green , string2);
		SCM(playerid,Green , string);

	}
	if(player1<player2)
	{
		new string[128];
		new string2[128];
		format(string, sizeof(string), "You lose %i", bet);
		GivePlayerMoney(targetid, bet);
		GivePlayerMoney(playerid, -bet);
		format(string2, sizeof(string2), "You rolled %i %i", player1, player2);
		SCM(playerid,0xCC0000 , string2);
		SCM(playerid,0xCC0000 , string);
	}
    return 1;
}
Thanks For Helping me but i have these errors .. :*
Code:
C:\Users\Kurdi's\Desktop\samp037_svr_R2-1-1_win32\gamemodes\FirstCode.pwn(712) : error 017: undefined symbol "ReqeustDiceBetting"
C:\Users\Kurdi's\Desktop\samp037_svr_R2-1-1_win32\gamemodes\FirstCode.pwn(712) : warning 215: expression has no effect
C:\Users\Kurdi's\Desktop\samp037_svr_R2-1-1_win32\gamemodes\FirstCode.pwn(712) : error 001: expected token: ";", but found "]"
C:\Users\Kurdi's\Desktop\samp037_svr_R2-1-1_win32\gamemodes\FirstCode.pwn(712) : error 029: invalid expression, assumed zero
C:\Users\Kurdi's\Desktop\samp037_svr_R2-1-1_win32\gamemodes\FirstCode.pwn(712) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.



Re: help me dice command - jasperschellekens - 03.01.2018

Quote:
Originally Posted by Osamakurdi
View Post
Thanks For Helping me but i have these errors .. :*
Code:
C:\Users\Kurdi's\Desktop\samp037_svr_R2-1-1_win32\gamemodes\FirstCode.pwn(712) : error 017: undefined symbol "ReqeustDiceBetting"
C:\Users\Kurdi's\Desktop\samp037_svr_R2-1-1_win32\gamemodes\FirstCode.pwn(712) : warning 215: expression has no effect
C:\Users\Kurdi's\Desktop\samp037_svr_R2-1-1_win32\gamemodes\FirstCode.pwn(712) : error 001: expected token: ";", but found "]"
C:\Users\Kurdi's\Desktop\samp037_svr_R2-1-1_win32\gamemodes\FirstCode.pwn(712) : error 029: invalid expression, assumed zero
C:\Users\Kurdi's\Desktop\samp037_svr_R2-1-1_win32\gamemodes\FirstCode.pwn(712) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
new RequestDiceBetting[MAX_PLAYERS];
// add on top of your script.


Re: help me dice command - Osamakurdi - 03.01.2018

Quote:
Originally Posted by jasperschellekens
View Post
new RequestDiceBetting[MAX_PLAYERS];
// add on top of your script.
Where Do You mean? im sorry for stress ..


Re: help me dice command - jasperschellekens - 03.01.2018

Quote:
Originally Posted by Osamakurdi
View Post
Where Do You mean? im sorry for stress ..
under/below all your define's and enums.


Re: help me dice command - Osamakurdi - 03.01.2018

Quote:
Originally Posted by jasperschellekens
View Post
under/below all your define's and enums.
Thanks +REP