ZitatSchau mal in meiner Signatur, genau für solche Fälle gemacht
Und nächstes mal die Sufu benutzen !
Ich hab dein Tutorial schon gesehen, und auch so versucht wie du es erklärst.
Hilft trozdem nicht, funktioniert genauso wie vorhin -> NICHT
ZitatSchau mal in meiner Signatur, genau für solche Fälle gemacht
Und nächstes mal die Sufu benutzen !
Ich hab dein Tutorial schon gesehen, und auch so versucht wie du es erklärst.
Hilft trozdem nicht, funktioniert genauso wie vorhin -> NICHT
Hallo nochmal,
ich habe schon einmal einen Thread mit diesen Thema eröffnet aber
da nach 6 Messages keine weitere Antwort kam, und auch
keine Lösung gefunden wurde.. eröffne ich Ihn nochmal.
Save:
stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) //wir überprüfen ob der Spieler überhaupt noch Connected ist und ob er nicht ein NPC ist.
{
if(GetPVarInt(playerid,"Eingeloggt") == 1) //Und hier ob er noch eingeloggt ist.
{
//Nun speichern wir die Daten in der Datenbank.
mysql_SetInt("accounts", "Registriert", SpielerInfo[playerid][Registered], "Name", SpielerInfo[playerid][Name]);
new Float: PosXX, Float: PosYY, Float: PosZZ, Float: PosAA;
GetPlayerPos(playerid, PosXX, PosYY, PosZZ);
GetPlayerFacingAngle(playerid, PosAA);
SpielerInfo[playerid][Interior] = GetPlayerInterior(playerid);
mysql_SetInt("accounts", "Stufe", GetPlayerScore(playerid), "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Skin", SpielerInfo[playerid][Skin], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Geld", GetPlayerMoney(playerid), "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "AdminRank", SpielerInfo[playerid][AdminRank], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Warnings", SpielerInfo[playerid][Warnings], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Gemutet", SpielerInfo[playerid][Muted], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Gebannt", SpielerInfo[playerid][Banned], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Fraktion", FraktionInfo[playerid][Mitglied], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "FraktionLeitung", FraktionInfo[playerid][Leitung], "Name", SpielerInfo[playerid][Name]);
}
}
return 1;
}
Load:
stock LoadPlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))//Wir fragen ab ob der angegebene Spieler auch Online ist, und kein NPC ist (nur zur sicherhheit)
{
if(SpielerInfo[playerid][Banned] == 1)
{
new BanString[128];
new BannedName[MAX_PLAYER_NAME];
GetPlayerName(playerid,BannedName,sizeof(BannedName));
format(BanString,sizeof(BanString),"/Datenbank/Accounts/%s.txt",BannedName);
format(BanString,sizeof(BanString),"%s versucht sich mit seinem gebannten Account ein zu loggen",BannedName);
MessageToAdmins(Color_Orange,BanString,1);
SendClientMessage(playerid,Color_Red,"SERVER: Dein Account wurde vom Server verbannt!");
Ban(playerid);//Bannt den Spieler und schreibt Ihm in die "samp.ban"
return 1;
}
GetPlayerName(playerid, SpielerInfo[playerid][Name], MAX_PLAYER_NAME); //Wir Speichern den Namen des Spielers in der Variable [i]SpielerInfo[playerid][pName][/i]
SpielerInfo[playerid][Registered] = mysql_GetInt("accounts", "Registriert", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][PosX] = mysql_GetFloat("accounts","PosX","Name",SpielerInfo[playerid][Name]); //Er speichert die PosX in die Tabelle Accounts, in das Feld PosX
SpielerInfo[playerid][PosY] = mysql_GetFloat("Accounts","PosY","Name",SpielerInfo[playerid][Name]);
SpielerInfo[playerid][PosZ] = mysql_GetFloat("Accounts","PosZ","Name",SpielerInfo[playerid][Name]);
SpielerInfo[playerid][PosA] = mysql_GetFloat("Accounts","PosR","Name",SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Interior] = mysql_GetInt("Accounts","Interior","Name",SpielerInfo[playerid][Name]);
SetPlayerScore(playerid, mysql_GetInt("accounts", "Stufe", "Name", SpielerInfo[playerid][Name])); //Wir holen uns den wert der unter "Level" eingetragen ist und Speichern ihn in unserer Variable.
SetPlayerSkin(playerid, mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][Name]));
GivePlayerMoney(playerid,mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][Name]));
SpielerInfo[playerid][AdminRank] = mysql_GetInt("accounts", "AdminRank", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Warnings] = mysql_GetInt("accounts", "Warnings", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Muted] = mysql_GetInt("accounts", "Gemutet", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Banned] = mysql_GetInt("accounts", "Gebannt", "Name", SpielerInfo[playerid][Name]);
FraktionInfo[playerid][Mitglied] = mysql_GetInt("accounts", "Fraktion", "Name", SpielerInfo[playerid][Name]);
FraktionInfo[playerid][Leitung] = mysql_GetInt("accounts", "FraktionLeitung", "Name", SpielerInfo[playerid][Name]);
PlayerSpawn(playerid);
SendClientMessage(playerid,Color_Green,"Erfolgreich eingeloggt");
if(SpielerInfo[playerid][AdminRank] > 0)
{
new Level[64];
format(Level,sizeof(Level),"Du bist als Stufe %d Administrator eingeloggt",SpielerInfo[playerid][AdminRank]);
SendClientMessage(playerid,Color_White,Level);
}
new Welcome[256];
format(Welcome,sizeof(Welcome),"~w~Willkommen ~n~~y~ %s",SpielerInfo[playerid][Name]);
GameTextForPlayer(playerid,Welcome,5000,1);
IsLoggedIn[playerid] = 1;
}
return 1;
}
OnPlayerSpawn:
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid))
{
new botname[MAX_PLAYER_NAME];
GetPlayerName(playerid,botname,sizeof(botname));
if(!strcmp(botname,"TouristBOTBus",true))
{
PutPlayerInVehicle(playerid,car_TouristBus, 0);
}
}
SetPlayerPos(playerid,SpielerInfo[playerid][PosX],SpielerInfo[playerid][PosY],SpielerInfo[playerid][PosZ]); //Position wird gesetzt.
SetPlayerFacingAngle(playerid,SpielerInfo[playerid][PosA]); //Die Drehung wird gesetzt.
SetPlayerInterior(playerid,SpielerInfo[playerid][Interior]);//Das Interior wird gesetzt.
return 1;
}
Ich hoffe das reicht an Infos und ich hoffe das ich eine Lösung bekomme.
Danke
Danke nochmal für deine Hilfe, es funktioniert leider immernoch nicht.. könntest du mir das mal
irgendwie machen? Skype oder so?
Wäre cool, weil ich kriege das irgendwie nicht hin
Danke schonmal für die Antwort komischerweise werd ich jetzt genau an so einen Bauernfeld gespawnt wenn ich mich registriere.
An was kann das liegen? Muss ich jetzt statt SetPlayerInterior mit SpielerInfo[playerid][Inte] arbeiten?
if(strcmp(cmd,"/su",true) == 0 || strcmp(cmd,"/suspect",true) == 0)
{
new tmp[128];
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,Farbe,"Benutze: /su [playerid] [Wanteds] [Grund]");
return 1;
}
new giveplayerid = ReturnUser(tmp));
tmp = strtok(cmdtext,idx);
new giveplayer[MAX_PLAYER_NAME];
GetPlayerName(giveplayerid,giveplayer,sizeof(giveplayer));
new Wanteds = strval(tmp);
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
PlayerInfo[giveplayerid][pWanteds] = level;
new string[128];
format(string,sizeof(string),"Du hast %s %d Wanteds gegeben",giveplayer, Wanteds);
SendClientMessage(playerid,Farbe,string);
format(string,sizeof(string),"Du hast %d Wanteds erhalten, Grund: %s", Wanteds, result);
SendClientMessage(giveplayerid,Farbe,string);
}
}
Sollte so in der Art funktionieren, natürlich brauchst du returnuser und strtok =)
Wieso machst du zwei if-Abfragen?
es geht doch so auch:
if(IsPlayerInRangeOfPoint(playerid,2.0,-2196.0063,636.7228, 49.0000) || IsPlayerInRangeOfPoint(playerid,2.0,2452.4685, -1898.1074, 13.7188))
Hallo!
Ich werden wahnsinnig, ich habe schon alles probiert
die Positionen speichern nicht und bleiben somit auf 0, genauso
wie bei FacingAngle und auch Interior, selbst beim Skin setzt er Ihn immer auf 0!
Ich habe das Problem mit den Positionen schon einmal gepostet
doch das Thema endete ohne Lösung.
Bitte helft mir ich habe alles versucht
Ich kann jetzt aber keinen Code einbinden da ich diesen
bzw meine Versuche alle gelöscht habe, damit die Übersicht wieder da ist.
Bitte helft mir, ich kriege es nicht gebacken die Position, FacingAngle, Interior und Skin ID zu speichern
Meine MySQL-Datenbank wurde mit dem Tutorial von MAddin erstellt.
stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) //wir überprüfen ob der Spieler überhaupt noch Connected ist und ob er nicht ein NPC ist.
{
if(GetPVarInt(playerid,"Eingeloggt") == 1) //Und hier ob er noch eingeloggt ist.
{
//Nun speichern wir die Daten in der Datenbank.
mysql_SetInt("accounts", "Registriert", SpielerInfo[playerid][Registered], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Interior", GetPlayerInterior(playerid), "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Stufe", GetPlayerScore(playerid), "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Skin", SpielerInfo[playerid][Skin], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Geld", GetPlayerMoney(playerid), "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "AdminRank", SpielerInfo[playerid][AdminRank], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Warnings", SpielerInfo[playerid][Warnings], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Gemutet", SpielerInfo[playerid][Muted], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Gebannt", SpielerInfo[playerid][Banned], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Fraktion", FraktionInfo[playerid][Mitglied], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "FraktionLeitung", FraktionInfo[playerid][Leitung], "Name", SpielerInfo[playerid][Name]);
}
}
return 1;
}
stock LoadPlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))//Wir fragen ab ob der angegebene Spieler auch Online ist, und kein NPC ist (nur zur sicherhheit)
{
if(SpielerInfo[playerid][Banned] == 1)
{
new BanString[128];
new BannedName[MAX_PLAYER_NAME];
GetPlayerName(playerid,BannedName,sizeof(BannedName));
format(BanString,sizeof(BanString),"/Datenbank/Accounts/%s.txt",BannedName);
format(BanString,sizeof(BanString),"%s versucht sich mit seinem gebannten Account ein zu loggen",BannedName);
MessageToAdmins(Color_Orange,BanString,1);
SendClientMessage(playerid,Color_Red,"SERVER: Dein Account wurde vom Server verbannt!");
Ban(playerid);//Bannt den Spieler und schreibt Ihm in die "samp.ban"
return 1;
}
GetPlayerName(playerid, SpielerInfo[playerid][Name], MAX_PLAYER_NAME); //Wir Speichern den Namen des Spielers in der Variable [i]SpielerInfo[playerid][pName][/i]
SpielerInfo[playerid][Registered] = mysql_GetInt("accounts", "Registriert", "Name", SpielerInfo[playerid][Name]);
SetPlayerInterior(playerid, mysql_GetInt("accounts", "Interior", "Name", SpielerInfo[playerid][Name]));
SetPlayerScore(playerid, mysql_GetInt("accounts", "Stufe", "Name", SpielerInfo[playerid][Name])); //Wir holen uns den wert der unter "Level" eingetragen ist und Speichern ihn in unserer Variable.
SetPlayerSkin(playerid, mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][Name]));
GivePlayerMoney(playerid,mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][Name]));
SpielerInfo[playerid][AdminRank] = mysql_GetInt("accounts", "AdminRank", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Warnings] = mysql_GetInt("accounts", "Warnings", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Muted] = mysql_GetInt("accounts", "Gemutet", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Banned] = mysql_GetInt("accounts", "Gebannt", "Name", SpielerInfo[playerid][Name]);
FraktionInfo[playerid][Mitglied] = mysql_GetInt("accounts", "Fraktion", "Name", SpielerInfo[playerid][Name]);
FraktionInfo[playerid][Leitung] = mysql_GetInt("accounts", "FraktionLeitung", "Name", SpielerInfo[playerid][Name]);
SetSpawnInfo(playerid,0,101,-1886.0702,59.0036,1055.1891,263.4922,-1,-1,-1,-1,-1,-1);//Flughafen Interior
SetPlayerInterior(playerid,14);
SpawnPlayer(playerid);//Hier muss noch die Position und die Ausrichtung der Spielerkamera geändert werden!
SendClientMessage(playerid,Color_Green,"Erfolgreich eingeloggt");
if(SpielerInfo[playerid][AdminRank] > 0)
{
new Level[64];
format(Level,sizeof(Level),"Du bist als Stufe %d Administrator eingeloggt",SpielerInfo[playerid][AdminRank]);
SendClientMessage(playerid,Color_White,Level);
}
new Welcome[256];
format(Welcome,sizeof(Welcome),"~w~Willkommen ~n~~y~ %s",SpielerInfo[playerid][Name]);
GameTextForPlayer(playerid,Welcome,5000,1);
IsLoggedIn[playerid] = 1;
}
return 1;
}
Danke schonmal für die Antworten
//Edit SavePlayer und LoadPlayer eingefügt
Das Problem ist:
Das SAMP keinen "Gras" am Boden hat sondern eher grüne Flächen.
Und SAMP kann auf keine Objekte mit GetObject zugreifen die in GTA SA erstellt wurden.
Klar kann man das mit Zonen.
Du kannst sie auch überschneiden, hilfreich bei genauen Arbeiten.
Naja ich meine diese Bush-Objects in MTA, sehen aus wie Hanfpflanzen das könnte man doch verwenden und abfragen oder?
Alles anzeigenUnd was helfen ihm diese Funtionen?
Was er wissen will:
On man Abfragen kann ob er in einer Wiese steht und nicht auf einer Straße usw.
Ich kenne da keine direkte Funktion und Möglichkeit.
Um die Idee mit den Zonen zu beschreiben:
Erstelle eine Gangzone über eine große Grasfläche wo das anbauen erlaubt sein soll.
Nachteil: Man kann dann nur in der Gangzone anbauen und nicht auf einer Fläche die außerhalb der Zone liegt.
Danke für die Antwort, ein Freund von mir meint mit GetObject würde das auch gehen.
Und von diesen Gangzonen kann ich da mehrerer in einer Gegend hinklatschen?
und Die größe beliebig ändern?
Hallo, ja ich würde echt gern wissen
ob es möglich ist, ab zu fragen ob sich
der Spieler im Gras befindet
Dann könnte man bestimmt ein cooles Drogen abbau/ernten system machen
wie so ein kleines Farmville in SAMP.
Danke schon mal für alle Antworten
mfg
jo probier mal pls mein system da du die coords erst herausfindest achdem die sachen schon in der variable gesaved wurden
Moment hast du Skype?
wenn ja adde mich mal bitte.
skype: faculty.
Unter den Skype Namen -> Alex~ zu finden.
Und achja größten Dank für deine Hilfe!
kurze frage wie wird es in der Datenbank ausgegeben , wird es übwehaupt angezeigt (nicht die struktur , sondern von einem player)
Wie meinst du das
Also in der Datenbank steht X = 0 Y = 0 Z = 0
mit Typ Float, Lenght = 9 und Decimals = 5
Warum die Position nicht direkt in die gewünschte varriable schreiben?
MizuXV:
Das liegt dann höchstwahrscheinlich an deinem Speichervorgang.
Zeig mal dein SavePlayer(playerid);
Hier:
stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) //wir überprüfen ob der Spieler überhaupt noch Connected ist und ob er nicht ein NPC ist.
{
if(GetPVarInt(playerid,"Eingeloggt") == 1) //Und hier ob er noch eingeloggt ist.
{
//Nun speichern wir die Daten in der Datenbank.
mysql_SetInt("accounts", "Registriert", SpielerInfo[playerid][Registered], "Name", SpielerInfo[playerid][Name]);
mysql_SetFloat("accounts", "PositionX", SpielerInfo[playerid][SavePosX], "Name", SpielerInfo[playerid][Name]);
mysql_SetFloat("accounts", "PositionY", SpielerInfo[playerid][SavePosY], "Name", SpielerInfo[playerid][Name]);
mysql_SetFloat("accounts", "PositionZ", SpielerInfo[playerid][SavePosZ], "Name", SpielerInfo[playerid][Name]);
mysql_SetFloat("accounts", "FacingAngle", SpielerInfo[playerid][SaveFacingA], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Interior", GetPlayerInterior(playerid), "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Stufe", GetPlayerScore(playerid), "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Skin", SpielerInfo[playerid][Skin], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Geld", GetPlayerMoney(playerid), "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "AdminRank", SpielerInfo[playerid][AdminRank], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Warnings", SpielerInfo[playerid][Warnings], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Gemutet", SpielerInfo[playerid][Muted], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Gebannt", SpielerInfo[playerid][Banned], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Fraktion", FraktionInfo[playerid][Mitglied], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "FraktionLeitung", FraktionInfo[playerid][Leitung], "Name", SpielerInfo[playerid][Name]);
//***====================== FirstTimeFunctions ==========================================***
mysql_SetInt("firsttimefunctions", "AlreadyTaked", PickupAlreadyTaked, "Name", SpielerInfo[playerid][Name]);
//***====================================================================================***
}
}
return 1;
}
Alles anzeigenpublic OnPlayerDisconnect(playerid, reason)
{
new Float: X = SpielerInfo[playerid][SavePosX];
new Float: Y = SpielerInfo[playerid][SavePosY];
new Float: Z = SpielerInfo[playerid][SavePosZ];
new Float: A = SpielerInfo[playerid][SaveFacingA];
GetPlayerPos(playerid, X, Y, Z);//Positionen rauskriegen und speichern...
GetPlayerFacingAngle(playerid, A);//Rotation des Spielers rauskriegen und speichern...
SavePlayer(playerid);
}
fällt dir da nich was auf?
Du setzt die Varriable X, Y und Z mit deinen SpielerInfo enum und dann setzt du sie nochmal per GetPlayerPos.
Ich denke eher du willst SpielerInfo mit den X, Y und Z Coords eintragen und nicht andersrum.
Das würde dann so aussehen:
public OnPlayerDisconnect(playerid, reason)
{
GetPlayerPos(playerid, SpielerInfo[playerid][SavePosX], SpielerInfo[playerid][SavePosY], SpielerInfo[playerid][SavePosZ]);//Positionen rauskriegen und speichern...
GetPlayerFacingAngle(playerid, SpielerInfo[playerid][SaveFacingA]);//Rotation des Spielers rauskriegen und speichern...
SavePlayer(playerid);
}
Mfg, Zunno
Huch ist mir gar nicht aufgefallen!
Hab es mal so probiert aber er setzt mich trozdem in die PAMPA
Wenn ich mich registriere und gespawnt werde dann bin ich auch am Noobspawn
Wenn ich jetzt n paar schritte weiter gehe und dann /q mache
mich dann wieder einlogge, setzt der mich in die Pampa..
Speicher ich irgendwie falsch ab oder wie ist das?
Achja und dann setzt er meinen Score auf -1 mein Geld auch, und andere Variablen auf total sinnlose Zahlen.
Hallo, breadfish
habe ein Problem beim Positionen speichern in MySQL.
Wenn ich mich dann einlogge setzt der mich mitten in so ein Bauerndorf kurz gesagt: PAMPA
Helft mir bitte
Code:
Floats im Enum definiert:
enum sInfo
{
Name[MAX_PLAYER_NAME],
Registered = 0,
Float: SavePosX,
Float: SavePosY,
Float: SavePosZ,
Float: SaveFacingA
}
MySQL Save:
mysql_SetFloat("accounts", "PositionX", SpielerInfo[playerid][SavePosX], "Name", SpielerInfo[playerid][Name]);
mysql_SetFloat("accounts", "PositionY", SpielerInfo[playerid][SavePosY], "Name", SpielerInfo[playerid][Name]);
mysql_SetFloat("accounts", "PositionZ", SpielerInfo[playerid][SavePosZ], "Name", SpielerInfo[playerid][Name]);
mysql_SetFloat("accounts", "FacingAngle", SpielerInfo[playerid][SaveFacingA], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Interior", GetPlayerInterior(playerid), "Name", SpielerInfo[playerid][Name]);
MySQL Load:
SpielerInfo[playerid][SavePosX] = mysql_GetFloat("accounts", "PositionX", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][SavePosX] = mysql_GetFloat("accounts", "PositionY", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][SavePosX] = mysql_GetFloat("accounts", "PositionZ", "Name", SpielerInfo[playerid][Name]);
SetPlayerFacingAngle(playerid, mysql_GetFloat("accounts", "FacingAngle", "Name", SpielerInfo[playerid][Name]));
SetPlayerInterior(playerid, mysql_GetInt("accounts", "Interior", "Name", SpielerInfo[playerid][Name]));
Wenn Spieler sich ausloggt Positionen speichern:
public OnPlayerDisconnect(playerid, reason)
{
new Float: X = SpielerInfo[playerid][SavePosX];
new Float: Y = SpielerInfo[playerid][SavePosY];
new Float: Z = SpielerInfo[playerid][SavePosZ];
new Float: A = SpielerInfo[playerid][SaveFacingA];
GetPlayerPos(playerid, X, Y, Z);//Positionen rauskriegen und speichern...
GetPlayerFacingAngle(playerid, A);//Rotation des Spielers rauskriegen und speichern...
SavePlayer(playerid);
}
SetSpawnInfo:
new Float:X = SpielerInfo[playerid][SavePosX];
new Float:Y = SpielerInfo[playerid][SavePosY];
new Float:Z = SpielerInfo[playerid][SavePosZ];
new Float:A = SpielerInfo[playerid][SaveFacingA];
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, A);
GetPlayerSkin(playerid);
SetSpawnInfo(playerid, 0, SpielerInfo[playerid][Skin], X, Y, Z, A, -1,-1,-1,-1,-1,-1);
SpawnPlayer(playerid);
Struktur: KLICK MICH
Screenshot vom PAMPA-Spawn:
KLICK
Danke schonmal für alle Antworten!
mfg
//EDIT OnPlayerDisconnect eingefügt
//EDIT Bild vom Spawn eingefügt
Du hast aber schon eine Tabelle erstellt oder? Falls ja bitte die Tabellen Einträge Posten
Bsp:
(Eintrag) (Typ) (Länge)
Name VARCHAR 22
Dann lass es lieber mit MySQL. Es gibt zwar viele hier im Forum die versuchen langsam auf MySQL umzusteigen,von den Meisten erhälst aber keine Gute Hilfe in Bezug auf MySQL selber.
Falls du MySQL doch unbedingt nutzen möchtest,solltest du zumindest etwas Grundwissen darüber haben.Über Google findest da genug Informationen zu. Denn wenn du nicht mal weisst,wie deine Tabelle aussieht,wie soll man dir dann Helfen ? Dann kannst du dir selber nicht mal helfen ;).
Hab ich geschrieben das ich es nicht weiß?
Ich denke nicht.
Ich habe geschrieben das ich nicht weiß wie ich die einfügen soll
als Datei oder einfach so reinschreiben(was halt länger dauert)
//Edit ich habs jetzt einfach so gemacht
Name Type Lenght Decimals
id int 11 0
Name varchar 24 0
Passwort varchar 128 0
Stufe int 11 0
Skin int 11 0
Geld int 11 0
AdminRank int 11 0
Warnings int 11 0
Muted int 11 0
Banned int 11 0
Bei Fragen zu MySQL bzw Problemen beim Auslesen kann die Tabellenstruktur nie Schaden,also poste sie bitte.
Wenn ich wüsste wie das geht.
Wenn es um MySQL geht bin ich der totale Anfänger.
Ja hallo Breadfish,
wie die Überschrift schon sagt habe ich ein Problem mit dem speichern/laden des Skins.
Wenn ich den Skin in der MySQL Datenbank ändere und InGame gehe, setzt er den Skin wieder auf 0
Laden
GetPlayerName(playerid, SpielerInfo[playerid][Name], MAX_PLAYER_NAME); //Wir Speichern den Namen des Spielers in der Variable [i]SpielerInfo[playerid][pName][/i]
SpielerInfo[playerid][Interior] = mysql_GetInt("accounts", "Interior", "Name", SpielerInfo[playerid][Name]);
SetPlayerScore(playerid,mysql_GetInt("accounts", "Stufe", "Name", SpielerInfo[playerid][Name])); //Wir holen uns den wert der unter "Level" eingetragen ist und Speichern ihn in unserer Variable.
SetPlayerSkin(playerid,mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][Name])); //Wir holen uns den wert der unter "Geld" eingetragen ist und Speichern ihn in unserer Variable.
GivePlayerMoney(playerid,mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][Name]));
SpielerInfo[playerid][AdminRank] = mysql_GetInt ("accounts", "AdminRank", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Warnings] = mysql_GetInt("accounts", "Warnings", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Muted] = mysql_GetInt("accounts", "Gemutet", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Banned] = mysql_GetInt("accounts", "Gebannt", "Name", SpielerInfo[playerid][Name]);
Speichern
mysql_SetInt("accounts", "Interior", SpielerInfo[playerid][Interior], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Stufe", GetPlayerScore(playerid), "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Skin", SpielerInfo[playerid][Skin], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Geld", GetPlayerMoney(playerid), "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "AdminRank", SpielerInfo[playerid][AdminRank], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Warnings", SpielerInfo[playerid][Warnings], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Gemutet", SpielerInfo[playerid][Muted], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Gebannt", SpielerInfo[playerid][Banned], "Name", SpielerInfo[playerid][Name]);
Bitte helft mir!
Hallo breadfish,
Ich habe heute bei meinem Selfmade das Login/Register System in MySQL umgeschrieben.
Alles klappt wunderbar, nur der Skin wird leider immer auf 0 gesetzt nachdem ich drauf connecte.
Hier der Code vom Laden der Dateien
GetPlayerName(playerid, SpielerInfo[playerid][Name], MAX_PLAYER_NAME); //Wir Speichern den Namen des Spielers in der Variable [i]SpielerInfo[playerid][pName][/i]
SetPlayerScore(playerid,mysql_GetInt("accounts", "Stufe", "Name", SpielerInfo[playerid][Name])); //Wir holen uns den wert der unter "Level" eingetragen ist und Speichern ihn in unserer Variable.
SetPlayerSkin(playerid,mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][Name])); //Wir holen uns den wert der unter "Geld" eingetragen ist und Speichern ihn in unserer Variable.
GivePlayerMoney(playerid,mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][Name]));
SpielerInfo[playerid][AdminRank] = mysql_GetInt ("accounts", "AdminRank", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Warnings] = mysql_GetInt("accounts", "Warnings", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Muted] = mysql_GetInt("accounts", "Gemutet", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Banned] = mysql_GetInt("accounts", "Gebannt", "Name", SpielerInfo[playerid][Name]);
Und hier der Code vom Speichern der Dateien
mysql_SetInt("accounts", "Stufe", GetPlayerScore(playerid), "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Skin", SpielerInfo[playerid][Skin], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Geld", GetPlayerMoney(playerid), "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "AdminRank", SpielerInfo[playerid][AdminRank], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Warnings", SpielerInfo[playerid][Warnings], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Gemutet", SpielerInfo[playerid][Muted], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Gebannt", SpielerInfo[playerid][Banned], "Name", SpielerInfo[playerid][Name]);
Danke schonmal für Antworten
Und dein gekauftes Script heißt auch "script"?
**//Edit: Rechtschreibfehler ausgebessert