Hallo,
Ich würde gerne als Informationen an unsere kleine Scripting Community folgendes weitergeben wollen, falls noch nicht bekannt:
Mittlerweile ist es möglich die Künstliche Intelligenz für euch arbeiten zu lassen.
Das Ganze kann man mit ChatGPT (https://chat.openai.com/) realisieren und spart eine Menge Zeit.
Kann sehr nützlich sein und hilft auch bei der Fehlersuche!
Man schickt der KI den Code und erklärt was nicht funktioniert und er findet tatsächlich den Fehler, was ich persönlich genial finde.
Hier mal ein Beispiel für das erstellen eines Scripts:
Erstell mir ein Schranken Script für SA:MP Pawn
Code
#define MAX_BARRIERS 2
// Barrier data structure
new struct BarrierData
{
Float:x, Float:y, Float:z;
Float:rx, Float:ry, Float:rz;
bool:closed;
} barriers[MAX_BARRIERS];
// Initialize the barrier data
public OnGameModeInit()
{
for(new i = 0; i < MAX_BARRIERS; i++)
{
barriers[i].closed = false;
}
}
// Create a barrier
CMD:create_barrier(playerid, params[])
{
new Float:x, Float:y, Float:z;
new Float:rx, Float:ry, Float:rz;
// Get the player's position and rotation
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, rz);
rx = 0.0, ry = 0.0;
// Find an available barrier slot
new barrierid = -1;
for(new i = 0; i < MAX_BARRIERS; i++)
{
if(!barriers[i].closed)
{
barrierid = i;
break;
}
}
if(barrierid >= 0)
{
// Store the barrier data
barriers[barrierid].x = x;
barriers[barrierid].y = y;
barriers[barrierid].z = z;
barriers[barrierid].rx = rx;
barriers[barrierid].ry = ry;
barriers[barrierid].rz = rz;
barriers[barrierid].closed = true;
// Create the barrier object
CreateObject(971, x, y, z, rx, ry, rz);
// Send a message to the player
SendClientMessage(playerid, -1, "Barrier created.");
}
else
{
// No available slots, send an error message
SendClientMessage(playerid, -1, "There are no available barrier slots.");
}
return 1;
}
// Destroy a barrier
CMD:destroy_barrier(playerid, params[])
{
new barrierid = -1;
// Find the closest closed barrier to the player
new Float:closest_distance = 999999.0;
for(new i = 0; i < MAX_BARRIERS; i++)
{
if(barriers[i].closed)
{
new Float:distance = GetDistance3D(barriers[i].x, barriers[i].y, barriers[i].z, GetPlayerPos(playerid));
if(distance < closest_distance)
{
closest_distance = distance;
barrierid = i;
}
}
}
if(barrierid >= 0)
{
// Destroy the barrier object
DestroyObject(ObjectFromBarrierID(barrierid));
// Mark the barrier as open
barriers[barrierid].closed = false;
// Send a message to the player
SendClientMessage(playerid, -1, "Barrier destroyed.");
}
else
{
// No closed barriers found, send an error message
SendClientMessage(playerid, -1, "There are no closed barriers nearby.");
}
return 1;
}
Alles anzeigen