Seregamil
Мастер
Всем привет, мне и многим надоело отвечать каждый день на один и тот же вопрос типо:
Как исправить варнинг 217
Как переместить респавн и т.д.
Эта тема содержит все те вопросы, которые чаще всего задают
Начнем с простого
Самая распространенная у всех ошибка это
Эта ошибка решается двумя способами:
Если вам лень заниматься табуляцией то в начало мода поставьте
Ну или табулируйте код сами, т.е. либо ставьте код лесенкой либо ставьте все под одним
Строчка под строчкой, return под return’ом
Следующая ошибка
Это означает, что у вас отсутствует переменная new
Т.е. в начало мода вставляете
Далее
Это означает, что у вас наоборот лишняя переменная, т.е. ее нужно удалить из мода
Но бывает проблемка, иногда выскакивает
Вы эту переменную найдете только в инклудах)
А в начало мода просто вставьте
Самая распространенная ошибка у всех это
Эта ошибка говорит о том, что у вас отсутствует инклуд в директории pawno/include
Инклуд скачиваете с интернета и кидаете туда
Самый нудный у всех вопрос: как перенести респу и т.д.
в этой теме человек все внятно расписал
открыть
/*******************************************************************************************************************/
По поводу оптимизации многие задают вопросы, взято у пользователя infernus
Например в данном примере мы узнаем имя игрока
во втором участке кода, все что выше повторяется...опять узнаем имя, опять ставим массивы... ит.п.
ну дак вот...чтоб постоянно вышеуказанный код не повторять, можно написать функцию узнавалки имени...
и использовать уже функцию так:
Как вы видете код стал меньше, не нужно теперь создавать заного переменные и т.д.
Второй пример
допустим нам надо узнать очки игрока:
Создаем условие
Тут мы задаем как бы "диапазон" очков, т.е. от 50 до 100
можно все это сделать намного проще ....
Чтобы каждый раз не создавать новые условия и так далее проще юзать switch
в swtich задается диапазон "от и до"
*******************************************Update
Рассмотрим примитивный пример
в данном случае нас интересует
просто изменяем концовочку паблика на
В будущем тема будет пополняться…
By Seregamil
Как исправить варнинг 217
Как переместить респавн и т.д.
Эта тема содержит все те вопросы, которые чаще всего задают
Начнем с простого
Самая распространенная у всех ошибка это
PHP:
warning 217: loose indentation
Если вам лень заниматься табуляцией то в начало мода поставьте
PHP:
#pragma tabsize 0
Строчка под строчкой, return под return’ом
Следующая ошибка
PHP:
undefined symbol "тут ваш символ"
Т.е. в начало мода вставляете
PHP:
new ваш символ
PHP:
symbol is never used: "символ"
Но бывает проблемка, иногда выскакивает
PHP:
symbol is never used: "ret_memcry"
А в начало мода просто вставьте
PHP:
#pragma unused ret_memcry
PHP:
fatal error 100: cannot read from file: "инклуд"
Инклуд скачиваете с интернета и кидаете туда
Самый нудный у всех вопрос: как перенести респу и т.д.
в этой теме человек все внятно расписал
открыть
/*******************************************************************************************************************/
По поводу оптимизации многие задают вопросы, взято у пользователя infernus
Например в данном примере мы узнаем имя игрока
PHP:
new str[144];
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,MAX_PLAYER_NAM,E);
format(str,144,"меня зовут %s",pname);
SendClientMessage(playerid,-1,str);
ну дак вот...чтоб постоянно вышеуказанный код не повторять, можно написать функцию узнавалки имени...
PHP:
stock pname(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
return pname;
}
PHP:
new str[144];
format(str,144,"Меня зовут %s",pname(playerid));
SendClientMessage(playerid,-1,str);
Второй пример
допустим нам надо узнать очки игрока:
Создаем условие
PHP:
if(GetPlayerScore(playerid) > 5|| GetPlayerScore(playerid) < 20)
{
//выполнить код
}
if(GetPlayerScore(playerid) > 20|| GetPlayerScore(playerid) < 50)
{
//выполнить код
}
if(GetPlayerScore(playerid) > 50|| GetPlayerScore(playerid) < 100)
{
//выполнить код
}
можно все это сделать намного проще ....
PHP:
switch(GetPlayerScore(playerid))
{
case 5..20://выполнить код
case 21..50://выполнить код
case 51..100://выполнить код
}
в swtich задается диапазон "от и до"
*******************************************Update
PHP:
warning 209: function "паблик в котором выбило ошибку" should return a value
PHP:
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
}
if(PlayerInfo[playerid][pMember] == 25 || PlayerInfo[playerid][pLeader] == 25)
{
ApplyAnimation(playerid,"PED","IDLE_CHAT",4.1,0,1,1,1,1,1);
clearanim[playerid] = 7;
format(string, sizeof(string), "- %s {336666}(%s)", text, sendername);
SetPlayerChatBubble(playerid, text, 0xFFFFFFFF, 20.0, 10000);
ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
}
return 0;
}
}
PHP:
return 0;
PHP:
}
}
return 0;
}
By Seregamil
Последнее редактирование:
