03.09.2010, 06:20
Я так понял нужна команда чтобы менять эти 2 текста и чтобы они автоматом менялись в текстдраве?
Вот пример, вводишь команду после нее через пробел параметр (1 или 2) т.е. NAME или 2NAME. После цифры вводишь текст. одновременно оба текста этой командой не поменять, только поочередно . но можешь изменить код так чтобы можно было ввести оба текста .
И так в OnPlayerCommandText добавь команду
Вот пример, вводишь команду после нее через пробел параметр (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 }