Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 6 из 11 ПерваяПервая ... 4 5 6 7 8 ... ПоследняяПоследняя
Показано с 51 по 60 из 102
  1. #51
    Аватар для TrezeLurese
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.06.2014
    Адрес
    Russia
    Сообщений
    20
    Репутация:
    21 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну тогда можно и так
    PHP код:
    #define ShowPlayerDialog(%0,%1,%2,%3,%4,%5,%6)  SendClientMessage(%0, -1, %4)
    stock SetPlayerPosEx_(playerid) return SetPlayerPos(playeridrandom(10000), random(10000), random(10000));
    #define SetPlayerPos(%0,%1,%2,%3)  SetPlayerPosEx_(%0) 
    Последнему вроде можно стандатные значения присваивать
    PHP код:
    #define SetPlayerPos(%0,%1,%2,%3)  SetPlayerPos(%0, random(10000), random(10000), random(10000)) 

  2. #52
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от TrezeLurese Посмотреть сообщение
    Последнему вроде можно стандатные значения присваивать
    PHP код:
    #define SetPlayerPos(%0,%1,%2,%3)  SetPlayerPos(%0, random(10000), random(10000), random(10000)) 
    Ну это тоже вариант "троллинга", только в твоём случае получится рекурсия на стадии препроцессинга, когда препроцессор будет бесконечно изменять 1 макрос сам на себя и мод никогда не скомпилируется. Моё же предложение не получится твоим способом реализовать. Хоть бы скомпилировал код, раз не разбираешься в работе макросов...
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #53
    Аватар для TrezeLurese
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.06.2014
    Адрес
    Russia
    Сообщений
    20
    Репутация:
    21 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну это тоже вариант "троллинга", только в твоём случае получится рекурсия на стадии препроцессинга, когда препроцессор будет бесконечно изменять 1 макрос сам на себя и мод никогда не скомпилируется. Моё же предложение не получится твоим способом реализовать. Хоть бы скомпилировал код, раз не разбираешься в работе макросов...
    Я предложил вариант, я не знаю что случится с компилятором, потому что я им не пользуюсь более года :D

  4. #54
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    <- начинающий скриптер, незнающий что делать

  5. #55
    Аватар для John_Smith (Scripter)
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.01.2015
    Сообщений
    36
    Репутация:
    -1 ±
    в public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)

    PHP код:
    if(newkeys || oldkeysOnPlayerKeyStateChange(playeridnewkeysoldkeys); 
    Что произойдет:
    1. Переполнится память (STK), это приведет к краху мода!
    2. Не будут работать функции в этом паблике

    PHP код:
    [23:04:44] [debug#98 00019ed0 in public OnPlayerKeyStateChange (0, 8, 0) from new.amx
    [23:04:44] [debug#99 00019ed0 in public OnPlayerKeyStateChange (0, 8, 0) from new.amx
    [23:04:44] [debug#100 00019ed0 in public OnPlayerKeyStateChange (0, 8, 0) from new.amx
    [23:04:45] [debugRun time error 3"Stack/heap collision (insufficient stack size)"
    [23:04:45] [debug]  Stack pointer (STKis 0xA6984heap pointer (HEAis 0xA6948
    [23:04:45] [debugAMX backtrace:
    [
    23:04:45] [debug#0 000190b8 in public OnPlayerKeyStateChange (0, 0, 8) from new.amx
    [23:04:45] [debug#1 00019ed0 in public OnPlayerKeyStateChange (0, 0, 8) from new.amx
    [23:04:45] [debug#2 00019ed0 in public OnPlayerKeyStateChange (0, 0, 8) from new.amx
    [23:04:45] [debug#3 00019ed0 in public OnPlayerKeyStateChange (0, 0, 8) from new.amx 

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Цитата Сообщение от John_Smith (Scripter) Посмотреть сообщение
    в public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)

    PHP код:
    if(newkeys || oldkeysOnPlayerKeyStateChange(playeridnewkeysoldkeys); 
    Что произойдет:
    1. Переполнится память (STK), это приведет к краху мода!
    2. Не будут работать функции в этом паблике

    PHP код:
    [23:04:44] [debug#98 00019ed0 in public OnPlayerKeyStateChange (0, 8, 0) from new.amx
    [23:04:44] [debug#99 00019ed0 in public OnPlayerKeyStateChange (0, 8, 0) from new.amx
    [23:04:44] [debug#100 00019ed0 in public OnPlayerKeyStateChange (0, 8, 0) from new.amx
    [23:04:45] [debugRun time error 3"Stack/heap collision (insufficient stack size)"
    [23:04:45] [debug]  Stack pointer (STKis 0xA6984heap pointer (HEAis 0xA6948
    [23:04:45] [debugAMX backtrace:
    [
    23:04:45] [debug#0 000190b8 in public OnPlayerKeyStateChange (0, 0, 8) from new.amx
    [23:04:45] [debug#1 00019ed0 in public OnPlayerKeyStateChange (0, 0, 8) from new.amx
    [23:04:45] [debug#2 00019ed0 in public OnPlayerKeyStateChange (0, 0, 8) from new.amx
    [23:04:45] [debug#3 00019ed0 in public OnPlayerKeyStateChange (0, 0, 8) from new.amx 
    Ваш вариант не новый. Произойдёт обычная неуправляемая рекурсия.

  7. #57
    Аватар для John_Smith (Scripter)
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.01.2015
    Сообщений
    36
    Репутация:
    -1 ±
    Ваш вариант не новый. Произойдёт обычная неуправляемая рекурсия.
    Не увидел на этом теме такой вариант, и новые варианты троллинга походу уже не остались, можно только придумать альтернативу

  8. #58
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2590 ±
    Как я уже говорил раньше, "#define true false" - это вчерашний день.
    PHP код:
    /*<описание мода, строка 1>*/
    /*<описание мода, строка 2>*/
    /*<описание мода, строка 3>*/            /*<много табов>*/    #define    Text:Text Text
    /*...*/
    /*<описание мода, строка N>*/

    #include <a_samp> 
    Вот так, без палева объявив макрос перед подключением a_samp, можно заставить функцию TextDrawCreate возвращать целые числа.
    Т.е. вместо
    PHP код:
    native Text:TextDrawCreate(Float:xFloat:ytext[]); 
    получится:
    PHP код:
    native TextDrawCreate(Float:xFloat:ytext[]); 
    Для обычных смертных это означает кучу варнингов из-за несовпадения типов (tag mismatch).
    И даже если объявить переменные для сохранения текстдравов, как целочисленные (убрать "Text:"), остальные функции всё ещё будут требовать значения типа Text (!)


    Ещё макрос:
    PHP код:
    #define    Float:Get Get 
    Тут сразу несколько затрагиваемых функций:
    PHP код:
    native Float:GetSVarFloat(varname[]);
    native Float:GetPlayerDistanceFromPoint(playeridFloat:XFloat:YFloat:Z);
    native Float:GetPVarFloat(playeridvarname[]);
    native Float:GetPlayerCameraAspectRatio(playerid);
    native Float:GetPlayerCameraZoom(playerid);
    native Float:GetVehicleDistanceFromPoint(vehicleidFloat:XFloat:YFloat:Z); 

    И ещё порция макросов:
    PHP код:
    #define PlayerText:Create   Create  // CreatePlayerTextDraw
    #define Menu:Create         Create  // CreateMenu
    #define Text3D:Create       Create  // Create3DTextLabel
    #define PlayerText3D:Create Create  // CreatePlayer3DTextLabel 
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  9. 4 пользователя(ей) сказали cпасибо:
    $continue$ (22.08.2015) Blood (23.08.2015) L0ndl3m (22.08.2015) [ForD] (23.08.2015)
  10. #59
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Не знаю, можно ли затролить этим, но заставить скриптера помучиться может

    PHP код:
    // Подмена функции CreateVehicle.
    // Теперь эта функция не создает авто, а удаляет его.
    stock z_CreateVehicle(vehicletypeFloat:xFloat:yFloat:zFloat:rotationcolor1color2respawn_delayaddsiren)
    {
        return 
    DestroyVehicle(CreateVehicle(vehicletypeFloat:xFloat:yFloat:zFloat:rotationcolor1color2respawn_delayaddsiren));
    }
    #define CreateVehicle z_CreateVehicle 

  11. Пользователь сказал cпасибо:
    Daniel_Cortez (24.08.2015)
  12. #60
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2590 ±
    Цитата Сообщение от Zangetsu Посмотреть сообщение
    Не знаю, можно ли затролить этим, но заставить скриптера помучиться может

    PHP код:
    // Подмена функции CreateVehicle.
    // Теперь эта функция не создает авто, а удаляет его.
    stock z_CreateVehicle(vehicletypeFloat:xFloat:yFloat:zFloat:rotationcolor1color2respawn_delayaddsiren)
    {
        return 
    DestroyVehicle(CreateVehicle(vehicletypeFloat:xFloat:yFloat:zFloat:rotationcolor1color2respawn_delayaddsiren));
    }
    #define CreateVehicle z_CreateVehicle 
    Функция будет каждый раз возвращать 1, палево.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  13. Пользователь сказал cпасибо:
    Desulaid (24.08.2015)
 

 
Страница 6 из 11 ПерваяПервая ... 4 5 6 7 8 ... ПоследняяПоследняя

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

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

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

Ваши права

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