Просмотр полной версии : [Вопрос] Срочно помогите
Код ошибки:
error 079: inconsistent return types (array & non-array)
stock в котором находится ошибка
stock MaskPN(playerid)
{
new unknown[24] = "Неизвестно";
if(!MaskHit[playerid])
{
return PlayerInfo[playerid][pNames]; // выше указанная ошибка, находится на этой строке.
}
return unknown;
}
Вроде все правильно составил, но понять не могу почему выдает ошибку.
Desulaid
22.10.2015, 16:00
Есть только два вопроса к вам:
Что это за функция? Если функция псевдо костыля к GetPlayerName, то зачем?
Хотите возвратить массив? :russian_roulette:
NewGreen
22.10.2015, 16:20
Попробуйте так:
stock MaskPN(playerid)
{
new unknown[24] = "Неизвестно";
if(!MaskHit[playerid])
{
new name_string[MAX_PLAYER_NAME+1];
format(name_string, sizeof(name_string),"%s", PlayerInfo[playerid][pNames]);
return name_string;
}
return unknown;
}
Daniel_Cortez
22.10.2015, 17:21
SetPlayerName(playerid,"Неизвестно");
Проверяли, что будет, если попытаться установить 2 и более игрокам один и тот же ник?
NewGreen
22.10.2015, 18:17
Проверяли, что будет, если попытаться установить 2 и более игрокам один и тот же ник?
Забросил самп давно) и начал подзабывать подобные нюансы, спасибо что поправили, переделаю пожалуй функцию топикстартера))
Не стал парится и исправлять, раз начали помогите до конца =)
Вместо старый ошибки выходит новая
error 047: array sizes do not match, or destination array is too small
На этой строке ошибка
return unknown;
Геннадий Акимов
23.10.2015, 09:52
может return 1; попробуешь за место return unknown; - Я не скриптер ну может поможет ! ))
NewGreen
23.10.2015, 10:40
Не стал парится и исправлять, раз начали помогите до конца =)
Вместо старый ошибки выходит новая
error 047: array sizes do not match, or destination array is too small
На этой строке ошибка
return unknown;
stock MaskPN(playerid)
{
new unknown[MAX_PLAYER_NAME+1] = "Неизвестно";
if(!MaskHit[playerid])
{
new name_string[MAX_PLAYER_NAME+1];
format(name_string, sizeof(name_string),"%s", PlayerInfo[playerid][pNames]);
return name_string;
}
return unknown;
}
покажу свой вариант тебе
format(string, sizeof(string), "%s поздаровался(-ась)",(!HitMask{playerid}) ? PN(playerid) : ("Незнакомец"));
SetPlayerChatBubble(playerid,string,COLOR_PURPLE,30.0,10000);
покажу свой вариант тебе
format(string, sizeof(string), "%s поздаровался(-ась)",(!HitMask{playerid}) ? PN(playerid) : ("Незнакомец"));
SetPlayerChatBubble(playerid,string,COLOR_PURPLE,30.0,10000);
Так не удобно.
Так не удобно.
stock MaskPN(playerid)
{
new unknown[MAX_PLAYER_NAME+1] = "Неизвестно";
if(!MaskHit[playerid])
{
new name_string[MAX_PLAYER_NAME+1];
format(name_string, sizeof(name_string),"%s", PlayerInfo[playerid][pNames]);
return name_string;
}
return unknown;
}
а так удобно значит?
Так не удобно.
не удобно это когда х%р в 5 точке,остальное терпимо или поправимо
$continue$
24.10.2015, 11:52
а так удобно значит?
Тернарный оператор построен не логично, в первом условии:
? PN(playerid)
Будет возвращаться значение из PN(playerid), может вернуться и unknown ("Неизвестно") по сути fail (http://lurkmore.co/Fail) использовать тут тернарный оператор.
UPD: Перепутал "PN" и "MaskPN", вот что значит называть переменные от жопы.
Тернарный оператор построен не логично, в первом условии:
? PN(playerid)
Будет возвращаться значение из PN(playerid), может вернуться и unknown ("Неизвестно") по сути fail (http://lurkmore.co/Fail) использовать тут тернарный оператор.
UPD: Перепутал "PN" и "MaskPN", вот что, значит называть переменные от жопы.
Если вы подумали что PN это функция которая возвращает ник игрока (return name;) то нет
это просто PN макрос/define PlayerName
если хотите можно и так
format(string, sizeof(string), "%s поздаровался(-ась)",(!HitMask{playerid}) ? PlayerName[playerid] : ("Незнакомец"));
может return 1; попробуешь за место return unknown; - Я не скриптер ну может поможет ! ))
Странноватое высказывание...
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot