[Tutorial] How to make a "Stats" for Russian (Как сделать статистику игрока)
#1

Всем привет,вот мой первый урок , как делать статистику.(Для тех,кто не знает)
HTML Code:
		new coordsstring[972];
		new headstat[128];
		if(age <= 20) { format(headstat, sizeof(headstat),"\t\t\t{FFFFFF}%s |HP:%d|%d лет",name,health,age); }
		else if(age == 21) { format(headstat, sizeof(headstat),"\t\t\t{FFFFFF}%s|HP:%d|%d год",name,health,age); }
		else if(age == 22) { format(headstat, sizeof(headstat),"\t\t\t{FFFFFF}%s|HP:%d|%d года",name,health,age); }
		else if(age == 23) { format(headstat, sizeof(headstat),"\t\t\t{FFFFFF}%s|HP:%d|%d года",name,health,age); }
		else if(age == 24) { format(headstat, sizeof(headstat),"\t\t\t{FFFFFF}%s|HP:%d|%d года",name,health,age); }
		else if(age > 25) { format(headstat, sizeof(headstat),"\t\t\t{FFFFFF}%s|HP:%d|%d лет",name,health,age); }
		
        if(PlayerInfo[targetid][pMember] >= 1 || PlayerInfo[targetid][pLeader] >= 1) {format(coordsstring, sizeof(coordsstring), "{B7FF00}Лет в штате: %d\nExP:%d/%d\n.V.i.p.: %s\nПол: %s\nНаличные: $%d\nНомер телефона: %d\nНаркотиков: %d\tМатериалов: %d\nОрганизация: %s\tРанк: %s\n№ Дома: %d\t№ Бизнеса: %d\nУбийств: %d\tСмертей: %d\nЗамечаний: %d\tВаш IP: %d",level,exp,expamount,drank,atext,cash,pnumber,drugs,mats,ttext,rtext,housekey,bizkey,Kills,Deaths,warned,Playersip); }
		else if(PlayerInfo[targetid][pMember] == 0 || PlayerInfo[targetid][pLeader] == 0) {format(coordsstring, sizeof(coordsstring), "{B7FF00}Лет в штате: %d\nExP:%d/%d\n.V.i.p.: %s\nПол: %s\nНаличные: $%d\nНомер телефона: %d\nНаркотиков: %d\tМатериалов: %d\n№ Дома: %d\t№ Бизнеса: %d\nУбийств: %d\tСмертей: %d\nЗамечаний: %d\tВаш IP: %d", level,exp,expamount,drank,atext,cash,pnumber,drugs,mats,housekey,bizkey,Kills,Deaths,warned,Playersip); }
		else if(PlayerInfo[targetid][pMember] == 6 || PlayerInfo[targetid][pLeader] == 6) {format(coordsstring, sizeof(coordsstring), "{B7FF00}Лет в штате: %d\nExP:%d/%d\n.V.i.p.: %s\nПол: %s\nНаличные: $%d\nНомер телефона: %d\nНаркотиков: %d\tМатериалов: %d\nБанда: %s\tРанк: %s\n№ Дома: %d\t№ Бизнеса: %d\nУбийств: %d\tСмертей: %d\nЗамечаний: %d\tВаш IP: %d", level,exp,expamount,drank,atext,cash,pnumber,drugs,mats,ttext,rtext,housekey,bizkey,Kills,Deaths,warned,Playersip); }
		else if(PlayerInfo[targetid][pMember] >= 7 || PlayerInfo[targetid][pLeader] >= 7) {format(coordsstring, sizeof(coordsstring), "{B7FF00}Лет в штате: %d\nExP:%d/%d\n.V.i.p.: %s\nПол: %s\nНаличные: $%d\nНомер телефона: %d\nНаркотиков: %d\tМатериалов: %d\nОрганизация: %s\tРанк: %s\n№ Дома: %d\t№ Бизнеса: %d\nУбийств: %d\tСмертей: %d\nЗамечаний: %d\tВаш IP: %d", level,exp,expamount,drank,atext,cash,pnumber,drugs,mats,ttext,rtext,housekey,bizkey,Kills,Deaths,warned,Playersip); }
		else if(PlayerInfo[targetid][pMember] >= 13 || PlayerInfo[targetid][pLeader] >= 13) {format(coordsstring, sizeof(coordsstring), "{B7FF00}Лет в штате: %d\nExP:%d/%d\n.V.i.p.: %s\nПол: %s\nНаличные: $%d\nНомер телефона: %d\nНаркотиков: %d\tМатериалов: %d\nБанда: %s\tРанк: %s\n№ Дома: %d\t№ Бизнеса: %d\nУбийств: %d\tСмертей: %d\nЗамечаний: %d\tВаш IP: %d", level,exp,expamount,drank,atext,cash,pnumber,drugs,mats,ttext,rtext,housekey,bizkey,Kills,Deaths,warned,Playersip); }
		ShowPlayerDialog(playerid,8888,0,headstat,coordsstring,"Ок","Справка");
