Ja aber da muss ich ja auch nach dem namen abfragen
Und wie mache ich das? ![]()
Ja aber da muss ich ja auch nach dem namen abfragen
Und wie mache ich das? ![]()
Halli Hallo
Die Überschrift sagt eig. schon alles
Wie kann ich anhand des namens abfragen ob der Spieler online ist? ![]()
brauche es für mein Werbesystem
if(SpielerInfo[playerid][pLevel] == 3)
{
if(mysql_CheckGeworbenAccount(SpielerInfo[playerid][pGeworbenVon]) == 1)
{
SpielerInfo[playerid][pGeworben] = inputtext;
new string[64];
format(string, sizeof string, "Da du Level 3 erreicht hast hat %s eine Prämie bekommen.", SpielerInfo[playerid][pGeworbenVon]);
SendClientMessage(playerid, COLOR_GREEN, string);
}
}
Indem Fall ist SpielerInfo[playerid][GeworbenVon] der Name des Spieler, der geprüft werden soll
Muss ich dann bei Spalte halt den Spielernamen machen?
Also quasi so?
format(query, sizeof(query), "DELETE FROM autos WHERE spalte = '%s'", GetSpielerName(playerid));
Hallo Community
Ich habe vor das man mit /carsell direkt das Auto aus der Datenbank löscht
Die Tabelle ist am Anfang so:
ID SpielerName Autoname... usw
die ID wird automatisch erstellt und ich habe vor das man per CarSell die Reihe löscht wo der genannte SpielerName ist
Der Befehl:
ocmd:carsell(playerid,params[])
{
new currentvehid = GetPlayerVehicleID(playerid);
if(currentvehid == Spielercar[playerid])
{
SpielerInfo[playerid][pCash] += Autos[playerid][Preis]/100*20;
SendClientMessage(playerid, COLOR_GREEN, "Du hast dein Fahrzeug erfolgreich verkauft!");
new string[64];
format(string, sizeof string, "Du hast %d$ bekommen (40 Prozent des Einkaufspreises)",Autos[playerid][Preis]/100*20);
SendClientMessage(playerid, COLOR_GREEN, string);
DeletePlayerCar(playerid);
}
else
{
SendClientMessage(playerid, COLOR_RED, " Das ist nicht dein Fahrzeug!");
}
return 1;
}
Die Funktion (soweit)
stock DeletePlayerCar(playerid)
{
DestroyVehicle(Spielercar[playerid]);
Spielercar[playerid] = 0;
new query[256];
mysql_real_escape_string(GetSpielerName(playerid), GetSpielerName(playerid));
format(query, sizeof(query), "DELETE FROM autos (SpielerName) ('%s')", GetSpielerName(playerid));
mysql_query(query);
return true;
}
Vielleicht kennt ja jemand einen Lösungweg
ich denke mal weil es mit der id 0 immer los geht außerdem mach es in einem loop und nicht jede fraktion einzelnt ![]()
Halli Hallo Samp Forum
Ich erstelle per
stock CreatePlayerCar(playerid)
{
new query[256];
mysql_real_escape_string(SpielerName2,SpielerName2);
format(query, sizeof(query), "INSERT INTO autos (SpielerName) VALUES ('%s')", GetSpielerName(playerid));
mysql_query(query);
return true;
}
Die Spieler Autos
Jetzt meine Frage: Wie kann ich sie löschen?
Die Tabelle fängt an mit der ID (die von der MYSQL Database erstellt wird) und dem Spielernamen
Wie kann ich das Auto eines bestimmten Spielers löschen?
Hallo Community
ich habe vor das beim erstellen eines Fahrzeuges die ID ausgelesen wird. Ich habe ein Autosystem in MYSQL geschrieben mit der Hilfe eines Tutorials
Also bei dem Command brauche ich die ID:
ocmd:park(playerid)
{
new currentvehid = GetPlayerVehicleID(playerid);
new autoid[20];
format(autoid, sizeof autoid, "%d", Autos[playerid][1]);
if(currentvehid = autoid)
{
new Float:CurrentPosX, Float:CurrentPosY, Float:CurrentPosZ, Float:CurrentPosA;
GetPlayerPos(playerid,CurrentPosX, CurrentPosY, CurrentPosZ);
GetPlayerFacingAngle(playerid, CurrentPosA);
Autos[playerid][1][spawnx] = CurrentPosX;
Autos[playerid][1][spawnx] = CurrentPosY;
Autos[playerid][1][spawnx] = CurrentPosZ;
Autos[playerid][1][spawna] = CurrentPosA;
SendClientMessage(playerid, COLOR_GREEN, " Du hast dein Fahrzeug erfolgreich geparkt. Du wirst es hier immer wiederfinden");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, " Das ist nicht dein Fahrzeug!");
}
return 1;
}
Ich wollte das beim erstellen die ID in Autos[playerid][1][currentvehid]
gespeichert wird
hier wird das Auto erstellt
(Autoid ist auf 1 definiert)
Spielercar[playerid][auto] = CreateVehicle(Autos[playerid][autoid][modelid],Autos[playerid][autoid][posx],Autos[playerid][autoid][posy],Autos[playerid][autoid][posz]+1.5,Autos[playerid][autoid][posa],-1,-1,-1);
Danke im Vorraus
PS: Falsches Forum
LoH ist ein Godfather sollte also in die Godfather Sanktion ![]()
MfG
if(!strcmp(inputtext, DeCrypt(GeladenePasswort), true))
Ja sowas benutze ich gerne
Danke nochmal dafür
Habs jetzt so gemacht aber da kommt wieder Argument Type missmatch
Habs dann so ausprobiert
new Spielereingegeben[128];
format(Spielereingegeben, sizeof Spielereingegeben, "%s", Crypt(inputtext));
if(!strcmp(Spielereingegeben, mysql_ReturnPasswort(SpielerName), true))
ist auch eine Lösung finde sie aber nicht so elegant:D
Bekommst du irgendwelche warnings oder errors?
Ansonsten warum mit id? das dauert doch viel zulange
Frag doch ab welcher Spieler in der Nähe vom Cop ist und tazer den dann
Vllt noch eine kleine Crack anim rein und kling alles supi ![]()
EDIT:
SendClientMessage(playerid,COLOR_WHITE,"Du wurdest Getazert");
Da sendest du dem der /tazer genutzt hast den text" Du wurdest getazert" obwohl er doch jemanden getazert hat ![]()
Also ich hab es bis jetzt so:
case DIALOG_LOGIN:
{
if(response)
{
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
return 1;
}
else
{
new SpielerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
new GeladenePasswort[128];
format(GeladenePasswort, sizeof GeladenePasswort, "%s",mysql_ReturnPasswort(SpielerName));
new EndPasswort[200];
format(EndPasswort, sizeof EndPasswort, "%s",DeCrypt(GeladenePasswort));
//if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true))
if(!strcmp(inputtext, DeCrypt(GeladenePasswort)), true)
{
Eingeloggt[playerid] = 1;
LoadPlayer(playerid);
SpawnPlayer(playerid);
SetPlayerSpawn(playerid);
if(DEBUGMode == 1)
{
SendClientMessage(playerid, COLOR_WHITE, " DEBUG: Du wurdest durch den Login Dialog gespawnt.");
}
return 1;
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
return 1;
}
}
}
else
{
Kick(playerid);
}
}
Aber da kommt ein Error in der Zeile:
if(!strcmp(inputtext, DeCrypt(GeladenePasswort)), true)
Undzwar dieser hier:
ZitatC:\Dokumente und Einstellungen\Marci\Desktop\Los Santos Roleplay\gamemodes\LSR01.pwn(47734) : error 035: argument type mismatch (argument 2)
Halli Hallo
Bei dieser Funktion
stock mysql_ReturnPasswort(Name[])
{
new query[130], Get[130];
mysql_real_escape_string(Name, Name);
format(query, 128, "SELECT passwort FROM accounts WHERE Name = '%s'", Name);
mysql_query(query);
mysql_store_result();
mysql_fetch_row(Get);
mysql_free_result();
return Get;
}
Wird ja das Passwort aus der Mysql Datenbank genommen
und ich will jetzt das nicht das Passwort ausgegeben wir das in der mysql datenbank ist, sondern
das decryptete ![]()
Hier der Codeschnipsel dazu (Danke an Deadmau5)
stock DeCrypt(key[])
{
for(new x;x<strlen(key); x++)
{
key[x]-=(3^x)*(x%15);
if(key[x]<(0xff))
{
key[x]+=256;
}
}return true;
}
ZitatDie libmysqlclient_r.so.16 muss nach /usr/lib32
ZitatIch gehe mal stark davon aus, dass der Server auf einem 64-bit System betrieben wird.
Meines Wissens zufolge, ist es aktuell nicht möglich, dieses MySQL-Plugin mit einem 64-bit System zu betreiben.
Steig auf das Plugin von GstyleZzZ (oder wie der heißt) zurück, denn das funktioniert einwandfrei.
Beides aus [ LINUX ] MySQL Server Fehler (libmysqlclient_r.so.16: cannot open shared object file: No such file or directory)
Versuch das mal ![]()
MfG
Hallo Community
Ich habe das Problem das mein login und register system nicht richtig funktioniert...
Er verbindet zu der Database und alles aber bei 4 test accs. die ich schnell
registriert habe die admin gemacht habe und sonst was hat er nur einen gespeichert -_-
Vllt kann mir einer von euch helfen
Hier mein System + speicherung
if(Eingeloggt[playerid] == 0)
{
if(mysql_CheckAccount(playerid) == 0)
{
ClearChatbox(playerid,10);
SendClientMessage(playerid, 0xFFFFFFFF,"Willkommen auf Los Santos Roleplay");
SendClientMessage(playerid, 0xFFFFFFFF,"Dein Account wurde nicht gefunden, bitte Registriere dich!");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Bitte Gib ein Passwort an:","Register","Exit");
}
else if(mysql_CheckAccount(playerid) == 1)
{
ClearChatbox(playerid,10);
SendClientMessage(playerid, 0xFFFFFFFF,"Willkommen auf Los Santos Roleplay");
SendClientMessage(playerid, 0xFFFFFFFF,"Dein Account wurde gefunden, bitte Log dich nun ein!");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Bitte gib dein Passwort ein:","Login","Abbrechen");
}
}
case DIALOG_REGISTER:
{
if(response)
{
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Das angegebene Passwort war zu Kurz...\nBitte Registrier dich jetzt mit einem Passwort:","Register","Abbrechen");
return 1;
}
else
{
CreateAccount(playerid, inputtext);
MussNichtInsKH[playerid] = 1;
Eingeloggt[playerid] = 1;
SpawnPlayer(playerid);
return 1;
}
}
else
{
Kick(playerid);
}
}
case DIALOG_LOGIN:
{
if(response)
{
if(strlen(inputtext) == 0) // Wenn kein Passwort angegebene wurde
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
return 1;
}
else
{
new SpielerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true)) // Wir holen uns das Passwort aus der MySQL Datenbank und überprüfen es mit dem angegebenen passwort.
{
Eingeloggt[playerid] = 1;
LoadPlayer(playerid);
SpawnPlayer(playerid);
ClearChatbox(playerid,10);
SendClientMessage(playerid, FARBE_Gelb, "Willkommen auf Los Santos Roleplay.");
return 1;
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
return 1;
}
}
}
else
{
Kick(playerid);
}
}
stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
if(Eingeloggt[playerid] == 1)
{
mysql_SetInt("accounts", "Admin", SpielerInfo[playerid][pAdmin], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "TelNummer", SpielerInfo[playerid][pTelNummer], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "TelBuch", SpielerInfo[playerid][pTelBuch], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Respekt", SpielerInfo[playerid][pRespekt], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "BankGeld", SpielerInfo[playerid][pBankGeld], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Leader", SpielerInfo[playerid][pLeader], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Member", SpielerInfo[playerid][pMember], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Wanted", SpielerInfo[playerid][pWanted], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Skin", GetPlayerSkin(playerid), "Name", SpielerInfo[playerid][pName]);
Eingeloggt[playerid] = 0;
}
}
return 1;
}
PS: Es ist aus einem Tutorial von Maddin ![]()
nein brauchst du nur bei Windows Servern ![]()
Hatte das nicht gelesen ![]()
Oh ja das kenne ich ![]()
Sind alle mysql daten drin?
Wenn ja ist .net framework installiert? Soweit ich weis muss 3.5 min. installiert sein
MfG
EDIT
:O nicht richtig gelesen ![]()
Ehm das einzige was ich dazu sagen kann ist das die Datei fehlt also ist dein server auf Linux.. mhh da musst du glaube ich ein anderes mysql plugin nutzen hatte früher bei mir auch geholfen
Hallo Community
Ich arbeite im Moment an einem Interior enter und exit system.
Hier das enum habe ich erstellt
und unter Ongamemodeinit werden noch 3dtexte erstellt und die Pickups
#define ENTEXInteriors 2
enum EnterExitEnum
{
Float:ENTEXX,
Float:ENTEXY,
Float:ENTEXZ,
Float:ENTEXFacingAngle,
ENTEXInterior,
ENTEXVW,
ENTEXHausname[25],
ENTEXFraktion,
bool:ENTEXRueck
};
new EnterExit[ENTEXInteriors][EnterExitEnum] = {
{0.0,0.0,0.0,0.0,0,0,"Testgebäude",0,false},
{0.0,0.0,0.0,0.0,0,0,"Testgebäude",0,true}
};
Soo Wie kann ich jetzt Abfragen ob er auf einem dieser Pickups steht und wenn ja welches pickup ![]()
LG
Hallo Community
ich habe ein Problem undzwar das wenn ich sterbe es meine server crashen lässt
Der Fehler liegt in diesem Teil der unter OnPlayerSpawn liegt
if(gTod[playerid] == 1)
{
SendClientMessage(playerid, FARBE_Hellblau, "Du hast schwere Verletzungen erlitten. Deshalb liegst du im Koma!");
TogglePlayerControllable(playerid, 0);
ResetPlayerWeapons(playerid);
SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291);
SetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105);
SetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
SetTimerEx("KHRauskommen",30000,0,"playerid",playerid);
return 1;
}
Alles andere zu diesem Script:
public OnPlayerDeath(playerid, killerid, reason)
{
gTod[playerid] = 1;
return 1;
}
public KHRauskommen(playerid)
{
TogglePlayerControllable(playerid, 1);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerHealth(playerid, 60);
SetPlayerPos(playerid, 1173.5450,-1323.7671,15.1953);
SetPlayerFacingAngle(playerid, 270);
}
Hoffe jemand weiß was ich falsch mache ![]()
Danke im Vorraus
//EDIT
Bekomme keine Errors oder Warnings
Ahh fehler gefunden
Man muss auf eine Frühere Server version downgraden ![]()
habe kein setspawnplayer drin :O
Nur Spawnplayer(playerid); und halt
public OnPlayerSpawn(playerid)
{
return 1;
}