Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Система Уровенй

Статус
В этой теме нельзя размещать новые ответы.

Roka_Kuroki2

Новичок
Добрый День, я решил вырезать систему уровенй из мода k-reality но у меня почему - то не считает минуты/секунды/часы
Вот собственно код
Ероров варнингов нет не понимаю из - за чего?

Диалог #define DIALOG_MSGBOX 10
в
PHP:
public OnPlayerSpawn(playerid)
это
SetPlayerScore(playerid, GetPVarInt(playerid,"Level"));

в OnPlayerLogin
new result[256];
	new add_time,add_level;
	sscanf(result, "p<|>is[24]s[34]s[26]iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii",add_time,add_level);
        SetPVarInt(playerid,"Time",add_time);                                     		
        SetPVarInt(playerid,"Level",add_level);   

Далее сток 
stock ShowStats(playerid,forplayerid)
{
	
	new string[64],sctring[356];
	format(string,sizeof(string),"{FFFFFF}Имя:			{00b4ff}%s\n",PlayerName(playerid));
	strcat(sctring,string);
	format(string,sizeof(string),"{FFFFFF}Уровень:		%i\n",GetPVarInt(playerid,"Level"));
	strcat(sctring,string);
	format(string,sizeof(string),"{FFFFFF}Время в игре:		%s\n",tformat(GetPVarInt(playerid,"Time")));
	strcat(sctring,string);
	format(string,sizeof(string),"{FFFFFF}%i уровень:		%s\n",GetPVarInt(playerid,"Level")+1,nformat((GetPVarInt(playerid,"Level")+1)*GetPVarInt(playerid,"Level"),"час","часа","часов"));
	strcat(sctring,string);
	ShowPlayerDialog(forplayerid, DIALOG_MSGBOX, DIALOG_STYLE_MSGBOX, "Статистика", sctring, "Готово", "");
	return 1;
}

паблик обновления 

forward TimeUpdate();
public TimeUpdate()
{
	new string[128];
    for(new i; i < GetMaxPlayers(); i++) 
    {
        if(!IsPlayerConnected(i) || IsPlayerNPC(i) || !GetPVarInt(i,"Logged")) continue;
        SetPVarInt(i,"Time",GetPVarInt(i,"Time")+1);
        if(((GetPVarInt(i,"Level")+1)*GetPVarInt(i,"Level")) == GetPVarInt(i,"Time")/3600 && GetPVarInt(i,"Time")%3600 == 0)
		{
		    SetPVarInt(i,"Level",GetPVarInt(i,"Time")/3600);
		    SetPlayerScore(i, GetPVarInt(i,"Level"));
            format(string,sizeof(string)," За %s в игре вы получили %i уровень", nformat(GetPVarInt(i,"Time")/3600,"час, проведенный","часа, проведенных","часов, проведенных"),GetPVarInt(i,"Level"));
			SendClientMessage(i, COLOR_YELLOW, string);
		}
        }
    }
    return 1;
}

таймер для него  SetTimer("TimeUpdate",1000,1); 

Стоки для времени 
stock tformat(s)
{
 	new time[128],hour,minute;
 	hour = s/3600;
	s -= hour*3600;
 	minute = s/60;
 	s -= minute*60;
 	format(time,sizeof(time),"%s %s %s",nformat(hour,"час","часа","часов"),nformat(minute,"минута","минуты","минут"),nformat(s,"секунда","секунды","секунд"));
 	return time;
}

stock nformat(n,f1[],f2[],f5[]) 
{ 
	new r[128];
 	if(n%100>5 && n%100<21)
 	{
		format(r,sizeof(r),"%i %s",n,f5);
 	}
 	else
 	{
  		new fg = n%10;
  		if(fg<1 || fg>4)
  		{
			format(r,sizeof(r),"%i %s",n,f5);
		}
  		else if(fg==1)
 		{
   		 	format(r,sizeof(r),"%i %s",n,f1);
  		}
  		else
  		{
		 	format(r,sizeof(r),"%i %s",n,f2);
  		}
 	}
 	return r;
}

Команда для вызова диалога 

	if(strcmp(cmdtext, "/stats", true) == 0)
    {
      ShowStats(playerid,playerid);
        return true;
    }
Если скажите в чем проблема дам + или же вознагражу материально
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу