Про ChatGPT

Big

Карты головного мозга💆‍♂️
Сообщения
453
Реакции
252
Всем привет, что думаете на счет нашумевшей в конце 22-го года крутой ИИ? Есть будущее? Написал ей пару запросов
1. Написать плагин , чтобы когда игрока убивали он возрождался через 2 секунды
2. Чтобы когда у игрока оставалось 20 хп ему выдавался хил
Ну т.к в скриптинге я понимаю = 0 , думаю скриптеры поймут насколько корректно он сделал ТЗ
1675194161695.png
1675194274858.png
Так же задал пару мапперских тем:
1. Как сделать чтобы игрока при входе в определенную зону убивало?
2. Как сделать Телепорт игроков
1675194562672.png
1675194817030.png
Так же немного про сервера(банальные вопросы)
1. Как поставить плагин на сервер?
2. Где посмотреть ошибки которые плагин пишет.
1675195111510.png
1675195175520.png
Что думаете? Кто уже баловался?
 
Последнее редактирование:

Monomizer

Держу JDW в бане.
Сообщения
1,947
  • Команда форума
  • #2
Вчера буквально баловались, при грамотных и точных запросах ускоряет написание кода)
 

Ganter1234

Участник
Сообщения
1,149
Реакции
667
Очевидно будет будущее для подобных ИИ, все таки прогресс не стоит на месте)
Ну а насчет кода именно, то почти правильно он выполнил второй запрос, нужно заменить SetTimer на CreateTimer и ClientPrint на PrintToChat)
 
  • Огонь
Реакции: Big

Svyatoy

Участник
Сообщения
335
Реакции
137
Очевидно будет будущее для подобных ИИ, все таки прогресс не стоит на месте)
Ну а насчет кода именно, то почти правильно он выполнил второй запрос, нужно заменить SetTimer на CreateTimer и ClientPrint на PrintToChat)
А TIMER_REPEAT, удаление таймера если игрок Invalid, UserID вместо ClientID?
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,981
@Svyatoy, проще сделать один глобальный таймер и в нём цикл по игрокам
Сообщения автоматически склеены:

Ну и ещё код не скомпилится, потому что у каллбэков таймера тип Action, а не int.
И в SM1.11+ функция обязана возвращать какое-то значение, если она не void.
 

Larsalex

Сообщения
812
Реакции
404
Написал 3 курсовые с его помощью 🙃

на подходе диплом...
 

Deraxus

Участник
Сообщения
190
Реакции
24
На самом деле стремная тема, учусь сейчас на программиста, жутко осознавать что придется постоянно совершенствоваться чтобы не уйти под воду к решениям, которые предлагают подобные нейросети
Сообщения автоматически склеены:

И еще добавлю, что имхо технари под большим ударом нежели гуманитарии, так как то же творчество будет востребовано до тех пор, пока найдутся те, кому оно интересно, нейросети - это уже не творчество, а набор алгоритмов. Даже если допустить, что эта нейросеть сможет создавать карты в кс, маподелы все равно будут нужны так как это больше творческая работа, а вот с кодом сложнее
 

Vulpecula

Добрая душа
Сообщения
326
Реакции
458
Месяц использовали ChatGPT для самых разных проектов, пришли к выводу, что для sourcepawn он еще слабый, а если смотреть php, node js, c#, python, то со своей задачей он хорошо справляется, но только при четкой формулировке ТЗ. Пользователь не знакомый с программированием никогда не напишет полноценную большую программу с помощью данного бота в данный момент. В целом, это отличный инструмент для отладки кода, расстановки комментариев и обучения программированию, но заменой программиста сейчас он совсем не является.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #10
@Deraxus, я бы не парился особо.
Нужно чётко ставить ТЗ боту действительно. А это проблемно для всех.

У нас в модерчате вроде кто-то закидывал боту микро-ТЗ, которое сейчас по форуму всплыло в контексте некоторых последних событий. ТЗ он выполнил, но для первой ветки движка, а у нас вторая. И на глаз оно даже вполне работоспособно выглядит, но всё равно нужно суметь правильно скопировать этот код, вставить в правильный файл, а потом написать (или сгенерировать нейронкой? 🤔) ещё один файл, чтобы первый файл грузился когда надо.

В общем, для прототипирования бот выглядит как самое то. Потом причесать за ним и готово.
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
Я б попробовал, если б эта штука дала мне с гугловским/майковским аккаунтами и индонезийским IP зарегистрироваться, не ругаясь на то, что сервис запрещён в моей стране
 