HTML Code:
		new coordsstring[972];
		new headstat[128]; 
//Это у нас массивы для форматов
HTML Code:
		if(age <= 20) { format(headstat, sizeof(headstat),"\t\t\t{FFFFFF}%s |HP:%d|%d лет",name,health,age); }
		else if(age == 21) { format(headstat, sizeof(headstat),"\t\t\t{FFFFFF}%s|HP:%d|%d год",name,health,age); }
		else if(age == 22) { format(headstat, sizeof(headstat),"\t\t\t{FFFFFF}%s|HP:%d|%d года",name,health,age); }
		else if(age == 23) { format(headstat, sizeof(headstat),"\t\t\t{FFFFFF}%s|HP:%d|%d года",name,health,age); }
		else if(age == 24) { format(headstat, sizeof(headstat),"\t\t\t{FFFFFF}%s|HP:%d|%d года",name,health,age); }
		else if(age > 25) { format(headstat, sizeof(headstat),"\t\t\t{FFFFFF}%s|HP:%d|%d лет",name,health,age); }

//Это проверка на возраст,и основная часть Статистики.Скрин ниже
HTML Code:
        if(PlayerInfo[targetid][pMember] >= 1 || PlayerInfo[targetid][pLeader] >= 1) {format(coordsstring, sizeof(coordsstring), "{B7FF00}Лет в штате: %d\nExP:%d/%d\n.V.i.p.: %s\nПол: %s\nНаличные: $%d\nНомер телефона: %d\nНаркотиков: %d\tМатериалов: %d\nОрганизация: %s\tРанк: %s\n№ Дома: %d\t№ Бизнеса: %d\nУбийств: %d\tСмертей: %d\nЗамечаний: %d\tВаш IP: %d",level,exp,expamount,drank,atext,cash,pnumber,drugs,mats,ttext,rtext,housekey,bizkey,Kills,Deaths,warned,Playersip); }
		else if(PlayerInfo[targetid][pMember] == 0 || PlayerInfo[targetid][pLeader] == 0) {format(coordsstring, sizeof(coordsstring), "{B7FF00}Лет в штате: %d\nExP:%d/%d\n.V.i.p.: %s\nПол: %s\nНаличные: $%d\nНомер телефона: %d\nНаркотиков: %d\tМатериалов: %d\n№ Дома: %d\t№ Бизнеса: %d\nУбийств: %d\tСмертей: %d\nЗамечаний: %d\tВаш IP: %d", level,exp,expamount,drank,atext,cash,pnumber,drugs,mats,housekey,bizkey,Kills,Deaths,warned,Playersip); }
		else if(PlayerInfo[targetid][pMember] == 6 || PlayerInfo[targetid][pLeader] == 6) {format(coordsstring, sizeof(coordsstring), "{B7FF00}Лет в штате: %d\nExP:%d/%d\n.V.i.p.: %s\nПол: %s\nНаличные: $%d\nНомер телефона: %d\nНаркотиков: %d\tМатериалов: %d\nБанда: %s\tРанк: %s\n№ Дома: %d\t№ Бизнеса: %d\nУбийств: %d\tСмертей: %d\nЗамечаний: %d\tВаш IP: %d", level,exp,expamount,drank,atext,cash,pnumber,drugs,mats,ttext,rtext,housekey,bizkey,Kills,Deaths,warned,Playersip); }
		else if(PlayerInfo[targetid][pMember] >= 7 || PlayerInfo[targetid][pLeader] >= 7) {format(coordsstring, sizeof(coordsstring), "{B7FF00}Лет в штате: %d\nExP:%d/%d\n.V.i.p.: %s\nПол: %s\nНаличные: $%d\nНомер телефона: %d\nНаркотиков: %d\tМатериалов: %d\nОрганизация: %s\tРанк: %s\n№ Дома: %d\t№ Бизнеса: %d\nУбийств: %d\tСмертей: %d\nЗамечаний: %d\tВаш IP: %d", level,exp,expamount,drank,atext,cash,pnumber,drugs,mats,ttext,rtext,housekey,bizkey,Kills,Deaths,warned,Playersip); }
		else if(PlayerInfo[targetid][pMember] >= 13 || PlayerInfo[targetid][pLeader] >= 13) {format(coordsstring, sizeof(coordsstring), "{B7FF00}Лет в штате: %d\nExP:%d/%d\n.V.i.p.: %s\nПол: %s\nНаличные: $%d\nНомер телефона: %d\nНаркотиков: %d\tМатериалов: %d\nБанда: %s\tРанк: %s\n№ Дома: %d\t№ Бизнеса: %d\nУбийств: %d\tСмертей: %d\nЗамечаний: %d\tВаш IP: %d", level,exp,expamount,drank,atext,cash,pnumber,drugs,mats,ttext,rtext,housekey,bizkey,Kills,Deaths,warned,Playersip); }

