View Single Post
Old 20/04/2020, 01:14 PM   #2
DrSlett
Banned
 
Join Date: Sep 2012
Posts: 279
Reputation: 13
Default Re: Вопрос с компиляцией

Quote:
Originally Posted by Salik View Post
Здравствуйте! Как решить проблему с компиляцией мода, в моде некоторые функции (stock) разбросаны, многое объявлено в самом низу мода (знаю это плохо), но суть в том что я вроде как нашёл как поставить совместимость и запустить мод в таком варианте, просто переписать всё уйдет уйму времени - поставил параметр - "-Z+", даже добавил прагму в моде - #pragma compat 1, но ничего, опять же эрроры с сообщениями типа такого -

C:\Users\User\Desktop\2 ïàðòèÿ\/include/mod_news.inc(4329) : error 017: undefined symbol "PM"
C:\Users\User\Desktop\2 ïàðòèÿ\/include/mod_news.inc(4676) : error 017: undefined symbol "TogglePlayerControllableEx"
C:\Users\User\Desktop\2 ïàðòèÿ\MOD.pwn(1256) : error 017: undefined symbol "TogglePlayerControllableEx"
C:\Users\User\Desktop\2 ïàðòèÿ\MOD.pwn(125 : error 017: undefined symbol "SendAdminLogMessage"


--------------------------------------


Примерно вот так у меня в моде некоторые функции используются до их объявления (прим.) -
pawn Code:
function PlayerConnect(playerid) {
  checkBan(playerid);
}

stock checkBan(playerid) {
  code...
}

Знаю так кодить плохо, и компилятор выдаёт ошибку, но как разрешить такое через параметры или как можно вообще сделать такое?
читайте описание ошибок
в коде отсутствуют функции "TogglePlayerControllableEx", "SendAdminLogMessage" итд (см. на ошибки)

простейший пример решения проблемы - нужно добавить в код (там уже под себя можно дописать, какие еще определения нужны в функции - для античита, к примеру):
pawn Code:
stock TogglePlayerControllableEx(playerid, toggle) {
    // здесь что-то дополнительное
    TogglePlayerControllable(playerid, toggle);
}
DrSlett is offline   Reply With Quote