Hi,
ich habe mehrere Errors, vllt kann mir ja jemand helfen
Die Errors kamen beim wechseln von Dini auf Mysql.
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
new name[31],
Float:health,
query[100];
GetPlayerHealth(playerid,health);
GetPlayerName(playerid,name,31);
format(query,sizeof(query)," UPDATE `spieler` SET `Level` = '%d', `Geld` = '%d', `Leben` = '%f', `Adminlevel` = '%d', `Fraktion` = '%d', `Fraktionslevel` = '%d', `Warnungen` = '%d', `Baned` = '%d', `timeban` = '%d', `Skin` = '%d', `Job` = '%d',`Führerschein` = '%d', `Fahrpunkte` = '%d', `Bootschein` = '%d', `Flugschein` = '%d', `Perso` = '%d', `Duty` = '%d', `AuftragMoney` = '%d', `Wanteds` = '%d', `lspdschein` = '%d', `PayTime` = '%d', `Tutorial` = '%d', `Premium` = '%d', `Knast` = '%d', `Knastzeit` = '%d', `Lottozahl` = '%d', `Gang` = '%s', `Gangrang` = '%d' WHERE `Name` = '%s'",GetPlayerScore(playerid),GetPlayerMoney(playerid),health,GetPVarInt(playerid,"Adminlevel"),GetPVarInt(playerid,"Fraktion"),GetPVarInt(playerid,"Fraktionslevel"),GetPVarInt(playerid,"Warnungen"),GetPVarInt(playerid,"Baned"),GetPVarInt(playerid,"timeban"),GetPlayerSkin(playerid),GetPVarInt(playerid,"Job"),GetPVarInt(playerid,"Führerschein"),GetPVarInt(playerid,"Fahrpunkte"),GetPVarInt(playerid,"Bootschein"),GetPVarInt(playerid,"Flugschein"),GetPVarInt(playerid,"Perso"),GetPVarInt(playerid,"Duty"),GetPVarInt(playerid,"AuftragMoney"),GetPVarInt(playerid,"Wanteds"),GetPVarInt(playerid,"lspdschein"),GetPVarInt(playerid,"PayTime"),GetPVarInt(playerid,"Tutorial"),GetPVarInt(playerid,"Premium"),GetPVarInt(playerid,"Knast"),GetPVarInt(playerid,"Knastzeit"),GetPVarInt(playerid,"Lottozahl"),gangname,GetPVarInt(playerid,"Gangrang"),name);
mysql_query(query);
}
return 1;
}
Errors:
***(9) : error 075: input line too long (after substitutions)
***(10) : error 037: invalid string (possibly non-terminated string)
***(10) : error 017: undefined symbol "UPDATE"
***(10) : error 029: invalid expression, assumed zero
***(10) : fatal error 107: too many error messages on one line
Beiträge von theTV
-
-
-
Ich habs mal so gemacht. Bei Fehler korrigieren
Spoiler anzeigen
forward t1();
new lspdschranke,
lspdschrankeu,
lspdschrankei;Spoiler anzeigen public OnGameModeInit()
{
lspdschranke=CreateObject(2920, 1544.69922, -1630.7998, 13.1, 270, 0, 0);
return 1;
}Spoiler anzeigen public t1()
{
if(lspdschrankeu==1)
{
if(lspdschrankei<=90)
{
new Float:x, Float:y, Float:z;
GetObjectRot(lspdschranke,x,y,z);
x=x+1;
SetObjectRot(lspdschranke,x,0,0);
lspdschrankei=lspdschrankei+1;
}
if(lspdschrankei>=545&&lspdschrankei<=635)
{
new Float:x, Float:y, Float:z;
GetObjectRot(lspdschranke,x,y,z);
x=x-1;
SetObjectRot(lspdschranke,x,0,0);
lspdschrankei=lspdschrankei+1;
}
if(lspdschrankei==636)
{
lspdschrankeu=0;
lspdschrankei=0;
}
}
return 1;
}Spoiler anzeigen ocmd:mv(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 10, 1544.69922, -1630.7998, 13.1))
{
lspdschrankeu=1, SetTimer("t1",11,true);
SendClientMessage(playerid,rot,"LSPD Schranke öffnet");
}
return 1;
}
-
Der Code wär nett. Vllt liegts daran.
-
Hallo,
ich wollte mich mal von dini ablösen und mit MySQL anfangen.
Da fiel mir auf das es mehrere Plugins gibt, eins von G-sTyLeZzZ und das andere von Strickenkid.
Welches benutzt ihr bzw. ist Anfänger freundlich? -
gettime(mhour,mminute,msecond);
getdate(myear,mmonth,mday);
format(str,sizeof(str),"[d.d.%d] [d:d:d]: %s\n",mday,mmonth,myear,mhour,mminute,msecond,write);
fwrite(LogFile,str);
fclose(LogFile);
Du hast bei der Zeitangabe überall die % vor dem d vergessen -
was soll den /id machen bzw. aussehen ?
-
OnDialogResponse:
if(dialogid == MINIGAMES){
if(listitem==0)return OnPlayerCommandText(playerid,"/dm1");
else if(listitem==1)return OnPlayerCommandText(playerid,"/dm2");
else if(listitem==2)return OnPlayerCommandText(playerid,"/dm3");
else if(listitem==3)return OnPlayerCommandText(playerid,"/dm4");
else if(listitem==4)return OnPlayerCommandText(playerid,"/dm5");
else if(listitem==5)return OnPlayerCommandText(playerid,"/bg");
else if(listitem==6)return OnPlayerCommandText(playerid,"/race");
else if(listitem==7)return OnPlayerCommandText(playerid,"/derby");
else if(listitem==8)return OnPlayerCommandText(playerid,"/hay");
}
Und noch etwas, du hast hier ein Fehler:ZitatShowPlayerDialog(playerid, MINIGAMES, DIALOGID,DIALOG_STYLE_LIST,"Minigames","Deathmach\n Deathmatch2\n Deathmatch3\n Deathmatch4\n Deathmatch5\n Battleground\n Race\n Derby\n Hay","Ok","Cancel");
Falls du den Fehler nicht auf anhiebt findest, guck nochmal hier rein und überprüfe die Parameter. -
Bsp.:
new Namen[5][] = {"A","B","C","D","E"};forward FSLaden();
public FSLaden()
{
new str[50];
new name = Namen[random(5)];
format(str,sizeof(str),"loadfs %s",name);
RconSendCommand(str);
new rand = random(60000+540000); //mind. 1min - max. 10min
SetTimerEx("FSUnload",rand,0,"s",name);
SendClientMessageToAll(-1,"FS neugeladen");
return 1;
}
forward FSUnload(name);
public FSUnload(name)
{
new str[50];
format(str,sizeof(str),"unloadfs %s",name);
RconSendCommand(str);
SetTimerEx("FSLaden",1000,0); //1sek
SendClientMessageToAll(-1,"FS unloaded");
return 1;
} -
Ich hab mal gegoogelt und hab ein FS gefunden bei forum.sa-mp.com.
Hab mal die .pwn gedownloadet und hab sie bei pastebin hochgeladen.
Und hier ist noch eine Include.
Vielleicht hilft es dir -
da fehlt " %s.ini "
-
Hallo,
Ich versuch gerade das 1. zu Splitten und hab dazu nicht wirklich Hilfe gefunden, darum wende ich mich an euch.
Undzwar soll er die Positionen splitten.
Bsp.: /savepos //output:x,y,z
und jetzt würde ich die x und y positionen speichern lassenHier mein Code:
pos[0]=GetPVarFloat(playerid,"pos1"); //minX,Y
pos[1]=GetPVarFloat(playerid,"pos2"); //maxX,Y
sscanf(Query, "p<|><ffff>", pos[0],pos[1]); // keine Ahnung wie das geht
format(Query, sizeof(Query), "INSERT INTO gf (ID, gOwner, gMinX,gMinY,gMaxX,gMaxY,gOn,gStand1,gStand2,gAngreifer) VALUES (NULL, '%s',%f, %f, %f, %f);","0", pos[0],pos[1], pos[2], pos[3]); -
Am besten mit dem Callback OnVehicleDamageStatusUpdate.
Der wird aufgerufen, wenn Türen, Lichter oder Reifen Schaden kriegen. -
stock isPlayerInFrak(playerid,fraktion)
{
if(GetPVarInt(playerid,"Fraktion")>=fraktion)return 1;
return 0;
}
zu
stock isPlayerInFrak(playerid,fraktion)
{
if(GetPVarInt(playerid,"Fraktion")==fraktion)return 1;
return 0;
} -
Zitat
#include C:\Users\alexw_000\Desktop\Tuts\pawno\include\ocmd
#include C:\Users\alexw_000\Desktop\Tuts\pawno\include\dini
zu
#include <ocmd>
#include <dini> -
Hier haste ein Code-Schnipsel. Du müsstest es eigentlich nur Anpassen
new Zeichen[26][] = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
stock CreateRandoomNumplate(vehicle)
{
new numtext[20],Float:Pos[3];
GetVehiclePos(vehicle, Pos[0], Pos[1],Pos[2]);
format(numtext,20,"%s-%s%s %d",((Pos[0] > -992.5172 && Pos[0] < 4000.0000) && (Pos[1] < 528.0000 && Pos[1] > -4000.0000)?("LS"):((Pos[0] > -4000.0000 && Pos[0]< -992.5172) && (Pos[1] < 4000.0000 && Pos[1] > -4000.0000)?("SF"):((Pos[0] > -992.5172 && Pos[0]< 4000.0000) && (Pos[1] < 4000.0000 && Pos[1] > 528.0000)?("LV"):("CS")))),Zeichen[random(25)],Zeichen[random(25)],random(999));
SetVehicleNumberPlate(vehicle,numtext);
return numtext;
} -
Zitat
Eine kleine Hilfe hierbei ist mit Hilfe von TXDWorkshop im GTA San Andreas Ordner "models" -> "txd", die LOADSCS.txd zu öffnen.
Dort bekommst du alle möglichen Bilder, die man ins Spiel integrieren kann.Kleines Beispiel:
new Text:LOGINSCREEN;LOGINSCREEN = TextDrawCreate(0.00000,0.000000,"loadsc5:loadsc5");
TextDrawBackgroundColor(LOGINSCREEN,255);
TextDrawFont(LOGINSCREEN,4); //Font 4 ist ganz wichtig, denn sonst wird der vorgegebene Text angezeigt
TextDrawLetterSize(LOGINSCREEN,0.759999,1.000000);
TextDrawColor(LOGINSCREEN,-1);
TextDrawSetOutline(LOGINSCREEN,0);
TextDrawSetProportional(LOGINSCREEN,1);
TextDrawSetShadow(LOGINSCREEN,1);
TextDrawUseBox(LOGINSCREEN,1);
TextDrawBoxColor(LOGINSCREEN,255);
TextDrawTextSize(LOGINSCREEN,640.000000,448.000000);TextDrawShowForPlayer(playerid); & TextDrawHideForPlayer(playerid); dementsprechend einsetzen.
-
Wenn du als RCON eingeloggt bist:
/rcon banip <ip> -
Ich wäre dafür, wenn du den Code hier reinschreibst
-
if(isPlayerAnAdmin(playerid,1))
{
if(Aond[playerid] == false)
{
GetPlayerPos(playerid,X,Y,Z);
ADuty[playerid] = Create3DTextLabel("Admin im Dienst!",ROT,X,Y,Z,50.0,0,0);
format(nachricht,128,"%s hat sich als Admin angemeldet",SpielerName(playerid));
SendClientMessageToAll(0xFF9000FF,nachricht);
Attach3DTextLabelToPlayer(ADuty[playerid],playerid,0.0,0.0,0.75);
Aond[playerid] = true;
}
else
{
Delete3DTextLabel(ADuty[playerid]);
format(nachricht,128,"%s hat sich als Admin abgemeldet",SpielerName(playerid));
SendClientMessageToAll(0xFF9000FF,nachricht);
Aond[playerid] = false;
}
}