Проблемка при записи string в переменную. -
safari - 13.03.2012
Доброго времени суток!
Проблемка такая.Хочу записать в переменную playerid Ник(ReturnUser()) а в переменную ReturnUserа ник(playerid)
Вот как делаю.Но что то и мне и ему мой ник записывает, причем без первого или двух первых букв в нике.
PHP код:
new pname[24],tname[24];
GetPlayerName(playerid,pname,sizeof(pname));
GetPlayerName(tgt,tname,sizeof(tname));
strins(Premen[playerid],tname,0);
strins(Peremen[tgt],pname,0);
Re: Проблемка при записи string в переменную. -
jhonyxakep - 13.03.2012
Quote:
strins(Premen[playerid],tname,0);
|
а чего это 0 в конце? strins(Premen[playerid],tname,strlen(tname)+strlen(Premen[playerid]));
Re: Проблемка при записи string в переменную. -
safari - 13.03.2012
PHP код:
string[] - переменная в которую добавляем .
const substr[] - текст\переменная которою добавляем.
pos - позиция первого символа добавляемого
maxlength - размер переменой в которою вписываем.
получается так наверно
PHP код:
strins(Premen[playerid],tname,0,strlen(Premen[playerid]))
вроде записывает норм одному если. Но когда сразу двоим записываю мой ник и у меня и у него записывается вот так hn_Rembo а должно John_Rembo!
Re: Проблемка при записи string в переменную. -
stabker - 14.04.2012
Зачем получать имя в переменную чтобы потом опять записать в другую переменную?
Через GetPlayerName сразу записывай в нужные переменные
Re: Проблемка при записи string в переменную. -
OKStyle - 15.04.2012
pawn Код:
GetPlayerName(playerid, Premen[playerid], MAX_PLAYER_NAME);
GetPlayerName(tgt, Peremen[tgt], MAX_PLAYER_NAME);
Re: Проблемка при записи string в переменную. -
iEnemY - 15.04.2012
Можно упростить до максимума:
pawn Код:
stock ReturnName(_p) // ну или для краткости RN(_p)
{
new _n[24];
GetPlayerName(_p, _n, sizeof(_n));
return _n;
}
// Использование, к примеру:
new _s[256];
format(_s, sizeof(_s), "Игрок %s умер", ReturnName(_p));
SendClientMessageToAll(0xFF0000F6, _s);
// Или же...
format(PlayerInfo[playerid][pName], 20, "%s", ReturnName(playerid)); // Запись ника в переменную...
Re: Проблемка при записи string в переменную. -
OKStyle - 15.04.2012
Это далеко не максимум. Можно без кастомных функций записывать имя в переменную. Уже давно проскакивало на форуме.
Re: Проблемка при записи string в переменную. -
iEnemY - 15.04.2012
Да, где то даже видел вариант с хранением имён в переменных. Но это наиболее удобный вариант.
Re: Проблемка при записи string в переменную. -
Stepashka - 15.04.2012
Quote:
Originally Posted by iEnemY
Да, где то даже видел вариант с хранением имён в переменных. Но это наиболее удобный вариант.
|
жги ещё
Re: Проблемка при записи string в переменную. -
stabker - 15.04.2012
Quote:
Originally Posted by iEnemY
Да, где то даже видел вариант с хранением имён в переменных. Но это наиболее удобный вариант.
|
При коннекте/авторизации можно сразу имя получать и в переменную записывать, а потом использовать где надо. Помоему если об этом говорить, то это самый лучший вариант
Re: Проблемка при записи string в переменную. -
iEnemY - 15.04.2012
Ну я его упоминал... а товарищ на s делает вид, что есть еще что-то лучше.
Re: Проблемка при записи string в переменную. -
OKStyle - 15.04.2012
Quote:
Originally Posted by iEnemY
Ну я его упоминал... а товарищ на s делает вид, что есть еще что-то лучше.
|
Чет я не видел, чтобы ты про это говорил. Или "сохранение имён в переменных" и было тем самым упоминанием?
Re: Проблемка при записи string в переменную. -
iEnemY - 15.04.2012
Так. Сохранение имени (ника) в переменную (массив), в какой либо момент. И дальнейшее использования содержимого массива по айди игрока. Мы об этом говорим? Я сразу об этом и начал.
Re: Проблемка при записи string в переменную. -
Stepashka - 15.04.2012
Quote:
Originally Posted by iEnemY
Можно упростить до максимума:
pawn Код:
stock ReturnName(_p) // ну или для краткости RN(_p) { new _n[24]; GetPlayerName(_p, _n, sizeof(_n)); return _n; } // Использование, к примеру: new _s[256]; format(_s, sizeof(_s), "Игрок %s умер", ReturnName(_p)); SendClientMessageToAll(0xFF0000F6, _s); // Или же... format(PlayerInfo[playerid][pName], 20, "%s", ReturnName(playerid)); // Запись ника в переменную...
|
Quote:
Originally Posted by iEnemY
Да, где то даже видел вариант с хранением имён в переменных. Но это наиболее удобный вариант.
|
ты вообще за своими мыслями следишь? Или у тебя раздвоение личности?
Ты говоришь что видел сохранение в переменную, но предложенный тобой вариант наиболее удобный. Вот я тебе и говорю: "жги ещё!". Твои показания путаются.
Re: Проблемка при записи string в переменную. -
iEnemY - 16.04.2012
Когда я говорил "наиболее удобный", я имел ввиду для меня. Для остальных, вероятно, удобны другие варианты. В следующий раз надо будет дописывать ИМХО...
Re: Проблемка при записи string в переменную. -
safari - 16.04.2012
Ребят доброго времени суток!Спасибо всем я тут разобрался!
решение:
PHP код:
new Nick[max_players][24];//переменная
new pname[24],tname[24],string[24];
GetPlayerName(playerid,pname,sizeof(pname));//ник игрока
GetPlayerName(tg,tname,sizeof(tname));//ник 2-го игрока
strmid(Nick[tg], pname, 0, strlen(pname), 255);//ко 2-игроку имя 1-го
strmid(Nick[playerid], tname, 0, strlen(tname), 255);//к 1-му имя 2-го
все пашет!
Re: Проблемка при записи string в переменную. -
Stepashka - 16.04.2012
Quote:
Originally Posted by safari
Ребят доброго времени суток!Спасибо всем я тут разобрался!
решение:
PHP код:
new Nick[max_players][24];//переменная
new pname[24],tname[24],string[24];
GetPlayerName(playerid,pname,sizeof(pname));//ник игрока
GetPlayerName(tg,tname,sizeof(tname));//ник 2-го игрока
strmid(Nick[tg], pname, 0, strlen(pname), 255);//ко 2-игроку имя 1-го
strmid(Nick[playerid], tname, 0, strlen(tname), 255);//к 1-му имя 2-го
все пашет!
|
оставь в покое промежуточные переменные!
pawn Код:
new Nick[max_players][24];//переменная
GetPlayerName(playerid, Nick[tg], MAX_PLAYER_NAME);//ко 2-игроку имя 1-го
GetPlayerName(tg, Nick[playerid], MAX_PLAYER_NAME);//к 1-му имя 2-го