Просмотр полной версии : [Вопрос] error 035
Строка:
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
Названия тем.
1. Создавайте темы с понятными названиями.
Для примера рассмотрим создание темы с вопросом по скриптингу:
Название темы должно вкратце говорить о сути проблемы, а не только о том, что у Вас есть какая-то проблема.
Примеры плохих названий:
"Помогите пожалуйста!", "Сервер не работает!", "Что делать?", "Нужна ваша помощь!", "Подскажите!", "Вопрос", "Ааааааа!".
Будьте добры, перед созданием тем, читать правила. Устное предупреждение вам. Название темы отредактировано. Тема перемещена в соответствующий раздел.
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
Что, Вы хотите получить на выходе?
Мне нужно из PVar'a скинуть данные в переменную аккаунта mail
Daniel_Cortez
18.10.2015, 22:12
Ссылку на статью в SA:MP wiki я вам скинул. Посмотрите внимательно на пример использования.
Сделал как и там
- - - Добавлено - - -
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. Понимаете разницу?
Исправил, на будущее
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]);
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot