shape1
shape2
shape3
shape4
shape7
shape8

Статистика игрока


Статус
Закрыто для дальнейших ответов.

andrei58russ

Освоившийся
Пользователь
19.04.2016
594
1
31
0
32
Всем привет!Нужна ваша помощь,я так то начал разбираться только немного не понимаю что да как,как сделать меню,а точнее статистику игрока в окне? У меня вся статистика пишется в чате,а я хочу что бы она была в окне вся полностью!Прошу всякую  фигню не писать,только по помощи! 

 

noname_idk

Гуру
Пользователь
19.07.2015
4 046
7
787
0
Скриптер
@andrei58russ, можно конечно, только запятую перенесите, иначе она будет в начале каждой из строк:

format(str,sizeof(str),"Рыбa:[%d],\n Нaибoльшaя pыбa:[%d],\n Нaкaзaния:[%d],\n Смepтeй в poзыcкe:[%d],\n Выговоры:[%d]\n", fishes,bigfish,arrests,warrests,Account[giveplayerid][pVigovor]);
strcat(sctring,str);

Хотя, на вашем месте, я бы их вообще убрал (запятые).

 
Последнее редактирование модератором:

andrei58russ

Освоившийся
Пользователь
19.04.2016
594
1
31
0
32
@Elrmrnt-Kritik,Блин сижу 5 минут так и не понял почему ерроры!

C:\Users\Àíäðåé\Desktop\Astera RolePlay 2000ð\gamemodes\cream1.2.pwn(11910) : error 001: expected token: "-string end-", but found "-identifier-"
C:\Users\Àíäðåé\Desktop\Astera RolePlay 2000ð\gamemodes\cream1.2.pwn(11910) : warning 215: expression has no effect
C:\Users\Àíäðåé\Desktop\Astera RolePlay 2000ð\gamemodes\cream1.2.pwn(11910) : warning 215: expression has no effect
C:\Users\Àíäðåé\Desktop\Astera RolePlay 2000ð\gamemodes\cream1.2.pwn(11910) : warning 215: expression has no effect
C:\Users\Àíäðåé\Desktop\Astera RolePlay 2000ð\gamemodes\cream1.2.pwn(11910) : warning 215: expression has no effect
C:\Users\Àíäðåé\Desktop\Astera RolePlay 2000ð\gamemodes\cream1.2.pwn(11910) : warning 215: expression has no effect
C:\Users\Àíäðåé\Desktop\Astera RolePlay 2000ð\gamemodes\cream1.2.pwn(11910) : warning 215: expression has no effect
C:\Users\Àíäðåé\Desktop\Astera RolePlay 2000ð\gamemodes\cream1.2.pwn(11910) : error 001: expected token: ";", but found ")"
C:\Users\Àíäðåé\Desktop\Astera RolePlay 2000ð\gamemodes\cream1.2.pwn(11910) : error 029: invalid expression, assumed zero
C:\Users\Àíäðåé\Desktop\Astera RolePlay 2000ð\gamemodes\cream1.2.pwn(11910) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.


Строка

Код:
format(s, 150, "Уpoвeнь:[%d]\n Пoл:[%s]\n Вoзpacт:[%d]\n Наличные:[%d руб]\n Банк:[%d руб]\n Нoмep:[%d]\n" level,apol,age,eGetPlayerMoney(giveplayerid),account,pnumber);
 

noname_idk

Гуру
Пользователь
19.07.2015
4 046
7
787
0
Скриптер
@andrei58russ, вставьте следующую строку заместо данной:

Код:
format(str,sizeof(str), "Уpoвeнь:[%d]\n Пoл:[%s]\n Вoзpacт:[%d]\n Наличные:[%d руб]\n Банк:[%d руб]\n Нoмep:[%d]\n" level,apol,age,eGetPlayerMoney(giveplayerid),account,pnumber);
 

noname_idk

Гуру
Пользователь
19.07.2015
4 046
7
787
0
Скриптер
@andrei58russ, а, так где запятая? 

Код:
format(str,sizeof(str), "Уpoвeнь:[%d]\n Пoл:[%s]\n Вoзpacт:[%d]\n Наличные:[%d руб]\n Банк:[%d руб]\n Нoмep:[%d]\n", level,apol,age,eGetPlayerMoney(giveplayerid),account,pnumber);
 

andrei58russ

Освоившийся
Пользователь
19.04.2016
594
1
31
0
32
@Elrmrnt-Kritik,Так статистику сделал,только так и не понял как делать!Вот к примеру сделал показать лицензии

сам код

