PDA

Просмотр полной версии : [Вопрос] error 035



DmX
18.10.2015, 19:23
Строка:

strmid(PlayerInfo[playerid][pMail],GetPVarString(playerid,"Mail"), 0, strlen(GetPVarString(playerid,"Mail")),64);

Ошибки при компиляции.

warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
error 035: argument type mismatch (argument 2)

Daniel_Cortez
18.10.2015, 19:27
GetPVarString

Osetin
18.10.2015, 19:41
Названия тем.
1. Создавайте темы с понятными названиями.
Для примера рассмотрим создание темы с вопросом по скриптингу:
Название темы должно вкратце говорить о сути проблемы, а не только о том, что у Вас есть какая-то проблема.
Примеры плохих названий:
"Помогите пожалуйста!", "Сервер не работает!", "Что делать?", "Нужна ваша помощь!", "Подскажите!", "Вопрос", "Ааааааа!".

Будьте добры, перед созданием тем, читать правила. Устное предупреждение вам. Название темы отредактировано. Тема перемещена в соответствующий раздел.

DmX
18.10.2015, 22:04
strmid(PlayerInfo[playerid[pMail],GetPVarString(playerid,"Mail",MAIL,sizeof(MAIL)),0,strlen(GetPVarString(playerid,"Mail",MAIL,sizeof(MAIL))),64);

error 035: argument type mismatch (argument 2)
error 035: argument type mismatch (argument 1)

$continue$
18.10.2015, 22:09
Что, Вы хотите получить на выходе?

DmX
18.10.2015, 22:10
Мне нужно из PVar'a скинуть данные в переменную аккаунта mail

Daniel_Cortez
18.10.2015, 22:12
Ссылку на статью в SA:MP wiki я вам скинул. Посмотрите внимательно на пример использования.

DmX
18.10.2015, 22:17
Сделал как и там

- - - Добавлено - - -


GetPVarString(playerid,"Mail",MAIL,sizeof(MAIL))

Daniel_Cortez
18.10.2015, 22:19
Сделал как и там
Нет, не сделали.
Представим такую ситуацию: нужно вывести значение PVar'а в консоль сервера.
Как нужно делать:


new buffer[20];
GetPVarString(playerid, "my_var", buffer, sizeof(buffer));
print(buffer);

Как делаете вы:


new buffer[20];
print(GetPVarString(playerid, "my_var", buffer, sizeof(buffer)));

Сама функция GetPVarString возвращает не строку, а число (1 в случае успеха или 0, если игрок не подключен или у игрока нет PVar'а с заданным именем).
Строка возвращается косвенно, в массиве buffer, этот массив и нужно указывать в print. Понимаете разницу?

DmX
18.10.2015, 22:21
Исправил, на будущее


new MAIL[64];
GetPVarString(playerid,"Mail",MAIL,sizeof(MAIL));
strmid(PlayerInfo[playerid][pMail],MAIL, 0, strlen(MAIL),64);

- - - Добавлено - - -

Да я уже сам догадался. В pawn пол года не сидел, туплю )спасибо.

$continue$
18.10.2015, 22:22
Бредово.
Почему нельзя сделать так?


/* Глобально */
const MAX_LENGTH_EMAIL_ADDRESS = 319;

new player_email[MAX_PLAYERS char][MAX_LENGTH_EMAIL_ADDRESS];



player_email[playerid] = "\0";
static const email[] = "pro-pawn.ru";
strins(player_email[playerid], email , 0);
print(player_email[playerid]);