Was ist DB?
Und sonst funktioniert alles, sonst würde ich mich ja nicht so wundern.
Beim reloggen ist alles perfekt es gibt da keine probleme.
Beiträge von SoulMan
-
-
Daran könnte es liegen.
Ich teste es eben.*/Edit:
Das war es leider nicht.*/Edit 2:
Am SavePlayer kann es eig. garnicht liegen, da es ja beim Disconnect funktioniert.
aber bitte.stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
if(pInfo[playerid][logged] == 1)
{
mysql_SetInt("Accounts", "Geschlecht", pInfo[playerid][Geschlecht], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Alter", pInfo[playerid][Alter], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "AdminLevel", pInfo[playerid][AdminLevel], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Wanteds", pInfo[playerid][Wanteds], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "JailTime", pInfo[playerid][JailTime], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Free", pInfo[playerid][Free], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Leader", pInfo[playerid][Leader], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Medikamente", pInfo[playerid][Medikamente], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Fuehrerschein", pInfo[playerid][Fuehrerschein], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Waffenschein", pInfo[playerid][Waffenschein], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Flugschein", pInfo[playerid][Flugschein], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Bootsschein", pInfo[playerid][Bootsschein], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Motoradschein", pInfo[playerid][Motoradschein], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Perso", pInfo[playerid][Perso], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Bankkarte", pInfo[playerid][Bankkarte], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "ID", pInfo[playerid][ID], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "fSperre", pInfo[playerid][fSperre], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Uhr", pInfo[playerid][Uhr], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Bank", pInfo[playerid][Bank], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Verwarnung", pInfo[playerid][Verwarnung], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Fraktion", pInfo[playerid][Fraktion], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Skin", GetPlayerSkin(playerid), "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Job", pInfo[playerid][Job], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "hGuns", pInfo[playerid][hGuns], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "bGuns", pInfo[playerid][bGuns], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Rank", pInfo[playerid][Rank], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "PrisonZeit", pInfo[playerid][PrisonZeit], "Name", SpielerName[playerid]);
mysql_SetInt("Accounts", "Geld", GetPlayerMoney(playerid), "Name", SpielerName[playerid]);
}
}
return 1;
} -
Hey, Com!
Ich habe ein kleines Problem, wenn ich den Server neustarte, ist der Skin immer autom. auf 0 gestellt.
Jedoch wird bei OnGameModeExit alles gespeichert, daher sollte sowas garnicht passieren. Auch beim DIsconnect wird
selbstverständlich immer gespeichert, zu dem Fehler kommt es trotzdem immer wieder.
Der Spieler befindet sich mit SkinID 0 am Spawnpunkt und der Dialog für das Passwort erscheint. Man gibt es ein und spawnt
am richtigen PLatz mit SkinID 0.public OnGameModeExit()
{
mysql_close();
for(new i=0;i<MAX_PLAYERS;i++)
{
SavePlayer(i);
}
return 1;
}public OnPlayerDisconnect(playerid, reason)
{
SavePlayer(playerid);
return 1;
}Wo liegt der Fehler?
-
Das ist aus meinem Filterscript (siehe Signatur)
DIe CallRemoteFunktion kannst du da rausnehmen. -
Guck dir das Standardfilterscript gl_actions an und lerne daraus.
Ansonsten arbeite mit
ApplyAnimation*/Edit:
FS Name -
Lern erstmal ein paar Grundelagen, bevor du sowas scripten möchtest und
wahllos Threads für Scriptwünsche erstellst. -
Na klar ist GRP ein GF-Edit.
-
Ja kann man. Jetzt hat man nur ganz viele unnötige Zeilen im Script.
Hab selber noch keine direkte TalkPower Funktion von Samp gesehen.. -
Wenn du meine Freundschaftsanfrage akzeptierst, kann ich dir auch ne PN senden.
Hab es von der Logik her verstanden, aber wie genau weiß ich jetzt nicht, da ich nur selten mit PVars arbeite. -
Hey, Breadfisher!
Habe mich gerade eben mal an ein Banksystem gemacht und es funktioniert alles, außer
das Überweisen.
Hier der Code.
if(dialogid == Ueberweisung)
{
new pID;
if(!response)return ShowPlayerDialog(playerid,Bankmenu,DIALOG_STYLE_LIST,"Transaktionen","Einzahlen\nAuszahlen\nKontostand\nÜberweisung","Wählen","Beenden");
if(sscanf(inputtext,"u",pID))return ShowPlayerDialog(playerid,UeberweisungText1,DIALOG_STYLE_MSGBOX,"Transaktion","Ungültige Angabe! Wiederholen Sie den Vorgang","Schließen","") ;
ShowPlayerDialog(playerid,Ueberweisung2,DIALOG_STYLE_INPUT,"Überweisung","Wert eingeben:","Überweisen","Verlassen");
}
if(dialogid == Ueberweisung2)
{
new str[128],str2[128];
if(!response)return ShowPlayerDialog(playerid,Bankmenu,DIALOG_STYLE_LIST,"Transaktionen","Einzahlen\nAuszahlen\nKontostand\nÜberweisung","Wählen","Beenden");
if(pInfo[playerid][Bank] < strval(inputtext))return SendClientMessage(playerid,0xC8C8C8FF,"Du hast nicht genug Geld auf dem Konto!");
GivePlayerMoney(playerid, - strval(inputtext));
pInfo[playerid][Bank] -= strval(inputtext);
pInfo[pID][Bank] += strval(inputtext);
format(str,sizeof(str),"Sie haben %d$ auf das Konto von %s eingezahlt",strval(inputtext),SpielerName[pID]);
ShowPlayerDialog(playerid,UeberweisungText1,DIALOG_STYLE_MSGBOX,"Transaktion",str,"Schließen","");
format(str2,sizeof(str2),"%s hat ihnen %d$ auf ihr Konto überwiesen",SpielerName[playerid],strval(inputtext));
}Das Problem ist jetzt, dass pID nicht definiert ist bei "Ueberweisung2".
Habe mir gedacht, dass das passiert, aber auf eine Lösung komme ich leider nicht.
Hoffe Jemand hat Erfahrung mit solch einem System und kann kurz helfen.mfG
-
Aber einen Unterschied muss es ja geben, sonst würde es sie ja nicht geben.
-
Wozu dient dann %i, wenn %d einen Integer ausgibt?
Hätte ich gern mal gewusst. -
Theoretisch ist das ja alles möglich.
Man müsste die Foren nur in soweit unterteilen, dass für das Erstellen eines Threads in
einem Forum immer eine Vorlage vorhanden ist.
Ob man die Vorlage im Textfenster für jeden Präfix sich ändern lassen könnte, weiß ich nicht.Oder man schreibt, wie bereits gesagt eine "Mindestanforderung an Informationen" für die Themenerstellung und
pinnt Diese an. -
Das war, was ich gesucht habe. Okey, der Teil geht, aber der Gametext kommt nicht.
*/Edit:
~Erledigt~ -
Na klar, ich vergesse den Gamemode einzufügen.
Bitte nur posten, wenn man ein konstruktiven Vorschlag hat. -
-
Habe irgendwie kein Auge mehr für den Fehler.
Vielleicht findet ja Jemand die Ursache dafür, dass nichts von all dem Ingame erscheint..
Hier der Code:
COMMAND:uhr(playerid,params[])
{
new str[128],timestring[128], Float:x,Float:y,Float:z;
new hour, minute,second;
gettime(hour,minute,second);
if(pInfo[playerid][Uhr] == 0)return SendClientMessage(playerid,0xC8C8C8FF,"Du besitzt keine Uhr!");
switch(pInfo[playerid][Uhr])
{
case 1: format(str,sizeof(str),"%s schaut auf seine Crowex",SpielerName[playerid]);
case 2: format(str,sizeof(str),"%s schaut auf seine Gnocchi",SpielerName[playerid]);
case 3: format(str,sizeof(str),"%s schaut auf seine Kronos",SpielerName[playerid]);
}
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerInRangeOfPoint(i,30.0,x,y,z))
{
SendClientMessage(i,0x00EBFFFF,str);
}
}
format(timestring,sizeof timestring,"~g~%d:~r~%d Uhr ~w~%d Sekunden ",hour,minute,second);
GameTextForPlayer(playerid,timestring,4000,1);
return 1;
}Wäre nett, wenn mir jmd. hilft.
Hab mir den Code ganz genau angeschaut und sehe meinen Fehler nicht.. -
Wenn du mal ein wenig im Forum suchst, findest du was dazu.
Es gibt so viele Themen darüber..
Ansonsten arbeite mit
IsPlayerInRangeOfPointmfG
*/Edit:
Da war jmd. schneller. -
Um Fehler mit den V-Worlds zu vermeiden kann man zusätzlich abfragen, ob der Spieler auch in der V-World
ist, in welche er gesetzt wurde.
if(pickupid==xyz)
{
if(GetPlayerVirtualWorld(playerid) == 1) //Deine VWorld
{
SetPlayerVirtualWorld(playerid,0);
//Restliche Codes
}
} -
Es wäre wirklich schön, wenn dies umgesetzt wird, um unqaulifizierte Anfragen zu vermeiden und
einzugrenzen. Pro- & Contras wurden ja genannt.
Jetzt liegt es an den Administratoren, ob sie dies verwirklichen.Gute Nacht.