Danke sehr, hat supper geklappt:
[17:43:47] CMySQLHandler::Query(UPDATE `user` SET `Geld`='9998',`Level`='55',`Geschlecht`='0',`Alter`='-1',`Fraktion`='0',`Rang`='0' WHERE `Name`='DreamZY') - Successfully executed.
Beiträge von Kasakow
-
-
Versuch doch mal, im ordentlichen Syntax zu schrieben, also die felder in die Strichel ``
Du meinst so ?
format(query, sizeof(query), "UPDATE `user` SET `Geld`='%i',`Level`='%i',`Geschlecht`='%i',`Alter`='%i',`Fraktion`='%i',`Rang`='%i' WHERE `Name`='%s'", GetPlayerMoney(playerid), GetPlayerScore(playerid), uInfo[playerid][sGeschlecht],
uInfo[playerid][sAlter], uInfo[playerid][sFraktion], uInfo[playerid][sRang], Spielername(playerid));
mysql_query(query); -
Hallo leute, wenn ich UPDATE .. SET ..='..' WHERE ..='..'"... (Das ist nur ein beispiel, die punkte sind platzhalter) benutze bekomme ich folgenden fehler
[14:26:09] CMySQLHandler::Query(UPDATE user SET Geld='9999',Level='55',Geschlecht='0',Alter='-1',Fraktion='0',Rang='0' WHERE Name = 'DreamZY') - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Alter='-1',Fraktion='0',Rang='0' WHERE Name = 'DreamZY'' at line 1)
Das ganze soll speicherung am ende ergeben, halt veränderungen an den werten die angegeben wurden
Der Scriptcode von mir:
new query[1024];
format(query, sizeof(query), "UPDATE user SET Geld='%i',Level='%i',Geschlecht='%i',Alter='%i',Fraktion='%i',Rang='%i' WHERE Name = '%s'", GetPlayerMoney(playerid), GetPlayerScore(playerid), uInfo[playerid][sGeschlecht],
uInfo[playerid][sAlter], uInfo[playerid][sFraktion], uInfo[playerid][sRang], Spielername(playerid));
mysql_query(query);Danke schonmal fürs lesen
-
Zeig mal den aktuellen code
if(Spieler[playerid][Geld] >= 7000)
{
//..
GivePlayerMoney(playerid, -7000);
}Das wäre ein Beispiel von mir
-
Achso das ganze muss auf 1 stehen damit das Fahrzeug zu ist, das wusste ich ja noch garnicht,
und mit der schleife hatte ich es voherDanke -
-
Hey, ich hatte schon damals Probleme damit und deswegen frage ich mal euch
Roller[0]=CreateVehicle(462, 819.2515, -1355.9657, 12.9651, 0.0000, -1, -1, 100);
Roller[1]=CreateVehicle(462, 813.2332, -1355.9370, 12.9651, 0.0000, -1, -1, 100);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(Roller[0], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Roller[0], engine, lights, alarm, VEHICLE_PARAMS_OFF, bonnet, boot, objective);
GetVehicleParamsEx(Roller[1], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Roller[1], engine, lights, alarm, VEHICLE_PARAMS_OFF, bonnet, boot, objective);Sry leute, aber ich sehe darinnen keinen Fehler
Man soll nicht auf den Roller aufsteigen können -
Hallo,
ich habe seit einer weile nicht mehr gescriptet und bin etwas verwirrt:new Var[128][4];
Darin sind folgende fehler aufgetaucht:
Code
Alles anzeigenC:\Users\Weiner\Desktop\Programme\samp\gamemodes\Stunt.pwn(341) : warning 219: local variable "dini_Banned" shadows a variable at a preceding level C:\Users\Weiner\Desktop\Programme\samp\gamemodes\Stunt.pwn(341) : error 001: expected token: ";", but found "(" C:\Users\Weiner\Desktop\Programme\samp\gamemodes\Stunt.pwn(341) : error 028: invalid subscript (not an array or too many subscripts): "playerid" C:\Users\Weiner\Desktop\Programme\samp\gamemodes\Stunt.pwn(341) : warning 215: expression has no effect C:\Users\Weiner\Desktop\Programme\samp\gamemodes\Stunt.pwn(341) : error 001: expected token: ";", but found "]" C:\Users\Weiner\Desktop\Programme\samp\gamemodes\Stunt.pwn(341) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 4 Errors.
//Edit: Habs hinbekommen ;): Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
-
Dir fehlt vielleicht der stock/funktion "split" ??
Der Fehler steht doch da -
den fehler habe ich dann auch immer, füg es mal als stock ein
also ganz unten ins script
stock sscanf(string[], format[], {Float,_}:...)
{
#if defined isnull
if (isnull(string))
#else
if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
#endif
{
return format[0];
}
#pragma tabsize 4
new
formatPos = 0,
stringPos = 0,
paramPos = 2,
paramCount = numargs(),
delim = ' ';
while (string[stringPos] && string[stringPos] <= ' ')
{
stringPos++;
}
while (paramPos < paramCount && string[stringPos])
{
switch (format[formatPos++])
{
case '\0':
{
return 0;
}
case 'i', 'd':
{
new
neg = 1,
num = 0,
ch = string[stringPos];
if (ch == '-')
{
neg = -1;
ch = string[++stringPos];
}
do
{
stringPos++;
if ('0' <= ch <= '9')
{
num = (num * 10) + (ch - '0');
}
else
{
return -1;
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num * neg);
}
case 'h', 'x':
{
new
num = 0,
ch = string[stringPos];
do
{
stringPos++;
switch (ch)
{
case 'x', 'X':
{
num = 0;
continue;
}
case '0' .. '9':
{
num = (num << 4) | (ch - '0');
}
case 'a' .. 'f':
{
num = (num << 4) | (ch - ('a' - 10));
}
case 'A' .. 'F':
{
num = (num << 4) | (ch - ('A' - 10));
}
default:
{
return -1;
}
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num);
}
case 'c':
{
setarg(paramPos, 0, string[stringPos++]);
}
case 'f':
{
new changestr[16], changepos = 0, strpos = stringPos;
while(changepos < 16 && string[strpos] && string[strpos] != delim)
{
changestr[changepos++] = string[strpos++];
}
changestr[changepos] = '\0';
setarg(paramPos,0,_:floatstr(changestr));
}
case 'p':
{
delim = format[formatPos++];
continue;
}
case '\'':
{
new
end = formatPos - 1,
ch;
while ((ch = format[++end]) && ch != '\'') {}
if (!ch)
{
return -1;
}
format[end] = '\0';
if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
{
if (format[end + 1])
{
return -1;
}
return 0;
}
format[end] = '\'';
stringPos = ch + (end - formatPos);
formatPos = end + 1;
}
case 'u':
{
new
end = stringPos - 1,
id = 0,
bool:num = true,
ch;
while ((ch = string[++end]) && ch != delim)
{
if (num)
{
if ('0' <= ch <= '9')
{
id = (id * 10) + (ch - '0');
}
else
{
num = false;
}
}
}
if (num && IsPlayerConnected(id))
{
setarg(paramPos, 0, id);
}
else
{
#if !defined foreach
#define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
#define __SSCANF_FOREACH__
#endif
string[end] = '\0';
num = false;
new
name[MAX_PLAYER_NAME];
id = end - stringPos;
foreach (Player, playerid)
{
GetPlayerName(playerid, name, sizeof (name));
if (!strcmp(name, string[stringPos], true, id))
{
setarg(paramPos, 0, playerid);
num = true;
break;
}
}
if (!num)
{
setarg(paramPos, 0, INVALID_PLAYER_ID);
}
string[end] = ch;
#if defined __SSCANF_FOREACH__
#undef foreach
#undef __SSCANF_FOREACH__
#endif
}
stringPos = end;
}
case 's', 'z':
{
new
i = 0,
ch;
if (format[formatPos])
{
while ((ch = string[stringPos++]) && ch != delim)
{
setarg(paramPos, i++, ch);
}
if (!i)
{
return -1;
}
}
else
{
while ((ch = string[stringPos++]))
{
setarg(paramPos, i++, ch);
}
}
stringPos--;
setarg(paramPos, i, '\0');
}
default:
{
continue;
}
}
while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
{
stringPos++;
}
while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
{
stringPos++;
}
paramPos++;
}
do
{
if ((delim = format[formatPos++]) > ' ')
{
if (delim == '\'')
{
while ((delim = format[formatPos++]) && delim != '\'') {}
}
else if (delim != 'z')
{
return delim;
}
}
}
while (delim > ' ');
return 0;
} -
benutzt du sscanf als include oder als stock im script selber
-
Benutzt du nebenbei auch onplayercommandtext
-
Arbeite mal mit OnPlayerStateChange
oder onplayerkey
if(newkeys == ..)
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return 1;
TextDrawHideForPlayer(playerid,KMHAnzeige[playerid]);
TextDrawHideForPlayer(playerid, FahrzeugName[playerid]);
TextDrawHideForPlayer(playerid, KMHBOX[playerid]);
TextDrawHideForPlayer(playerid, FahrzeugZustand[playerid]);
TextDrawHideForPlayer(playerid, FahrzeugMotor[playerid]);
TextDrawHideForPlayer(playerid, FahrzeugBenzin[playerid]);
TextDrawHideForPlayer(playerid, TachoText[playerid]);
} -
-
Wenn du diese Systeme, die wirklich nicht schwer sind, vielleicht bis auf das Adminsystem, nicht selber kannst würde ich es lieber lassen. Du weisst doch garnicht was du da machst ...
Meinst du etwa mich ? -
Wieso benutz du else wenn du mit return arbeitest
mit return wert; wird das untere nicht mehr aufgerufen und der wert z.B return 1; der wird zurückgegeben.
if(!IsPlayerInRangeOfPoint(playerid, 5.0, 252.2262,-94.7297,3.5354))return SendClientMessage(playerid,-1,"Hinweis: Du bist nicht in der Nähe von Opa Henkins!");
Mach das ganze mal so
und nun mal zu deinem error:zeig uns mal den ganzen code
-
1. Musst du das ganze in eine Variable setzen lassen.
2. Falls du dini hast:dini_IntSet(pfad, "skin", variable);
3. Falls du MySQL hast:
format(string; 128, "UPDATE tabellenname SET skin='%i' WHERE ..='%s'",variable, name);
mysql_query(string); -
new string[256];
#define DIALOG_BAN 0
format(string,256,"HALLO %s DU WURDEST VOM SERVER GESPERRT!\nVerantwortlicher: %s\nDatum: %s\nArt: Permanent", dini_Get(...), ...);
ShowPlayerDialog(playerid, DIALOG_BAN, DIALOG_STYLE_MSGBOX, "...", string, "..", "..");
Du muss halt mit dini_Set und dini_Get arbeiten
-
new Object[MAX_PLAYERS];
Object[playerid] = CreateObject(...);
AttachObjectToPlayer(...);http://wiki.sa-mp.com/wiki/CreateObject
-
#pragma dynamic 30000
Damit blendest du diese Message aus
-
format(string,sizeof(string),"%s: %s\n%s", platzhalter1, platzhalter2, string);
So würde das ganze funktonieren