//Это проверка у нас на фракции,и сама статистика.
Теперь по подробнее пошли...

HTML Code:
  if(PlayerInfo[targetid][pMember] >= 1 || PlayerInfo[targetid][pLeader] >= 1) //сама проверка;>=1 Это значит,что ID фракции равен или больше единицы.
{
//Содержимое
return 1;
}
else if(PlayerInfo[targetid][pMember] >= 13 || PlayerInfo[targetid][pLeader] >= 13)  //сама проверка;>=13 Это значит,что ID фракции равен или больше 13.
{
//Содержимое
return 1;
}
С проверками думаю все ясно,теперь пошли к самим форматам.
Значит формат состоит из Массива,содержимого и переменных.
Значит "new string[64];"- 64 это кол-во символов в массиве.
Code:
format(string,sizeof(string),"Текст...",переменная,переменная,переменная);//Format(массив,размер массива,"текст",переменная,переменная,переменная);
format(coordsstring, sizeof(coordsstring), "{B7FF00}Лет в штате: %d",level);//Вот вам пример,{B7FF00} - цвет текста:)
Code:
%d - числовое значение
%s - тестовое значение
Извиняюсь,если что-то не ясно.

PS.Помните,что Format(...); и format(...); и forMat(...); и так далее ,это разные вещи!

Sorry, but this is only for Russian. Or for those who know him
Good LuCky.
Reply
#2

Nice tutorial. But this section is for english (since most of people talk english). So, you should post on russian section.
Reply
#3

I will do better, I'm going to write TuT on English
PleAse Wait
PS.Fanx.
Reply
#4

Hello everyone, this lesson now and in the English language.
The essence of this work to teach you how to work with the formats.
HTML Code:
		new coordsstring[972];//[972] - amount of symbols in an array
		new headstat[128]; //[128] - amount of symbols in an array.
/*Is Array(Massiv)
Unfortunately there are limitations in Samp. 1000 (1024) symbol on the line
https://sampwiki.blast.hk/wiki/Limits
*/
NeXT...

HTML Code:
if(PlayerInfo[targetid][pMember] >= 1 || PlayerInfo[targetid][pLeader] >= 1) 
{
format(coordsstring,sizeof(coordsstring),"LvL : %d\tExp: %d\nTeam: %s\tRank: %s",level,exp,team,rank);
}

else if(PlayerInfo[targetid][pMember] >= 5 || PlayerInfo[targetid][pLeader] >= 5) 
{
format(coordsstring,sizeof(coordsstring),"LvL : %d\tExp: %d\nOrG: %s\tRank: %s",level,exp,team,rank);
}


else if(PlayerInfo[targetid][pMember] >= 7 || PlayerInfo[targetid][pLeader] >= 7) 
{
format(coordsstring,sizeof(coordsstring),"LvL : %d\tExp: %d\nGaNG: %s\tRank: %s",level,exp,team,rank);
}

/*
if(PlayerInfo[targetid][pMember] >= 1 || PlayerInfo[targetid][pLeader] >= 1) -verification on the organization or gang

else if(PlayerInfo[targetid][pMember] >= 5 || PlayerInfo[targetid][pLeader] >= 5) -verification on the organization or gang
On audits I think all is clear now gone to the very format.

HTML Code:
new string[512];
format(string,sizeof(string),"Text...",variable,variable,variable);//Format(massiv,size of massiv,"text",variable,variable,variable);
format(coordsstring, sizeof(coordsstring), "{B7FF00}LvL: %d",level);//for example,{B7FF00} - txt color:)
Code:
ShowPlayerDialog(playerid,8888,0,"Head",string,"Ок","help");
HTML Code:
Format Strings
Placeholder	 Meaning
%b	 Inserts a number at this position in binary radix
%c	 Inserts a single character.
%d	 Inserts an integer (whole) number
%f	 Inserts a floating point number.
%i	 Inserts an integer.
%s	 Inserts a string.
%x	 Inserts a number in hexadecimal notation.
%%	 Inserts the literal '%'

PS. Remember that the Format (...); and format (...); and forMat (...); and so on, are two different things!
Good LuCky.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)