{
if(sscanf(params, "u", params[0])) return SCM(playerid, -1, "ИНФО: /showlic [ID]");
if(!IsPlayerConnected(params[0])) return SCM(playerid, -1, "Этот игрок оффлайн!");
if(GetDistancePlayer(playerid, params[0]) > 1.5) return SCM(playerid, COLOR_GREY, "Вы слишком далеко!");
if(params[0] == playerid) return SCM(playerid, COLOR_GREY, "Чтобы проверить свои лицензии, используйте /licenses");
new A[5], B[5], C[5], D[5], E[5], F[5], G[5], H[5], I[5], s[55];
switch(Account[playerid][pCarLic])
{
case 0: A = "Нет";
case 1: A = "Есть";
}
switch(Account[playerid][pFlyLic])
{
case 0: B = "Нет";
case 1: B = "Есть";
}
switch(Account[playerid][pBoatLic])
{
case 0: C = "Нет";
case 1: C = "Есть";
}
switch(Account[playerid][pFishLic])
{
case 0: D = "Нет";
case 1: D = "Есть";
}
switch(Account[playerid][pGunLic])
{
case 0: E = "Нет";
case 1: E = "Есть";
}
switch(Account[playerid][pMotoLic])
{
case 0: F = "Нет";
case 1: F = "Есть";
}
switch(Account[playerid][pTruckLic])
{
case 0: G = "Нет";
case 1: G = "Есть";
}
switch(Account[playerid][pBusLic])
{
case 0: H = "Нет";
case 1: H = "Есть";
}
switch(Account[playerid][pGunLicAllow])
{
case 0: I = "Нет";
case 1: I = "Есть";
}
format(s, sizeof(s), "|__________ Лицензии %s __________|", gn(playerid));
SCM(params[0], -1, s);
format(s, sizeof(s), "Права категории 'А': %s", F);
SCM(params[0], COLOR_GREY, s);
format(s, sizeof(s), "Права категории 'B' %s", A);
SCM(params[0], COLOR_GREY, s);
format(s, sizeof(s), "Права категории 'C' %s", G);
SCM(params[0], COLOR_GREY, s);
format(s, sizeof(s), "Права категории 'D' %s", H);
SCM(params[0], COLOR_GREY, s);
format(s, sizeof(s), "Права категории 'F': %s", D);
SCM(params[0], COLOR_GREY, s);
format(s, sizeof(s), "Права на управление лодкой: %s", B);
SCM(params[0], COLOR_GREY, s);
format(s, sizeof(s), "Лицензия на рыбалку: %s", C);
SCM(params[0], COLOR_GREY, s);
format(s, sizeof(s), "Оружие: Разрешение %s | Лицензия %s", I, E);
SCM(params[0], COLOR_GREY, s);
if(GPVI(playerid, "MASK")) format(s, sizeof(s), "Незнакомец предъявляет вам свои лицензии");
else format(s, sizeof(s), "%s предъявляет вам свои лицензии", gn(playerid));
SCM(params[0], COLOR_LIGHTBLUE, s);
format(s, sizeof(s), "Вы показали свои лицензии %s", gn(params[0]));
SCM(playerid, COLOR_LIGHTBLUE, s);
return 1;

То что у меня получилось

new sctring[2000],str[128];
format(str,sizeof(str),"Ïðàâà êàòåãîðèè 'À': %s", F);
strcat(sctring,str);
format(str,sizeof(str),"Ïðàâà êàòåãîðèè 'B' %s", A);
strcat(sctring,str);
format(str,sizeof(str),"Ïðàâà êàòåãîðèè 'C' %s", G);
strcat(sctring,str);
format(str,sizeof(str),"Ïðàâà êàòåãîðèè 'D' %s", H);
strcat(sctring,str);
format(str,sizeof(str),"Ïðàâà êàòåãîðèè 'F': %s", D);
strcat(sctring,str);
format(str,sizeof(str),"Ïðàâà íà óïðàâëåíèå ëîäêîé: %s", B);
strcat(sctring,str);
format(str,sizeof(str),"Ëèöåíçèÿ íà ðûáàëêó: %s", C);
strcat(sctring,str);
format(str,sizeof(str),"Îðóæèå: Ðàçðåøåíèå %s | Ëèöåíçèÿ %s", I, E);
strcat(sctring,str);
new string1[128];
format(string, sizeof(string), "Ëèöåíçèè %s",gn(giveplayerid));
ShowPlayerDialog(playerid, 10000, DIALOG_STYLE_MSGBOX, string1, string, "Õîðîøî", "");
if(GPVI(playerid, "MASK")) format(s, sizeof(s), "Íåçíàêîìåö ïðåäúÿâëÿåò âàì ñâîè ëèöåíçèè");
else format(s, sizeof(s), "%s ïðåäúÿâëÿåò âàì ñâîè ëèöåíçèè", gn(playerid));
SCM(params[0], COLOR_LIGHTBLUE, s);
format(s, sizeof(s), "Âû ïîêàçàëè ñâîè ëèöåíçèè %s", gn(params[0]));
SCM(playerid, COLOR_LIGHTBLUE, s);
return 1;

Но у меня ерроры на данную строку

Код:
new string1[128]; 
 

noname_idk

Гуру
Пользователь
19.07.2015
4 046
7
787
0
Скриптер
@andrei58russ, проблема в том, что вы объявляете переменную string1, а используете string. После new string1[128]; все string замените на string1.
 

noname_idk

Гуру
Пользователь
19.07.2015
4 046
7
787
0
Скриптер
@andrei58russ,
Что касается команды /license, почему вы форматируете все строки, но не показываете сам диалог? Перед return true добавьте:

ShowPlayerDialog(playerid, 10010, DIALOG_STYLE_MSGBOX, "Лицензии", sctring, "Хорошо", "");


По поводу /showLic:
1. Вы используете в отформатированной строке аргумент, но не придаете ему значение. Почему?
Код:
format(string1, sizeof(string1), "Ëèöåíçèè %s\n");
Удалите %s или перед этой строкой добавьте получение имени игрока:

new sendername;
GetPlayerName(playerid, sendername, sizeof(sendername);
format(string1,sizeof(string1), "Лицензии игрока %s", sendername);

2.

ShowPlayerDialog(playerid, 10000, DIALOG_STYLE_MSGBOX, string1, string1, "Õîðîøî", "");
В скобках на первом месте указывается тот игрок, которому нужно показать диалог. playerid - тот игрок, который ввел команду. То есть какой бы он не указал ID, диалог высветится ему. Поэтому вместо playerid нужен params[0] (показать диалог тому, чей ID был введен):

ShowPlayerDialog(params[0], 10000, DIALOG_STYLE_MSGBOX, string1, string1, "Õîðîøî", "");
И в строке выше есть еще один недочет, название диалога и его содержимое получают одну и ту же переменную, такого быть не должно. В вашем коде string1 - название, sctring - содержимое. Поэтому строку заменяем на эту:

Код:
ShowPlayerDialog(params[0], 10000, DIALOG_STYLE_MSGBOX, string1, sctring, "Õîðîøî", "");
 
Последнее редактирование модератором:

andrei58russ

Освоившийся
Пользователь
19.04.2016
594
1
31
0
32
@Elrmrnt-Kritik,Короче сделал показать себе лицензии и мне он показал

if(strcmp(cmd,"/licenses",true)==0)
{
new A[5], B[5], C[5], D[5], E[5], F[5], G[5], H[5], I[5];
switch(Account[playerid][pCarLic])
{
case 0: A = "Нет";
case 1: A = "Есть";
}
switch(Account[playerid][pFlyLic])
{
case 0: B = "Нет";
case 1: B = "Есть";
}
switch(Account[playerid][pBoatLic])
{
case 0: C = "Нет";
case 1: C = "Есть";
}
switch(Account[playerid][pFishLic])
{
case 0: D = "Нет";
case 1: D = "Есть";
}
switch(Account[playerid][pGunLic])
{
case 0: E = "Нет";
case 1: E = "Есть";
}
switch(Account[playerid][pMotoLic])
{
case 0: F = "Нет";
case 1: F = "Есть";
}
switch(Account[playerid][pTruckLic])
{
case 0: G = "Нет";
case 1: G = "Есть";
}
switch(Account[playerid][pBusLic])
{
case 0: H = "Нет";
case 1: H = "Есть";
}
switch(Account[playerid][pGunLicAllow])
{
case 0: I = "Нет";
case 1: I = "Есть";
}
new sctring[2000],str[128];
format(str,sizeof(str),"Права категории 'А': %s\n", F);
strcat(sctring,str);
format(str,sizeof(str),"Права категории 'B' %s\n", A);
strcat(sctring,str);
format(str,sizeof(str),"Права категории 'C' %s\n", G);
strcat(sctring,str);
format(str,sizeof(str),"Права категории 'D' %s\n", H);
strcat(sctring,str);
format(str,sizeof(str),"Права категории 'F': %s\n", D);
strcat(sctring,str);
format(str,sizeof(str),"Права на управление лодкой: %s\n", B);
strcat(sctring,str);
format(str,sizeof(str),"Лицензия на рыбалку: %s\n", C);
strcat(sctring,str);
format(str,sizeof(str),"Оружие: Разрешение %s | Лицензия %s\n", I, E);
strcat(sctring,str);
new string1[128];
format(string1, sizeof(string1), "Мои лицензии %s");
ShowPlayerDialog(playerid, 10000, DIALOG_STYLE_MSGBOX, string1, sctring, "Хорошо", "");
return 1;

По поводу показать кому то оставлю так пока что,завтра проверю с одним игроком и отпишу тогда работает или нет

Код:
 	if(strcmp(cmd,"/showlic", true) == 0 || strcmp(cmd,"/права", true) == 0)
    {
        if(sscanf(params, "u", params[0])) return SCM(playerid, -1, "ИНФО: /showlic [ID]");
        if(!IsPlayerConnected(params[0])) return SCM(playerid, -1, "Этот игрок оффлайн!");
        if(GetDistancePlayer(playerid, params[0]) > 1.5) return SCM(playerid, COLOR_GREY, "Вы слишком далеко!");
        if(params[0] == playerid) return SCM(playerid, COLOR_GREY, "Чтобы проверить свои лицензии, используйте /licenses");
        new A[5], B[5], C[5], D[5], E[5], F[5], G[5], H[5], I[5], s[55];
        switch(Account[playerid][pCarLic])
		{
			case 0: A = "Нет";
			case 1: A = "Есть";
		}
        switch(Account[playerid][pFlyLic])
		{
			case 0: B = "Нет";
			case 1: B = "Есть";
		}
        switch(Account[playerid][pBoatLic])
		{
		    case 0: C = "Нет";
			case 1: C = "Есть";
		}
        switch(Account[playerid][pFishLic])
		{
			case 0: D = "Нет";
			case 1: D = "Есть";
		}
        switch(Account[playerid][pGunLic])
		{
			case 0: E = "Нет";
			case 1: E = "Есть";
		}
        switch(Account[playerid][pMotoLic])
		{
			case 0: F = "Нет";
			case 1: F = "Есть";
		}
        switch(Account[playerid][pTruckLic])
		{
			case 0: G = "Нет";
			case 1: G = "Есть";
		}
        switch(Account[playerid][pBusLic])
		{
			case 0: H = "Нет";
			case 1: H = "Есть";
		}
        switch(Account[playerid][pGunLicAllow])
		{
			case 0: I = "Нет";
			case 1: I = "Есть";
		}
		new sctring[2000],str[128];
		format(str,sizeof(str),"Права категории 'А': %s\n", F);
		strcat(sctring,str);
		format(str,sizeof(str),"Права категории 'B' %s\n", A);
		strcat(sctring,str);
		format(str,sizeof(str),"Права категории 'C' %s\n", G);
		strcat(sctring,str);
		format(str,sizeof(str),"Права категории 'D' %s\n", H);
		strcat(sctring,str);
		format(str,sizeof(str),"Права категории 'F': %s\n", D);
		strcat(sctring,str);
        format(str,sizeof(str),"Права на управление лодкой: %s\n", B);
		strcat(sctring,str);
		format(str,sizeof(str),"Лицензия на рыбалку: %s\n", C);
		strcat(sctring,str);
		format(str,sizeof(str),"Оружие: Разрешение %s | Лицензия %s\n", I, E);
		strcat(sctring,str);
	    new string1[128];
		format(string1, sizeof(string1), "Лицензии %s\n");
		ShowPlayerDialog(playerid, 10001, DIALOG_STYLE_MSGBOX, string1, string1, "Хорошо", "");
        if(GPVI(playerid, "MASK")) format(s, sizeof(s), "Незнакомец предъявляет вам свои лицензии");
		else format(s, sizeof(s), "%s предъявляет вам свои лицензии", gn(playerid));
		SCM(params[0], COLOR_LIGHTBLUE, s);
		format(s, sizeof(s), "Вы показали свои лицензии %s", gn(params[0]));
		SCM(playerid, COLOR_LIGHTBLUE, s);
	    return 1;
 	} 
 

noname_idk

Гуру
Пользователь
19.07.2015
4 046
7
787
0
Скриптер
@andrei58russ, чтобы играть одновременно с одного компьютера и с двух аккаунтов есть программа SandBox (может я ошибся в названии на англианглийском языке, но ее еще называют браузер в песочнице). Ей воспользуйтесь и не ждите никого.
 
Последнее редактирование модератором:
Статус
Закрыто для дальнейших ответов.