Моддинг Делаем что-то teeworlds на C++

Тема в разделе "Создание и управление сервером", создана пользователем oklock64, 22 янв 2013.

  1. oklock64

    oklock64 Новичок

    Привет всем. Сейчас покажу Как что-то сделать в teeworlds C++ :confused:
    Ладно все не будем тратить времени.
    Зайдите в исходники teeworlds откройте src/game/server/gamecontext.cpp
    И так мы щас будем создавать команду на xxl или aip Ну как вам удобно.
    Вбиваем в поиск
    или просто pMessage
    Кажись это 602 строка .
    Пишем
    Теперь заходим в player.h
    После
    пишем
    Все мы сделали функцию,Теперь нужно чтобы она создавала aip
    Заходим в папку entities Открываем chracter.cpp
    Ищем строчку
    Заключаем Строчку в скобки {}
    пишем до строчки
    ,После той строчки пишем
    Опять туже строчку и Заменяем 1000 на 10000(Больше не надо а то сервер будет виснуть)
    Теперь как сделать Бесконечные патроны.


    На немного строчек выше Будет текст
    Заменяем Нолик на единицу.

    Теперь сделаем Бесмертие
    Заходим опять в player.h Создаем функцию bool god
    Теперь опять заходим в gamecontext и пишем
    Идем опять в chracter.cpp на строчке 78 пишем
    P.S Не ставьте много девяток,И так столько хватит вполне.


    Все всем спасибо,Извините за мой корявый русский)
    В следущем уроке будем делать Тройной лазер,и еще что-то.
    Пока)
     
    fear52rus и Matodor нравится это.
  2. fear52rus

    fear52rus InoT || Админ

    Год мод делается совершенно не так, ибо у тебя все-равно будет кончатся жизнь. В чистых сурсах в character.cpp, на строке 729 ( if(Dmg) ) замени на: if(Dmg && !m_pPlayer->m_God)
    p.s. восклицательный знак показывает что выключен)
    p.s.s. примерно так код будет выглядеть:
    Код:
    if(Dmg && !m_pPlayer->m_God) //Проверка на урон и на выключен ли год мод
     
    {
     
    if(m_Armor)//Если есть броня
     
    {
     
    if(Dmg > 1)//Если урон больше 1
     
    {
     
    m_Health--; //то жизнь отнимется
     
    Dmg--;//и урон отнимется(там он задается, разберешься позже)
     
    }
     
    if(Dmg > m_Armor)//Если урон больше брони
     
    {
     
    Dmg -= m_Armor; // отнимает от урона столько сколько было в броньке
     
    m_Armor = 0;//присвоение 0 брони (т.е. якобы отняло)
     
    }
     
    else//иначе
     
    {
     
    m_Armor -= Dmg;//отнимаем от броньки столько, сколько было в нанесенном уроне
     
    Dmg = 0;//присвоение урону 0 чтобы он в след. раз использовал изначально 0 а не 300...
     
    }
     
    }
     
    m_Health -= Dmg; //отнимаем от жизни нанесенный урон
     
    }
     
  3. oklock64

    oklock64 Новичок

    Ты думаешь кто-то будет наносить тебе Миллиарды миллионов хпшки?Так легче намного.
    И я знаю что восклицательный знак означает "не"
     
  4. fear52rus

    fear52rus InoT || Админ

    ну я в моде поставлю дамаг 3кк и все, подохнешь сразу
    И еще у тебя делается это в "Spawn", следовательно godmode не рабочий пока не помрешь. И раз на то пошло, то вот чат команда без всяких других файлов:
    Код:
    if(!str_comp(pMsg->m_pMessage, "/god"))
    {
    CCharacter* pChr = pPlayer->GetCharacter();
    if(pChr)
    {
    pChr->m_Health = 99999999;
    SendChatTarget(ClientID, "----god create----");
    }
    }
     
    oklock64 нравится это.
  5. oklock64

    oklock64 Новичок

    Ох спасибо изменю