Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 2 ПерваяПервая 1 2
Показано с 11 по 20 из 20
  1. #11
    Аватар для SooBad
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.04.2017
    Адрес
    Краснодар
    Сообщений
    83
    Репутация:
    20 ±
    Цитата Сообщение от koberman Посмотреть сообщение
    Эти дефайны должны иметь число, что будет означать максимальное количество. Тоже самое с массивами. Тебе надо лишь посмотреть не большое ли значение и если большое, то искать путь обхода
    Сразу видно, что ответ от профи. Обычные макросы ни коим образом не влияют на оптимизацию. Любое значение укажи, ничего не поменяется. Это всего лишь замена некоего элемента кода на этапе прекомпиляции.

    Хоть я и не люблю судить по общему объему кода(количеству строк), но, вот для ориентира данные. Мод с нуля, присутствует оптимизация, микро-экономию не соблюдаю, да, и, как можно заметить, никакой динамической памяти, коя задействуется у вас (автора темы).
    Чистого кода: порядка 30к строк.

    PHP код:
    Pawn compiler 3.10.2              Copyright (c1997-2006ITB CompuPhase

    Header size
    :          10592 bytes
    Code size
    :           809424 bytes
    Data size
    :           794908 bytes
    Stack
    /heap size:      16384 bytesestimated maxusage=1603 cells (6412 bytes)
    Total requirements1631308 bytes 
    Хотелось бы, конечно, увидеть примеры того-же объявления массивов, некоторых циклов и вызовов функций.
    Однако, вы сами можете провести тесты, скомпилировав в мод.компиляторе исходники с ключом '-R'.

  2. Пользователь сказал cпасибо:
    KeyMan (03.04.2017)
  3. #12
    Аватар для KeyMan
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.04.2017
    Сообщений
    6
    Репутация:
    0 ±
    Цитата Сообщение от _[Bupyc]_ Посмотреть сообщение
    Может так понятней будет
    Так-с начнём с того что я хочу сказать спасибо. Мусора в переменных вроде нету, говнокод весь переписал. Эту таблицу сохраню) Ну и буду думать как оптимизировать мод, чтобы не было данного комментария.

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

    Цитата Сообщение от SooBad Посмотреть сообщение
    Сразу видно, что ответ от профи. Обычные макросы ни коим образом не влияют на оптимизацию. Любое значение укажи, ничего не поменяется. Это всего лишь замена некоего элемента кода на этапе прекомпиляции.

    Хоть я и не люблю судить по общему объему кода(количеству строк), но, вот для ориентира данные. Мод с нуля, присутствует оптимизация, микро-экономию не соблюдаю, да, и, как можно заметить, никакой динамической памяти, коя задействуется у вас (автора темы).
    Чистого кода: порядка 30к строк.

    PHP код:
    Pawn compiler 3.10.2              Copyright (c1997-2006ITB CompuPhase

    Header size
    :          10592 bytes
    Code size
    :           809424 bytes
    Data size
    :           794908 bytes
    Stack
    /heap size:      16384 bytesestimated maxusage=1603 cells (6412 bytes)
    Total requirements1631308 bytes 
    Хотелось бы, конечно, увидеть примеры того-же объявления массивов, некоторых циклов и вызовов функций.
    Однако, вы сами можете провести тесты, скомпилировав в мод.компиляторе исходники с ключом '-R'.

    В моём компиляторе, а именно в settings.cfg стоит ключ '-R' но ничего не высвечивается. Как компилирует по стандарту, так и компилит.
    На всякий случай приложу кусок который записан в settings.cfg
    PHP код:
    Params= --w 203 

  4. #13
    Аватар для SooBad
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.04.2017
    Адрес
    Краснодар
    Сообщений
    83
    Репутация:
    20 ±
    Цитата Сообщение от KeyMan Посмотреть сообщение
    Так-с начнём с того что я хочу сказать спасибо. Мусора в переменных вроде нету, говнокод весь переписал. Эту таблицу сохраню) Ну и буду думать как оптимизировать мод, чтобы не было данного комментария.

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




    В моём компиляторе, а именно в settings.cfg стоит ключ '-R' но ничего не высвечивается. Как компилирует по стандарту, так и компилит.
    На всякий случай приложу кусок который записан в settings.cfg
    PHP код:
    Params= --w 203 
    Ключи располагаются в pawn.cfg. Это, иными словами, полезная фича для исследования кода(выявления ошибок и прочих косяков).Создай свободный текстовик, и пропиши там ключ: -R.

  5. #14
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от SooBad Посмотреть сообщение
    Ключи располагаются в pawn.cfg. Это, иными словами, полезная фича для исследования кода(выявления ошибок и прочих косяков).Создай свободный текстовик, и пропиши там ключ: -R.
    Необходимо было сказать, что эта фича была добавлена в компиляторе от Zeex, а именно в версии 3.10.2.

  6. #15
    Аватар для SooBad
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.04.2017
    Адрес
    Краснодар
    Сообщений
    83
    Репутация:
    20 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Необходимо было сказать, что эта фича была добавлена в компиляторе от Zeex, а именно в версии 3.10.2.
    Я это в посте выше написал) По сути, модифицированный компилятор один, по крайней мере, других (кроме руссификатора) я не встречал.

  7. #16
    Аватар для koberman
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.03.2017
    Адрес
    Новосибирск
    Сообщений
    49
    Репутация:
    4 ±
    Цитата Сообщение от SooBad Посмотреть сообщение
    Сразу видно, что ответ от профи. Обычные макросы ни коим образом не влияют на оптимизацию. Любое значение укажи, ничего не поменяется. Это всего лишь замена некоего элемента кода на этапе прекомпиляции.
    ex:
    PHP код:
    #undef MAX_PLAYERS
    #define MAX_PLAYERS 100000

    new player_info[MAX_PLAYERS][player]; 
    Последний раз редактировалось koberman; 04.04.2017 в 05:05.

  8. #17
    Аватар для SooBad
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.04.2017
    Адрес
    Краснодар
    Сообщений
    83
    Репутация:
    20 ±
    Цитата Сообщение от koberman Посмотреть сообщение
    ex:
    PHP код:
    #undef MAX_PLAYERS
    #define MAX_PLAYERS 100000

    new player_info[MAX_PLAYERS][player]; 
    И что?
    В данном случае, это то же самое, что и:
    PHP код:
    const <const_name> = value;
    new array[
    const_name]; 
    Я тебе про обычные макросы говорю, кои являются упрощением(в кавычках) в написании кода.
    Кстати, автор темы привёл один из примеров. А вообще, глупо объявлять массив с применением макросов, в качестве размера. Если 'набор данных' будет встречаться несколько раз, будет очень муторно изменять количество затрачиваемых ячеек.

  9. #18
    Аватар для KeyMan
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.04.2017
    Сообщений
    6
    Репутация:
    0 ±
    Цитата Сообщение от SooBad Посмотреть сообщение
    Ключи располагаются в pawn.cfg. Это, иными словами, полезная фича для исследования кода(выявления ошибок и прочих косяков).Создай свободный текстовик, и пропиши там ключ: -R.
    Сейчас скачал компилятор от Zeex. Буду создавать, и потом сюда кину логи.

    Вот скомпилировал... Ща пойду исправлять все рекурсии
    PHP код:
    .pwn(35728) : warning 208: function with tag result used before definitionforcing reparse
    Pawn compiler 3.10.2              Copyright 
    (c1997-2006ITB CompuPhase

    recursion detected
    : function 40000004!=40000004 indirectly calls itself:
    40000004!=40000004 <- GetClosestPlayer <- 40000004!=40000004
    recursion detected
    : function 40000004-0 indirectly calls itself:
    40000004-<- OnPlayerCommandText <- 40000004-0
    recursion detected
    : function 40000004+0 indirectly calls itself:
    40000004+<- OnPlayerCommandText <- 40000004+0
    recursion detected
    : function 40000004/0 directly calls itself
    recursion detected
    : function -40000004 indirectly calls itself:
    -
    40000004 <- GetXYInFrontOfPlayer <- -40000004
    recursion detected
    : function 40000004>40000004 indirectly calls itself:
    40000004>40000004 <- PlayerToPoint <- GetNearestVehicle <- OnPlayerCommandText <- 40000004>40000004
    recursion detected
    : function 40000004>0 indirectly calls itself:
    40000004><- OnPlayerCommandText <- 40000004>0
    recursion detected
    : function 40000004>=40000004 indirectly calls itself:
    40000004>=40000004 <- PlayerToKvadrat <- 40000004>=40000004
    recursion detected
    : function 40000004>=0 indirectly calls itself:
    40000004>=<- OnPlayerCommandText <- 40000004>=0
    recursion detected
    : function 40000004<40000004 indirectly calls itself:
    40000004<40000004 <- OnPlayerCommandText <- 40000004<40000004
    recursion detected
    : function 40000004<0 indirectly calls itself:
    40000004<<- OnPlayerText <- OnPlayerCommandText <- 40000004<0
    recursion detected
    : function 0<40000004 indirectly calls itself:
    0<40000004 <- OnPlayerCommandText <- 0<40000004
    recursion detected
    : function 40000004<=40000004 indirectly calls itself:
    40000004<=40000004 <- PlayerToKvadrat <- 40000004<=40000004
    recursion detected
    : function ABroadCast indirectly calls itself:
    ABroadCast <- OnPlayerText <- OnPlayerCommandText <- ABroadCast
    recursion detected
    : function AdvanceSpectate indirectly calls itself:
    AdvanceSpectate <- StartSpectate <- AdvanceSpectate
    recursion detected
    : function AdvertiseTimer indirectly calls itself:
    AdvertiseTimer <- OnPlayerCommandText <- AdvertiseTimer
    recursion detected
    : function BroadCast indirectly calls itself:
    BroadCast <- OnPlayerCommandText <- BroadCast
    recursion detected
    : function BuyHouse indirectly calls itself:
    BuyHouse <- OnPlayerCommandText <- BuyHouse
    recursion detected
    : function ChangeName indirectly calls itself:
    ChangeName <- OnPlayerCommandText <- ChangeName
    recursion detected
    : function CheckString indirectly calls itself:
    CheckString <- OnPlayerText <- OnPlayerCommandText <- CheckString
    recursion detected
    : function ClearTotalGz indirectly calls itself:
    ClearTotalGz <- PayDay <- OnPlayerCommandText <- ClearTotalGz
    recursion detected
    : function CompVehDel indirectly calls itself:
    CompVehDel <- OnPlayerCommandText <- CompVehDel
    recursion detected
    : function ConnectedPlayers indirectly calls itself:
    ConnectedPlayers <- AdvanceSpectate <- StartSpectate <- ConnectedPlayers
    recursion detected
    : function DelGun indirectly calls itself:
    DelGun <- OnPlayerCommandText <- DelGun
    recursion detected
    : function FixHour indirectly calls itself:
    FixHour <- OnPlayerCommandText <- FixHour
    recursion detected
    : function GameModeExitFunc indirectly calls itself:
    GameModeExitFunc <- OnPlayerCommandText <- GameModeExitFunc
    recursion detected
    : function GetClosestPlayer directly calls itself
    recursion detected
    : function GetDistanceBetweenPlayers indirectly calls itself:
    GetDistanceBetweenPlayers <- OnPlayerText <- OnPlayerCommandText <- GetDistanceBetweenPlayers
    recursion detected
    : function GetGangName indirectly calls itself:
    GetGangName <- OnPlayerCommandText <- GetGangName
    recursion detected
    : function GetGangZoneColor directly calls itself
    recursion detected
    : function GetMafiaName indirectly calls itself:
    GetMafiaName <- OnPlayerCommandText <- GetMafiaName
    recursion detected
    : function GetNearestVehicle indirectly calls itself:
    GetNearestVehicle <- OnPlayerCommandText <- GetNearestVehicle
    recursion detected
    : function GetPlayerID directly calls itself
    recursion detected
    : function GetSRVMoney indirectly calls itself:
    GetSRVMoney <- OnPlayerCommandText <- GetSRVMoney
    recursion detected
    : function GiveMoney indirectly calls itself:
    GiveMoney <- OnPlayerCommandText <- GiveMoney
    recursion detected
    : function GiveWeapon indirectly calls itself:
    GiveWeapon <- OnPlayerCommandText <- GiveWeapon
    recursion detected
    : function IsAArm indirectly calls itself:
    IsAArm <- SendRacersMessage <- OnPlayerCommandText <- IsAArm
    recursion detected
    : function IsABankomat directly calls itself
    recursion detected
    : function IsABiker indirectly calls itself:
    IsABiker <- OnPlayerCommandText <- IsABiker
    recursion detected
    : function IsACop indirectly calls itself:
    IsACop <- SendRacersMessage <- OnPlayerCommandText <- IsACop
    recursion detected
    : function IsAGang indirectly calls itself:
    IsAGang <- SendGangerMessage <- OnPlayerCommandText <- IsAGang
    recursion detected
    : function IsAInkasator indirectly calls itself:
    IsAInkasator <- OnPlayerCommandText <- IsAInkasator
    recursion detected
    : function IsAMafia directly calls itself
    recursion detected
    : function IsAMash indirectly calls itself:
    IsAMash <- OnPlayerCommandText <- IsAMash
    recursion detected
    : function IsAMedic indirectly calls itself:
    IsAMedic <- OnPlayerCommandText <- IsAMedic
    recursion detected
    : function IsANews indirectly calls itself:
    IsANews <- OnPlayerCommandText <- IsANews
    recursion detected
    : function IsATerra indirectly calls itself:
    IsATerra <- OnPlayerCommandText <- IsATerra
    recursion detected
    : function IsATrashTruck indirectly calls itself:
    IsATrashTruck <- OnPlayerCommandText <- IsATrashTruck
    recursion detected
    : function IsIP indirectly calls itself:
    IsIP <- OnPlayerText <- OnPlayerCommandText <- IsIP
    recursion detected
    : function IsInAllowed directly calls itself
    recursion detected
    : function IsInAllowedF directly calls itself
    recursion detected
    : function IsNumeric indirectly calls itself:
    IsNumeric <- ReturnUser <- OnPlayerCommandText <- IsNumeric
    recursion detected
    : function IsPlayerInBandOnline indirectly calls itself:
    IsPlayerInBandOnline <- OnPlayerCommandText <- IsPlayerInBandOnline
    recursion detected
    : function IsSkinFemale indirectly calls itself:
    IsSkinFemale <- OnPlayerCommandText <- IsSkinFemale
    recursion detected
    : function IsVehicleOccupied indirectly calls itself:
    IsVehicleOccupied <- OnPlayerCommandText <- IsVehicleOccupied
    recursion detected
    : function LSNews indirectly calls itself:
    LSNews <- OnPlayerText <- OnPlayerCommandText <- LSNews
    recursion detected
    : function LVNews indirectly calls itself:
    LVNews <- OnPlayerText <- OnPlayerCommandText <- LVNews
    recursion detected
    : function LockCar directly calls itself
    recursion detected
    : function LoopingAnim indirectly calls itself:
    LoopingAnim <- OnPlayerCommandText <- LoopingAnim
    recursion detected
    : function MD5_Copy indirectly calls itself:
    MD5_Copy <- MD5_Update <- MD5_Hash <- OnPlayerCommandText <- MD5_Copy
    recursion detected
    : function MD5_Final indirectly calls itself:
    MD5_Final <- MD5_Hash <- OnPlayerCommandText <- MD5_Final
    recursion detected
    : function MD5_Hash indirectly calls itself:
    MD5_Hash <- OnPlayerCommandText <- MD5_Hash
    recursion detected
    : function MD5_Init indirectly calls itself:
    MD5_Init <- MD5_Hash <- OnPlayerCommandText <- MD5_Init
    recursion detected
    : function MD5_Transform indirectly calls itself:
    MD5_Transform <- MD5_Final <- MD5_Hash <- OnPlayerCommandText <- MD5_Transform
    recursion detected
    : function MD5_Update indirectly calls itself:
    MD5_Update <- MD5_Hash <- OnPlayerCommandText <- MD5_Update
    recursion detected
    : function OOCNews indirectly calls itself:
    OOCNews <- OnPlayerText <- OnPlayerCommandText <- OOCNews
    recursion detected
    : function OnPlayerCommandText directly calls itself
    recursion detected
    : function OnPlayerText indirectly calls itself:
    OnPlayerText <- OnPlayerCommandText <- OnPlayerText
    recursion detected
    : function OnPlayerUpdateAc indirectly calls itself:
    OnPlayerUpdateAc <- SaveAccounts <- AdvertiseTimer <- OnPlayerCommandText <- OnPlayerUpdateAc
    recursion detected
    : function OnPropUpdate directly calls itself
    recursion detected
    : function PJ directly calls itself
    recursion detected
    : function PayDay indirectly calls itself:
    PayDay <- OnPlayerCommandText <- PayDay
    recursion detected
    : function PlayerPlayMusic indirectly calls itself:
    PlayerPlayMusic <- PayDay <- OnPlayerCommandText <- PlayerPlayMusic
    recursion detected
    : function PlayerToKvadrat directly calls itself
    recursion detected
    : function PlayerToPoint indirectly calls itself:
    PlayerToPoint <- GetNearestVehicle <- OnPlayerCommandText <- PlayerToPoint
    recursion detected
    : function PrintBizInfo indirectly calls itself:
    PrintBizInfo <- OnPlayerCommandText <- PrintBizInfo
    recursion detected
    : function PrintFarmInfo indirectly calls itself:
    PrintFarmInfo <- OnPlayerCommandText <- PrintFarmInfo
    recursion detected
    : function PrintSBizInfo indirectly calls itself:
    PrintSBizInfo <- OnPlayerCommandText <- PrintSBizInfo
    recursion detected
    : function ProxDetector indirectly calls itself:
    ProxDetector <- OnPlayerText <- OnPlayerCommandText <- ProxDetector
    recursion detected
    : function ProxDetectorS directly calls itself
    recursion detected
    : function ReturnUser indirectly calls itself:
    ReturnUser <- OnPlayerCommandText <- ReturnUser
    recursion detected
    : function SaveAccounts indirectly calls itself:
    SaveAccounts <- AdvertiseTimer <- OnPlayerCommandText <- SaveAccounts
    recursion detected
    : function SaveBankFrac indirectly calls itself:
    SaveBankFrac <- OnPlayerCommandText <- SaveBankFrac
    recursion detected
    : function SaveBankMafia indirectly calls itself:
    SaveBankMafia <- OnPlayerCommandText <- SaveBankMafia
    recursion detected
    : function SaveGZ directly calls itself
    recursion detected
    : function SaveMaterials indirectly calls itself:
    SaveMaterials <- OnPlayerCommandText <- SaveMaterials
    recursion detected
    : function SelectAnimation indirectly calls itself:
    SelectAnimation <- OnPlayerCommandText <- SelectAnimation
    recursion detected
    : function SendAdminMessage indirectly calls itself:
    SendAdminMessage <- OnPlayerCommandText <- SendAdminMessage
    recursion detected
    : function SendFamilyMessage directly calls itself
    recursion detected
    : function SendGangerMessage indirectly calls itself:
    SendGangerMessage <- OnPlayerCommandText <- SendGangerMessage
    recursion detected
    : function SendHelperMessage indirectly calls itself:
    SendHelperMessage <- OnPlayerCommandText <- SendHelperMessage
    recursion detected
    : function SendJobMessage indirectly calls itself:
    SendJobMessage <- OnPlayerCommandText <- SendJobMessage
    recursion detected
    : function SendRacersMessage indirectly calls itself:
    SendRacersMessage <- OnPlayerCommandText <- SendRacersMessage
    recursion detected
    : function SendRadioMessage indirectly calls itself:
    SendRadioMessage <- OnPlayerCommandText <- SendRadioMessage
    recursion detected
    : function SendTeamMessage indirectly calls itself:
    SendTeamMessage <- OnPlayerCommandText <- SendTeamMessage
    recursion detected
    : function SendVipMessage indirectly calls itself:
    SendVipMessage <- OnPlayerCommandText <- SendVipMessage
    recursion detected
    : function SetPlayerCriminal indirectly calls itself:
    SetPlayerCriminal <- OnPlayerCommandText <- SetPlayerCriminal
    recursion detected
    : function SetPlayerWeapons indirectly calls itself:
    SetPlayerWeapons <- OnPlayerCommandText <- SetPlayerWeapons
    recursion detected
    : function ShowStats indirectly calls itself:
    ShowStats <- OnPlayerCommandText <- ShowStats
    recursion detected
    : function StartSpectate indirectly calls itself:
    StartSpectate <- AdvanceSpectate <- StartSpectate
    recursion detected
    : function StopSpectate indirectly calls itself:
    StopSpectate <- AdvanceSpectate <- StartSpectate <- StopSpectate
    recursion detected
    : function TextList_Show directly calls itself
    recursion detected
    : function ToDevelopRating indirectly calls itself:
    ToDevelopRating <- OnPlayerCommandText <- ToDevelopRating
    recursion detected
    : function ToDevelopSkills indirectly calls itself:
    ToDevelopSkills <- OnPlayerCommandText <- ToDevelopSkills
    recursion detected
    : function UnLockCar indirectly calls itself:
    UnLockCar <- OnPlayerCommandText <- UnLockCar
    recursion detected
    : function dini_Create indirectly calls itself:
    dini_Create <- OnPlayerCommandText <- dini_Create
    recursion detected
    : function dini_Remove indirectly calls itself:
    dini_Remove <- ChangeName <- OnPlayerCommandText <- dini_Remove
    recursion detected
    : function ini_closeFile indirectly calls itself:
    ini_closeFile <- SaveMaterials <- OnPlayerCommandText <- ini_closeFile
    recursion detected
    : function ini_getString indirectly calls itself:
    ini_getString <- OnPlayerCommandText <- ini_getString
    recursion detected
    : function ini_openFile indirectly calls itself:
    ini_openFile <- SaveMaterials <- OnPlayerCommandText <- ini_openFile
    recursion detected
    : function ini_removeKey indirectly calls itself:
    ini_removeKey <- PayDay <- OnPlayerCommandText <- ini_removeKey
    recursion detected
    : function ini_setFloat indirectly calls itself:
    ini_setFloat <- OnPlayerUpdateAc <- SaveAccounts <- AdvertiseTimer <- OnPlayerCommandText <- ini_setFloat
    recursion detected
    : function ini_setInteger indirectly calls itself:
    ini_setInteger <- SaveMaterials <- OnPlayerCommandText <- ini_setInteger
    recursion detected
    : function ini_setString indirectly calls itself:
    ini_setString <- OnPlayerCommandText <- ini_setString
    recursion detected
    : function split indirectly calls itself:
    split <- LoadFarm <- split
    recursion detected
    : function strtok indirectly calls itself:
    strtok <- OnPlayerText <- OnPlayerCommandText <- strtok
    recursion detected
    : function strvalEx indirectly calls itself:
    strvalEx <- OnPlayerCommandText <- strvalEx
    Header size
    :           7880 bytes
    Code size
    :          2428760 bytes
    Data size
    :         10534596 bytes
    Stack
    /heap size:      23600 bytesestimated maxusageunknowndue to recursion
    Total requirements
    :12994836 bytes

    1 Warning

    Чуть не забыл, вот сам код, на который идёт варн и появился после добавления этого ключа:
    PHP код:
    publics Float:GetDistanceBetweenPlayers(p1,p2// На этот паблик идёт варнинг
    {
        new 
    Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
        if(!
    IsPlayerConnected(p1) || !IsPlayerConnected(p2)) { return -1.00; }
        
    GetPlayerPos(p1,x1,y1,z1); GetPlayerPos(p2,x2,y2,z2);
        return 
    floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));

    Последний раз редактировалось KeyMan; 04.04.2017 в 22:24.

  10. #19
    Аватар для SooBad
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.04.2017
    Адрес
    Краснодар
    Сообщений
    83
    Репутация:
    20 ±
    Цитата Сообщение от KeyMan Посмотреть сообщение
    Чуть не забыл, вот сам код, на который идёт варн и появился после добавления этого ключа:
    PHP код:
    publics Float:GetDistanceBetweenPlayers(p1,p2// На этот паблик идёт варнинг
    {
        new 
    Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
        if(!
    IsPlayerConnected(p1) || !IsPlayerConnected(p2)) { return -1.00; }
        
    GetPlayerPos(p1,x1,y1,z1); GetPlayerPos(p2,x2,y2,z2);
        return 
    floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));

    Точно сказать не могу, ибо сам такой метод подсчёта не использую, в основном, всё вручную, но, возможно, компилятор жалуется на повторный вызов вещественных функций инклюда float. Попробуй пошаманить с формулой, переведя возвращаемое расстояние на ручной подсчёт.

  11. Пользователь сказал cпасибо:
    KeyMan (06.04.2017)
  12. #20
    Аватар для KeyMan
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.04.2017
    Сообщений
    6
    Репутация:
    0 ±
    Цитата Сообщение от SooBad Посмотреть сообщение
    Точно сказать не могу, ибо сам такой метод подсчёта не использую, в основном, всё вручную, но, возможно, компилятор жалуется на повторный вызов вещественных функций инклюда float. Попробуй пошаманить с формулой, переведя возвращаемое расстояние на ручной подсчёт.
    Спасибо, помогло!

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

    Закройте тему!

 

 
Страница 2 из 2 ПерваяПервая 1 2

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •