Zeig mal wie du die Function erstellt hast
Also das Public
Zeig mal wie du die Function erstellt hast
Also das Public
Theroetisch ist es ja nur "1" string aber , er hatte es so gemacht:
query1
query2 hier sieht er auch des anders geht
Und ich muss nichts dazu erklären.
Wenn man grundkenntnisse hat versteht man das ![]()
stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
if(GetPVarInt(playerid,"Eingeloggt") == 1)
{
new query[800][2];
format(query[0], 800), "UPDATE `accounts` SET `Level` = '%d',`Adminlevel` = '%d',`Online` = '%d',`Datum` = '%s',`Geschlecht` = '%i',`Alter` = '%i',`Perso` = '%i',`Flugschein` = '%i',`Bootsschein` = '%i',`Fahrpruefung` = '%i',`Fuehrerschein` = '%i',`Verwarnungen` = '%i',`Gebannt` = '%i',`Waffenschein` = '%i',",
SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pOnline],SpielerInfo[playerid][pDatum],SpielerInfo[playerid][pGeschlecht],SpielerInfo[playerid][pAlter],SpielerInfo[playerid][pPerso],SpielerInfo[playerid][pFlugschein],SpielerInfo[playerid][pBootsschein],SpielerInfo[playerid][pFahrpruefung],SpielerInfo[playerid][pFuehrerschein],SpielerInfo[playerid][pWarns],SpielerInfo[playerid][pGebannt],SpielerInfo[playerid][pWaffenschein]);
format(query[1], 800, "UPDATE `accounts` SET `Gemutet` = '%i',`MuteTime` = '%i',`Fraktion` = '%i',`Fraktionsrang` = '%i',`Leader` = '%i' WHERE `Name` = '%s'",
SpielerInfo[playerid][pMuted],SpielerInfo[playerid][pMuteTime],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pFraktionsrang],SpielerInfo[playerid][pLeader],SpielerInfo[playerid][pName]);
mysql_query(query[0]);
mysql_query(query[1]);
print(query[0]);
print(query[1]);
printf("Der Account von %s wurde gespeichert!.",getPlayerName(playerid));
}
}
return 1;
}
stock getPlayerName(playerid){new name[24]; GetPlayerName(playerid, name, 24); return name;}
Benutzt das mal sollte klappen
Den Fehler bekomme ich auch immer benutze einfach OnPlayerTakeDamage
Es gibt Funktionen wie dini_IntSet
oder dini_Int, dini_Set, dini_FloatSet, dini_Float, dini_Get
und wie du es in einer Datei speichern kann siehst du hier:
MAX_PLAYER_NAMES
UPDATE MAL deine a_samp.inc wenn das nicht hilft #define MAX_PLAYER_NAME 24
Mach das mal zum PlayerTextDraw ![]()
Das textdraw ist ja auch global das liegt dann nicht am command...
Alles anzeigen
ocmd:ooc(playerid,params[])
{
new text[128], level = GetPVarInt(playerid,"Adminlevel");
if(sscanf(params,"s",text))return SendClientMessage(playerid,ROT,"Benutze: /ooc [Nachricht]");
if(isPlayerAnAdmin(playerid,level))
{
format(text,sizeof(text),"((%s %s: %s))",GetRang(playerid),SpielerName(playerid),text);
SendClientMessageToAll(BLAU,text);
}
return 1;
}
Dein Quellcode ergibt keinen sinn du machst :
level = GetPVarInt(playerid,"Adminlevel");
und dann noch :O
if(isPlayerAnAdmin(playerid,level)) ??
Du fragst ab ob er sein eigenes adminlevel besitzt , das ist nicht gut nachgedacht ♥
ocmd:ooc(playerid,params[])
{
new Inhalt[128],string[128];
if(sscanf(params,"s",Inhalt))return SendClientMessage(playerid,ROT,"Benutze: /ooc [Nachricht]");
format(string,sizeof(string),"*((%s: %s))",Spielername(playerid),text);
SendClientMessageToAll(BLAU,text);
if(isPlayerAnAdmin(playerid,2))
{
format(string, sizeof(string), "((%s %s: %s))",GetRang(playerid),Spielername(playerid),text);
SendClientMessage(playerid,ROT,string;
return 1;
}
return 1;
}
Benutzt das mal
Dein Ernst ? Das kann garnicht sein, gib mal deine Teamviewer daten per PN dann helfe ich dir ♥♥♥
Alles anzeigenif(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_IMPUT,"Registrieren","Gib Bitte das gewünschte Paswort ein","Register","Abbrechen");
return 1;
}
else
{
Register(playerid,inputtext)
return 1;
}
Du hast hier die Klammern nicht geschlossen:
if(response==1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_IMPUT,"Registrieren","Gib Bitte das gewünschte Paswort ein","Register","Abbrechen");
return 1;
}
else
{
Register(playerid,inputtext)
return 1;
}
das heißt DIALOG_STYLE_INPUT ![]()
Wie ScriptingFreak schon sagte poste mal paar zeilen Darüber einen Quellcode:
Denn hier:
public OnPlayerConnect(playerid)
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib Bitte das gewünschte Paswort ein","Register","Abbrechen");
return 1;
}
Erkenne ich keinen Fehler
Vielleicht hast du ja die Area falsch gesetzt.
Setze die Area mal neu ![]()
Was eventuell hilfreich sein würde ist wenn du auch abfragen würdest ob pID keine INVALID_PLAYER_ID ist
if(pID==INVALID_PLAYER_ID)return Aktion;
Und dann noch wieso nimmst du 2 strings ?
Du kannst das ganze auch so machen:
format(string,sizeof(string),"Ein Admin hat dein Geld auf %i EUR gesetzt.",cash);
SendClientMessage(pID,COLOR_DGREEN,string);
format(string(string),"Du hast das Geld von %s auf %i EUR gesetzt.",SpielerName(pID),cash);
SendClientMessage(playerid,COLOR_DGREEN,string);
Weil ich sehe auch keinen direkten Fehler warum der Fail auftritt
Was ich vielmehr denke ist das du es dachtest das es gefailt hatte da du die String reihenfolge falsch gesetzt hast
Habe sie dir oben Berichtigt:
format(n1,sizeof(n1),"Ein Admin hat dein Geld auf %i EUR gesetzt.",cash);
format(n2,sizeof(n2),"Du hast das Geld von %s auf %i EUR gesetzt.",SpielerName(pID),cash);
SendClientMessage(playerid,COLOR_DGREEN,n1);
SendClientMessage(pID,COLOR_DGREEN,n2);
n1=Ein Admin hat dein Geld auf %i Eur gesetzt aber du lässt das an den admin senden ![]()
n2=Du hast das Geld von %s auf %i EUR gesetzt. Das lässt du an die pID senden ![]()
Du musst das ganze eventuell mit einer id wiedergeben