Question

Здравствуйте, такая проблема что маты не засчитывается код скрин 

Спойлер

}
StealMats(playerid) {//работа над матами
	new string[128], stmats = random(15)+1;
	new f = stmats * PI[playerid][pVips];
	if(PI[playerid][pVips] < f + PI[playerid][pMats]) return ErrorMessage(playerid, "В кармане недостаточно места для хранения боеприпасов");

	if(PI[playerid][pMats] + f > PI[playerid][pVips]) f = PI[playerid][pVips] - PI[playerid][pMats];

	switch(GetPlayerVirtualWorld(playerid)) {
		case 30: {
			if(FI[fARMYLV][fMats] < f) return ErrorMessage(playerid, "На складе не достаточно боеприпасов");
			FI[fARMYLV][fMats] -= f;
		}
		case 31: {
			if(FI[fARMYSF][fMats] < f) return ErrorMessage(playerid, "На складе не достаточно боеприпасов");
			FI[fARMYSF][fMats] -= f;
		}
		case 35: {
			if(zavodsklad < f) return ErrorMessage(playerid, "На складе не достаточно боеприпасов");
			zavodsklad -= f;
		}
	}

	format(string, 20, "~y~~g~MATS: +%d", f);// пишет постоянно MATS: +0
	GameTextForPlayer(playerid, string, 2500, 6);

 

 

Edited by Drummer1993

Share this post


Link to post

5 answers to this question

  • 0

подниму

Share this post


Link to post
  • 0

@Drummer1993, возможно, переменная PI[playerid][pVips] равна нулю.

Share this post


Link to post
  • 0
3 часа назад, odosenok сказал:

@Drummer1993, возможно, переменная PI[playerid][pVips] равна нулю.

Спойлер

new f = stmats * PI[playerid][pVips]; на new f = stmats * PI[playerid];?

 

 

Share this post


Link to post
  • 0

подниму

Share this post


Link to post
  • 0
В 16.12.2019 в 14:09, Drummer1993 сказал:
  код (закрыть спойлер)


new f = stmats * PI[playerid][pVips]; на new f = stmats * PI[playerid];?

 

 

 

А что это? Вы проверьте, отлична ли переменная от нуля.

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Antoxa39
      By Antoxa39
      Дратути) Я хочу поделится с новичками одной штучкой,с помощью которой можно сделать спидометр.
       
      Объявляем глобальные переменные.
      new Text:speedtest; В public OnPlayerConnect добавляем следующее.
      speedtest = TextDrawCreate(506.599884, 394.742156, "500 KM/H");// создаем текстдрав при подключении игрока (он не будет отображатся) В конце мода создаем новую функцию.
      forward getsp(playerid); public getsp(playerid) {     new Float:cord[3];     GetVehicleVelocity(GetPlayerVehicleID(playerid),cord[0], cord[1], cord[2]);     new Float:veloc = floatsqroot(floatpower(floatabs(cord[0]), 2.0) + floatpower(floatabs(cord[1]), 2.0) + floatpower(floatabs(cord[2]), 2.0)) * 181.3;     new str[25];     format(str,sizeof(str),"KM/H %d",floatround(veloc));     TextDrawSetString(speedtest,str);     return 1; } Переходим в OnPlayerStateChange и добавляем следующее.
      if(newstate == PLAYER_STATE_DRIVER) {     TextDrawShowForPlayer(playerid,speedtest);     SetTimerEx("getsp", 1, true, "%f", playerid); } if(newstate == PLAYER_STATE_ONFOOT) {     TextDrawHideForPlayer(playerid,speedtest); } ВСЁ!) Мы создали спидометр. Удачи вам в скриптинге!)
    • R0m4ik
      By R0m4ik
      Всем привет, возникла маленькая проблема я хочу сделать команду /fakecmd(написать команду от другого игрока)
      У меня уже есть исходник данный команды осталось знать.
      На что надо заменить это?
      zcmd_OnPlayerCommandText(targetid, params);