Im ersten Block hast du 13 Zeilen, im zweiten Block nur 12. Bei diesen Arrays müssen die Zeilen immer gleich viele sein.
Beiträge von Jeffry
-
-
Das query das beim registrieren abgesendet wird ist zu klein (Log hat er per PN geschickt):
Zitat[00:21:46] [ERROR] mysql_format - destination size is too small
Lösung hierfür:
new query[128];
Zu
new query[256]; -
An der Stelle wo es momentan ist sitzt es falsch, da hat frak noch keinen Wert, ist also 0.
Du musst die Abfrage nach der sscanf Zeile setzen, da frak erst dort den Wert zugewiesen wird. Die Zahlen sind dann wieder 1 und 4, nicht 0 und 5.Bei beiden Befehlen.
-
Wofür das Programm? Das geht so einfach manuell.
Alternativ drücke einfach auf den download und nimm darüber den direkten Link.
https://dl.dropboxusercontent.…j5NRHPGQcg76KUUACEEw?dl=1Das dürfte der Link sein, falls es das mobile Design nicht anders hat.
Oder schau mal hier:
http://m.youtube.com/watch?v=u87wJd8rOsQ -
-
Lösche das, das bringt nichts an der Stelle:
LoadAccount(playerid); -
Die Markierung war aber noch nicht da als ich gepostet habe.

mysql_escape_string(NamePlayer(playerid), NamePlayer(playerid)), mysql_escape_string(key, key);
format(query, sizeof(query), "INSERT INTO accounts (`Name`, `Passwort`) VALUES ('%s',('%s'))", NamePlayer(playerid), key);
mysql_tquery(mysqlHandle, query);
format(query, sizeof(query), "UPDATE accounts SET DNA = '%s' WHERE Name = '%s'", endstr, NamePlayer(playerid));zu:
mysql_format(mysqlHandle, query, sizeof(query), "INSERT INTO accounts (`Name`, `Passwort`, `DNA`) VALUES ('%e','%e','%e')", NamePlayer(playerid), key, endstr); -
Es wäre hilfreich, wenn du die Zeile nächstes mal markierst.
Ich schätze, dass es hier ist:
SpielerInfo[playerid][pPasswort] = inputtext;
Zu
format(SpielerInfo[playerid][pPasswort], 32, inputtext); -
Ja, außer du speicherst den Index i in einer Spielervariable.
-
Dort wo der Wert in
SBizzInfo[1][sbEntranceCost]
geschrieben wird. Lädst du das aus einer Datenbank? Wenn nicht, schau mal ob die Daten direkt im Code stehen. -
http://forum.sa-mp.com/showthread.php?t=252128
Das habe ich vor langer Zeit mal veröffentlicht, schau mal in den Code rein, ob dir das schon hilft.
Gegebenenfalls kannst du den Code auch einfach verwenden. -
for(new i=0; i<sizeof(drivein); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, drivein[i][x], drivein[i][y], drivein[i][z]))
{
if(GetPlayerMoney(playerid) >= drivein[i][MenueGeld1])
{
//Kann es kaufen
}
else
{
//nicht genug Geld
}
return 1;
}
}
//Nicht nahe eines Ladens -
Wie weist du diesem Array (Enum Teil) den Menü-Geldwert zu?
-
#define ANZAHL_FRAKS 12
zu:
#define ANZAHL_FRAKS 130 bis 12 = 13
Und bei Fraktion 7 die 0'en zu 0.0, dann geht der Tag Mismatch weg.
-
Du machst ein Array, schreibst die Daten dort rein und dann reichen 4 Zeilen bei OnPlayerSpawn.
enum frakSpawnEnum
{
Float:e_x,
Float:e_y,
Float:e_z,
Float:e_a,
e_skin,
e_int
};#define ANZAHL_FRAKS 2
#define ANZAHL_RANKS 2
new frakSpawns[ANZAHL_FRAKS][ANZAHL_RANKS][frakSpawnEnum] =
{
//Fraktion 0
{
//Ranks für Fraktion 0
{1524.6626, -683.3287, 10009.8350, 133.8925, 98 , 0},
{1524.6626, -683.3287, 10009.8350, 133.8925, 124 , 0} //<- beim letzten kein Komma
},
//Fraktion 1
{
//Ranks für Fraktion 1
{218.0840 , 111.3306 , 1003.2188 , 39.4803 , 284 , 10},
{218.0840 , 111.3306 , 1003.2188 , 39.4803 , 266 , 10} //<- beim letzten kein Komma
} //<- beim letzten kein Komma
//etc...
};SetPlayerInterior(playerid, frakSpawns[frakID][rankID][e_int]);
SetPlayerPos(playerid, frakSpawns[frakID][rankID][e_x], frakSpawns[frakID][rankID][e_y], frakSpawns[frakID][rankID][e_z]);
SetPlayerFacingAngle(playerid, frakSpawns[frakID][rankID][e_a]);
SetPlayerSkin(playerid, frakSpawns[frakID][rankID][e_skin]); -
Dann so:
new steuer = gehalt / 100 * 19; -
Nimm das hier aus der Schleife raus:
else
{
scm(playerid, COLOR_RED, "Du sitz in keinem Taxi-Fahrzeug!");
return 1;
}Nach der Schleife (nicht darin!) schreibst du dann:
scm(playerid, COLOR_RED, "Du sitz in keinem Taxi-Fahrzeug!");
return 1;Dann geht's.
Zwecks den 19%:
Mit oder ohne Komma? Also ist dein Gehalt ein Float oder ein Integer? -
Du darfst nicht alles wieder ersetzen, sondern du musst den neuen Server herunterladen und darfst dort nur deine Codes einfügen (die pwn und amx Dateien).
Dann startest du die pawno.exe die mit dem neuen Server kommt und wählst deinen Code aus, den kompilierst du dann. -
Das liegt daran, dass du nicht die aktuellsten Includes hast.
Lade dir von sa-mp.com den neusten Server herunter, füge deine Daten dort ein, starte die pawno.exe aus dem neuen Ordner (bzw. lösche den alten sowieso) und kompiliere dann den Code.CreateActor wurde erst mit der Version 0.3.7 eingeführt, du nutzt wahrscheinlich noch 0.3z oder eine ältere Version.
-
ocmd:leichencheck(playerid, params[])
{
new query[256], pID;
if(!isPlayerInFrakt(playerid,4))return SendClientMessage(playerid,-1,"Du bist nicht bei der Spurensicherung.");
if(sscanf(params,"u",pID))return SendClientMessage(playerid,-1,"Tippe: /leichencheck [Spieler]");
mysql_format(mysqlHandle, query, sizeof(query), "SELECT DNA FROM accounts WHERE Name = '%s'",SpielerName(pID));
mysql_tquery(mysqlHandle, query, "Laborcheck", "d", playerid);
return 1;
}public Laborcheck(playerid)
{
if(!cache_get_row_count()) return SendClientMessage(playerid,0xFF0000FF,"Spieler nicht gefunden.");
SendClientMessage(playerid,-1,"Die DNA Lautet: ");
cache_get_row(0, 0, string);
SendClientMessage(playerid,-1,string);
return 1;
}Versuche es so.