Ich bin gerade dabei ein dynamisches Missions-System zu erstellen und stecke fest. Und zwar habe ich mit einem Enum angefangen und erstmal
die ID, den Namen und den Lohn im Enum definiert. Weiterhin bin ich direkt zum Befehl gegangen, der auch dadrunter zusehen ist, und habe
ihn erstellt. Im Befehl INSERTE ich den mNamen(Missionsnamen) und den mLohn(Missionslohn) und sende die Query ab. Diese leitet zusätzlich
zum Public OnMissionCreate weiter, damit eine ID erstellt werden kann. Das habe ich ein wenig von meinem Registrierungs-System entnommen.
Ich habe aber ein Problem bzw. ich merke, dass ich einen gravierenden Fehler gemacht habe und blicke nicht durch. Ich glaube, dass der ganze Code
falsch ist .
enum mSystem
{
m_id,
mName
mLohn
}
new mSys[MAX_PLAYERS][mSystem];
ocmd:createmission(playerid, params[])
{
new mname, mlohn;
if(sscanf(params,"si",mname,mlohn)) return SendClientMessage(playerid, TURKISE, "[SYNTAX] /createmission <ID> <Lohn>");
if(mname < 10 || mname > 60) return SendClientMessage(playerid, BLUE, "Der Missionsname darf nicht weniger als 10 und nicht meh als 60 Zeichen besitzen");
if(mlohn < 500 || mlohn > 6000) return SendClientMessage(playerid, BLUE, "Das Missionsgehalt darf nicht weniger als 500 € und nicht mehr als 6000 € betragen.");
new query[256];
mysql_format(handle, query, sizeof(query), "INSERT INTO missionsystem (missionname, lohn) VALUES ('%s', '%i')", mname, mlohn);
mysql_pquery(handle, query, "OnMissionCreate", "d", playerid);
return 1;
}
forward OnMissionCreate(playerid);
public OnMissionCreate(playerid)
{
mSys[playerid][m_id] = cache_insert_id();
SendClientMessage(playerid, TURKISE, "Du hast eine neue Mission erstellt");
return 1;
}
forward OnMissionLoad(playerid);
public OnMissionLoad(playerid)
{
mSys[playerid][m_id] = cache_get_field_content_int(0, "mid", handle);
mSys[playerid][mName] = cache_get_field_content_int(0, "mname", handle);
mSys[playerid][mLohn] = cache_get_field_content_int(0, "mlohn", handle);
return 1;
}
stock SaveCreatedMissions(playerid)
{
new query[250];
mysql_format(handle, query, sizeof(query), "UPDATE missionsystem SET mname = '%s', mlohn = '%i', WHERE mid = '%d'", mSys[playerid][mName], mSys[playerid][mLohn], mSys[playerid][m_id]); mysql_pquery(handle, query);
}
Vielen Dank schon mal im Voraus.