Big

Карты головного мозга💆‍♂️
Сообщения
453
Реакции
252
Я б попробовал, если б эта штука дала мне с гугловским/майковским аккаунтами и индонезийским IP зарегистрироваться, не ругаясь на то, что сервис запрещён в моей стране
Я с России все норм зарегало , поставил расширение выбрал страну США , номер арендовал с Индонезии за 20р
Сообщения автоматически склеены:

Единственное что у меня тоже жаловался на страну , но когда я почистил куки сайта все заработало
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
На самом деле стремная тема, учусь сейчас на программиста, жутко осознавать что придется постоянно совершенствоваться чтобы не уйти под воду к решениям, которые предлагают подобные нейросети
Сообщения автоматически склеены:

И еще добавлю, что имхо технари под большим ударом нежели гуманитарии, так как то же творчество будет востребовано до тех пор, пока найдутся те, кому оно интересно, нейросети - это уже не творчество, а набор алгоритмов. Даже если допустить, что эта нейросеть сможет создавать карты в кс, маподелы все равно будут нужны так как это больше творческая работа, а вот с кодом сложнее
нейросети отбирают хлеб у технарей, а технари будут отбирать хлеб у гуманитариев путём создания новых нейросетей
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
Я с России все норм зарегало , поставил расширение выбрал страну США , номер арендовал с Индонезии за 20р
Сообщения автоматически склеены:

Единственное что у меня тоже жаловался на страну , но когда я почистил куки сайта все заработало
Смог, позже ещё раз попробовал
Сообщения автоматически склеены:

Кстати, как я понял, если повторно забивать один и тот же запрос, нейросеть предлагает альтернативные варианты ответов и/или обучается, повышая навык, хотя откровенно заявила мне (я специально отдельно спросил), что не пополняется новой инфой, а лишь коверкает уже имеющуюся в статичной базе данных.
Так, например, при той же просьбе написать плагин в первый раз написала на старом синтаксисе, а в последующие на новом. Но это только в одном и том же чате.
 

Big

Карты головного мозга💆‍♂️
Сообщения
453
Реакции
252
Я где то слышал что этой нейронке ещё пока не дали доступ к интернет ресурсам пока она сама из своей базы все
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Смог, позже ещё раз попробовал
Сообщения автоматически склеены:

