TextDrawSetString шоб его *** =(
#1

Ещё раз здравствуйте ^_^
На этот раз прошу помощи в сфере Текст дравов, а именно в следующем:
-------------
Допустим:
Code:
public OnPlayerRequestClass(playerid, classid)
{

// ля ля ля траляляля

	case 0:
	{
	GameTextForPlayer(playerid,"LOL - NAME",3000,3);
	SetPlayerSkin(playerid, 103);
	}
  	case 1:
    {
    GameTextForPlayer(playerid,"2LOL - 2NAME",3000,3);
    SetPlayerSkin(playerid, 104);
	}

	}
	return 1;
}
Вместо NAME и 2NAME можно установить любое имя с помощью
Code:
public OnPlayerCommandText(playerid, cmdtext[])
P.S.
Пожалуйста предоставьте пример команды для смены имён...

---------------
Далее
Нужно чтобы Имена изменённые с помощью
Code:
public OnPlayerCommandText(playerid, cmdtext[])
Были сменены в:
Code:
    format(TEXTDRAWNAME,200," %s = %s ",Name, 2Name);
    TextDrawSetString(roundt, TEXTDRAWNAME);
================================================
P.S.
Очень прошу помочь... это мечта всей моей жизни в pawno ^^
Reply
#2

Люди помогите пожалуйста...
Reply
#3

мне кажется ты местами путаешь GameText и TextDraw.
если name это параметр устанавливаемый игроком(и не зависящий от его имени), то его надо где-то хранить, стало быть в OnPlayerCommandText мы его сохраняем, а в OnPlayerRequestClass считываем.
Reply
#4

name = любое слово которое будет отображаться , и которое можно поменять с помощью команды на любое другое ...
и текст драв и гейм текст нужны
=====
объясните с ПРИМЕРОМ плз...а то что написал ты я ни чего не понял к сожалению...
Reply
#5

Я так понял нужна команда чтобы менять эти 2 текста и чтобы они автоматом менялись в текстдраве?
Вот пример, вводишь команду после нее через пробел параметр (1 или 2) т.е. NAME или 2NAME. После цифры вводишь текст. одновременно оба текста этой командой не поменять, только поочередно . но можешь изменить код так чтобы можно было ввести оба текста .
И так в OnPlayerCommandText добавь команду
Code:
new cmd[255]; 
new idx; 
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/NewName", true) == 0)
{
	new tmp[255];
	new prich[255];
	new prichPro[255];
	new prt=0,prt1=0;
	new ID;
	tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)) SendClientMessage(playerid,0xFFFFFFAA,"Ты не указал параметр: /NewName [ID-параметра] [текст];
	else
	{
		ID=strval(tmp);
		if(ID!=1&&ID!=2)
		{
			SendClientMessage(playerid,0xFFFFFFAA,"Указан неверный параметр, параметр может быть только 1 или 2");
			return 1;
		}
		while(prt1!=1) //цикл считывает текст введенный после параметра
		{
			prich = strtok(cmdtext, idx);
			if(!strlen(prich)) prt1=1;
			else
			{
				format(prichPro, sizeof(prichPro), "%s %s",prichPro,prich);
				prt++;
			}
		}
		if(prt==0)
		{
		           SendClientMessage(playerid,0xFFFFFFAA,"Ты не указал текст");
			return 1;
		}
		if(ID==1) strmid(Name,prichPro,0,strlen(prichPro));//если введено 1, то NAME будет приравнен текст после параметра 
		if(ID==2) strmid(2Name,prichPro,0,strlen(prichPro));//если введено 2, то 2NAME будет приравнен текст после параметра 
		format(TEXTDRAWNAME,200," %s = %s ",Name, 2Name);
		TextDrawSetString(roundt, TEXTDRAWNAME);
	}
	return 1
}
Reply
#6

спасибо)
ну а сами name и name2:
в начале:
Code:
new name,
   name2;
?
это вопрос для твердости)
Reply
#7

yep, только не new name, name2; a new name[128], name2[128];
Reply
#8

ok
sps
=)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)