Кстати, как я понял, если повторно забивать один и тот же запрос, нейросеть предлагает альтернативные варианты ответов и/или обучается, повышая навык, хотя откровенно заявила мне (я специально отдельно спросил), что не пополняется новой инфой, а лишь коверкает уже имеющуюся в статичной базе данных.
Так, например, при той же просьбе написать плагин в первый раз написала на старом синтаксисе, а в последующие на новом. Но это только в одном и том же чате.
Советую посмотреть обзоры на неё в ютубе. ChatGPT даёт ответы опираясь на то, что было написано ранее в этом чате. Если вначале чата дать её огромный список правил как писать плагин, то последующие запросы в этом-же чате с просьбой написать что-то, то шанс того что этот плагин будет работать возвростает.
Но из-за этого "запоминания" не советуют обговаривать с chatGPT различные темы в одном и том-же чате. Если хочешь спросить про "кошек" и "собак", то делай это в разных чатах. Одна мысль = один чат. Но если это касается того что я выше написал про плагины, то в принципе можно и в одном, но иногда она будет делать решения из того что уже написала ранее. Думаю если сказать ей прямо что-то вроде "пиши новый плагин, не опираясь на предыдущие", то проблемы такой не будет, а списк правил будет в силе. (что бы пополнить список правил, то нужно будет так и написать "пополни эти свой список правил: ..."
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
К слову, сейчас на этот же запрос, но в другом чате, она дала сразу ответ на новом синтаксисе.

C-подобный:
Write a plugin for the CS:GO game server. Here is the terms of reference:

1. The code must be written in new syntax.
2. The code must have full support for SourcePawn 1.12.
3. The code must be aesthetically pleasing.
4. The plugin must perform the following tasks:
-- Maintain the number of kills, deaths and assisted kills for each individual player.
-- Maintain the time spent by each individual player in each team: Terrorists, Counter Terrorists, Observers. As well as to keep the time spent by the player globally (as a whole) on the server.

Here are tutorials to make it easier for you to write such code:

1. https://wiki.alliedmods.net/SourcePawn_Transitional_Syntax
2. https://wiki.alliedmods.net/Introduction_to_SourcePawn_1.7
3. https://www.sourcemod.net/new-api
C-подобный:
Написать плагин для игрового сервера CS:GO. Вот техническое задание:

1. Код должен быть написан на новом синтаксисе.
2. Код должен иметь полную поддержку SourcePawn 1.12.
3. Код должен быть эстетически приятным.
4. Плагин должен выполнять следующие задачи:
-- Вести количество убийств, смертей и помощи в убийствах для каждого отдельного игрока.
-- Ведение времени, проведенного каждым отдельным игроком в каждой команде: Террористы, Контр-Террористы, Наблюдатели. А также вести время, проведенное игроком глобально (в целом) на сервере.

Вот обучающие материалы, которые облегчат тебе написание такого кода:

1. https://wiki.alliedmods.net/SourcePawn_Transitional_Syntax
2. https://wiki.alliedmods.net/Introduction_to_SourcePawn_1.7
3. https://www.sourcemod.net/new-api
C-подобный:
#include <sourcemod>
#include <sdktools>

#define PLUGIN_NAME "Player Stats Tracker"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "Author Name"

enum PlayerTeam {
    UNASSIGNED = 0,
    TERRORIST = 1,
    CT = 2,
    SPECTATOR = 3
};

// Struct to store player stats
struct PlayerStats {
    int kills;
    int deaths;
    int assists;
    float time_spent[4]; // Array to store time spent in each team (UNASSIGNED, TERRORIST, CT, SPECTATOR)
};

PlayerStats g_stats[33]; // Array to store player stats
int g_playerIndices[33]; // Array to store player indices

// Store a player's stats in the array
void StorePlayerStats(int index, int kills, int deaths, int assists) {
    g_stats[index].kills = kills;
    g_stats[index].deaths = deaths;
    g_stats[index].assists = assists;
}

// Store a player's time spent in each team
void StorePlayerTime(int index, PlayerTeam team, float time) {
    g_stats[index].time_spent[team] += time;
}

public void OnMapStart() {
    // Reset player stats
    for (int i = 1; i <= MaxClients; i++) {
        g_stats[i].kills = 0;
        g_stats[i].deaths = 0;
        g_stats[i].assists = 0;
        for (int j = 0; j < 4; j++) {
            g_stats[i].time_spent[j] = 0.0;
        }
    }
}

public void OnPlayerSpawn(int index) {
    int playerTeam = GetClientTeam(index);
    if (playerTeam != UNASSIGNED) {
        g_playerIndices[index] = playerTeam;
    }
}

public void OnPlayerDeath(int index, int attacker, int weapon) {
    // Update player death count
    g_stats[index].deaths++;
    // Update player time spent in team
    StorePlayerTime(index, g_playerIndices[index], GetTime() - g_stats[index].time_spent[g_playerIndices[index]]);
    // Reset player team
    g_playerIndices[index] = UNASSIGNED;
    // Update attacker's kill count
    if (attacker > 0 && attacker <= MaxClients) {
        g_stats[attacker].kills++;
    }
}

public void OnPlayerAssist(int index, int attacker, int weapon) {
    // Update player assist count
    g_stats[index].assists++;
    // Update attacker's assist count
    g_stats[attacker].assists++;
}

public Plugin myinfo = {
    name = PLUGIN_NAME,
    author = PLUGIN_AUTHOR,
    description = "Tracks player stats (kills, deaths, assists, time spent) in the game",
    version = PLUGIN_VERSION,
    url = "https://www.example.
Да, она действительно прекратила его писать на 82-й строке. Обрезание не случайно.
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
К слову, сейчас на этот же запрос, но в другом чате, она дала сразу ответ на новом синтаксисе.

C-подобный:
Write a plugin for the CS:GO game server. Here is the terms of reference:

1. The code must be written in new syntax.
2. The code must have full support for SourcePawn 1.12.
3. The code must be aesthetically pleasing.
4. The plugin must perform the following tasks:
-- Maintain the number of kills, deaths and assisted kills for each individual player.
-- Maintain the time spent by each individual player in each team: Terrorists, Counter Terrorists, Observers. As well as to keep the time spent by the player globally (as a whole) on the server.

Here are tutorials to make it easier for you to write such code:

1. https://wiki.alliedmods.net/SourcePawn_Transitional_Syntax
2. https://wiki.alliedmods.net/Introduction_to_SourcePawn_1.7
3. https://www.sourcemod.net/new-api
C-подобный:
Написать плагин для игрового сервера CS:GO. Вот техническое задание:

1. Код должен быть написан на новом синтаксисе.
2. Код должен иметь полную поддержку SourcePawn 1.12.
3. Код должен быть эстетически приятным.
4. Плагин должен выполнять следующие задачи:
-- Вести количество убийств, смертей и помощи в убийствах для каждого отдельного игрока.
-- Ведение времени, проведенного каждым отдельным игроком в каждой команде: Террористы, Контр-Террористы, Наблюдатели. А также вести время, проведенное игроком глобально (в целом) на сервере.

Вот обучающие материалы, которые облегчат тебе написание такого кода:

1. https://wiki.alliedmods.net/SourcePawn_Transitional_Syntax
2. https://wiki.alliedmods.net/Introduction_to_SourcePawn_1.7
3. https://www.sourcemod.net/new-api
C-подобный:
#include <sourcemod>
#include <sdktools>

#define PLUGIN_NAME "Player Stats Tracker"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "Author Name"

enum PlayerTeam {
    UNASSIGNED = 0,
    TERRORIST = 1,
    CT = 2,
    SPECTATOR = 3
};

// Struct to store player stats
struct PlayerStats {
    int kills;
    int deaths;
    int assists;
    float time_spent[4]; // Array to store time spent in each team (UNASSIGNED, TERRORIST, CT, SPECTATOR)
};

PlayerStats g_stats[33]; // Array to store player stats
int g_playerIndices[33]; // Array to store player indices

// Store a player's stats in the array
void StorePlayerStats(int index, int kills, int deaths, int assists) {
    g_stats[index].kills = kills;
    g_stats[index].deaths = deaths;
    g_stats[index].assists = assists;
}

// Store a player's time spent in each team
void StorePlayerTime(int index, PlayerTeam team, float time) {
    g_stats[index].time_spent[team] += time;
}

public void OnMapStart() {
    // Reset player stats
    for (int i = 1; i <= MaxClients; i++) {
        g_stats[i].kills = 0;
        g_stats[i].deaths = 0;
        g_stats[i].assists = 0;
        for (int j = 0; j < 4; j++) {
            g_stats[i].time_spent[j] = 0.0;
        }
    }
}

public void OnPlayerSpawn(int index) {
    int playerTeam = GetClientTeam(index);
    if (playerTeam != UNASSIGNED) {
        g_playerIndices[index] = playerTeam;
    }
}

public void OnPlayerDeath(int index, int attacker, int weapon) {
    // Update player death count
    g_stats[index].deaths++;
    // Update player time spent in team
    StorePlayerTime(index, g_playerIndices[index], GetTime() - g_stats[index].time_spent[g_playerIndices[index]]);
    // Reset player team
    g_playerIndices[index] = UNASSIGNED;
    // Update attacker's kill count
    if (attacker > 0 && attacker <= MaxClients) {
        g_stats[attacker].kills++;
    }
}

public void OnPlayerAssist(int index, int attacker, int weapon) {
    // Update player assist count
    g_stats[index].assists++;
    // Update attacker's assist count
    g_stats[attacker].assists++;
}

public Plugin myinfo = {
    name = PLUGIN_NAME,
    author = PLUGIN_AUTHOR,
    description = "Tracks player stats (kills, deaths, assists, time spent) in the game",
    version = PLUGIN_VERSION,
    url = "https://www.example.
Да, она действительно прекратила его писать на 82-й строке. Обрезание не случайно.
у меня так-же было, в первых нескольки чатах он на старом писал, но в новых уже на новом, но всё-ровно писал `myinfo`, сколько раз я его не просил этого делать. Так-же я говорил ему что бы не писал описания к каждой строчке, в новых чатах реже он это делал
 

Vulpecula

Добрая душа
Сообщения
326
Реакции
458
К слову, сейчас на этот же запрос, но в другом чате, она дала сразу ответ на новом синтаксисе.

C-подобный:
Write a plugin for the CS:GO game server. Here is the terms of reference:

1. The code must be written in new syntax.
2. The code must have full support for SourcePawn 1.12.
3. The code must be aesthetically pleasing.
4. The plugin must perform the following tasks:
-- Maintain the number of kills, deaths and assisted kills for each individual player.
-- Maintain the time spent by each individual player in each team: Terrorists, Counter Terrorists, Observers. As well as to keep the time spent by the player globally (as a whole) on the server.

Here are tutorials to make it easier for you to write such code:

1. https://wiki.alliedmods.net/SourcePawn_Transitional_Syntax
2. https://wiki.alliedmods.net/Introduction_to_SourcePawn_1.7
3. https://www.sourcemod.net/new-api
C-подобный:
Написать плагин для игрового сервера CS:GO. Вот техническое задание:

1. Код должен быть написан на новом синтаксисе.
2. Код должен иметь полную поддержку SourcePawn 1.12.
3. Код должен быть эстетически приятным.
4. Плагин должен выполнять следующие задачи:
-- Вести количество убийств, смертей и помощи в убийствах для каждого отдельного игрока.
-- Ведение времени, проведенного каждым отдельным игроком в каждой команде: Террористы, Контр-Террористы, Наблюдатели. А также вести время, проведенное игроком глобально (в целом) на сервере.

Вот обучающие материалы, которые облегчат тебе написание такого кода:

1. https://wiki.alliedmods.net/SourcePawn_Transitional_Syntax
2. https://wiki.alliedmods.net/Introduction_to_SourcePawn_1.7
3. https://www.sourcemod.net/new-api
C-подобный:
#include <sourcemod>
#include <sdktools>

#define PLUGIN_NAME "Player Stats Tracker"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "Author Name"

enum PlayerTeam {
    UNASSIGNED = 0,
    TERRORIST = 1,
    CT = 2,
    SPECTATOR = 3
};

// Struct to store player stats
struct PlayerStats {
    int kills;
    int deaths;
    int assists;
    float time_spent[4]; // Array to store time spent in each team (UNASSIGNED, TERRORIST, CT, SPECTATOR)
};

PlayerStats g_stats[33]; // Array to store player stats
int g_playerIndices[33]; // Array to store player indices

// Store a player's stats in the array
void StorePlayerStats(int index, int kills, int deaths, int assists) {
    g_stats[index].kills = kills;
    g_stats[index].deaths = deaths;
    g_stats[index].assists = assists;
}

// Store a player's time spent in each team
void StorePlayerTime(int index, PlayerTeam team, float time) {
    g_stats[index].time_spent[team] += time;
}

public void OnMapStart() {
    // Reset player stats
    for (int i = 1; i <= MaxClients; i++) {
        g_stats[i].kills = 0;
        g_stats[i].deaths = 0;
        g_stats[i].assists = 0;
        for (int j = 0; j < 4; j++) {
            g_stats[i].time_spent[j] = 0.0;
        }
    }
}

public void OnPlayerSpawn(int index) {
    int playerTeam = GetClientTeam(index);
    if (playerTeam != UNASSIGNED) {
        g_playerIndices[index] = playerTeam;
    }
}

public void OnPlayerDeath(int index, int attacker, int weapon) {
    // Update player death count
    g_stats[index].deaths++;
    // Update player time spent in team
    StorePlayerTime(index, g_playerIndices[index], GetTime() - g_stats[index].time_spent[g_playerIndices[index]]);
    // Reset player team
    g_playerIndices[index] = UNASSIGNED;
    // Update attacker's kill count
    if (attacker > 0 && attacker <= MaxClients) {
        g_stats[attacker].kills++;
    }
}

public void OnPlayerAssist(int index, int attacker, int weapon) {
    // Update player assist count
    g_stats[index].assists++;
    // Update attacker's assist count
    g_stats[attacker].assists++;
}

public Plugin myinfo = {
    name = PLUGIN_NAME,
    author = PLUGIN_AUTHOR,
    description = "Tracks player stats (kills, deaths, assists, time spent) in the game",
    version = PLUGIN_VERSION,
    url = "https://www.example.
Да, она действительно прекратила его писать на 82-й строке. Обрезание не случайно.
«продолжи написание» добавьте ей и она допишет. Там есть лимит символов.
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
🥴

1675249837924.png
Заказчикам привет!!!)0))0))) Даже нейросеть вам пишет, что вы что-то делаете НЕ так😂
Сообщения автоматически склеены:

«продолжи написание» добавьте ей и она допишет. Там есть лимит символов.
Перестаёт блок кода выделять и пишет как текст(
 
Сверху Снизу