ja der gamemode wird komplett auf englisch sein 😉
Was für ein Projekt hast du dir da vorgestellt? Roleplay/Reallife oder DM?
ja der gamemode wird komplett auf englisch sein 😉
Was für ein Projekt hast du dir da vorgestellt? Roleplay/Reallife oder DM?
Ich bin dir ehrlich. Deutsche Community ist sehr tot. Selbst die aktuell „größten“ Server, die schon Jahre lang dabei sind leiden darunter. Und was neues aufzubauen und zu releasen ist meiner Meinung nach reine Zeitverschwendung.
Wenn du aber trotzdem etwas auf die Beine stellen willst, würde ich dir empfehlen, international zu gehen. Also dein Gamemode so anpassen, dass auch User aus dem Ausland Ihren Spaß daran haben. Weil mit der deutschen Community kommst du da leider nicht weit, da ist zu viel Hate und viele Cheater.
Meine Meinung ![]()
Auf TikTok das erste Mal live gesehen. Die haben damit geworben, dass auf dem Server aktuell über 200-300 User sind. Danach hat der Streamer versehentlich die Spielerliste geöffnet und online waren nur 2 User. Als ich Ihn dann damit konfrontiert habe und gebeten habe nochmal die Spielerliste zu zeigen, wurde ich vom Live gesperrt.
Fand ich sehr unseriös.
Hey,
ich habe einen DM-Script aufgesetzt und soweit läuft alles einwandfrei.
Nun wollte ich am Spawn einige Fahrzeuge platzieren. Dafür nutze ich den Befehl /createvehicle. Das Fahrzeug wird zwar erstellt, jedoch erfolgt kein Eintrag in der Datenbanktabelle "cars".
Sobald ich anschließend versuche, das Fahrzeug mit /parken zu parken, erscheint ingame die Meldung:
„Das Vehicle konnte nicht erfolgreich geparkt werden.“
Anbei findet ihr den kompletten Vehicle-Code. Vielleicht kann mir jemand sagen, woran das liegt bzw. was die Ursache für dieses Problem ist.
ocmd:rac(playerid,params[]){
if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,noAdmin);
respawnallcars();
new string[128];
format(string,sizeof(string),"* Es wurden alle unbenutzten Fahrzeuge von %s respawnt.",SpielerName(playerid));
if(GetPVarInt(playerid,"undercover") == 0){
SendClientMessageToAll(HELLBLAU,string);
}
new str[128];
format(str,sizeof(str),"[user]%i[/user] benutzt den Befehl '/rac'.",GetPVarInt(playerid, "accountid"));
Log(str, 4);
return 1;
}
Alles anzeigen
stock ResetVehicleInfo(slot){
if(slot < 0 || slot >= MAX_VEHICLE)return 0;
vehicleInfo[slot][vehicle] = INVALID_VEHICLE_ID;
vehicleInfo[slot][vDBID] = 0;
vehicleInfo[slot][vNameID] = -1;
vehicleInfo[slot][vModelID] = 0;
vehicleInfo[slot][vX] = 0.0;
vehicleInfo[slot][vY] = 0.0;
vehicleInfo[slot][vZ] = 0.0;
vehicleInfo[slot][vA] = 0.0;
vehicleInfo[slot][vColor1] = -1;
vehicleInfo[slot][vColor2] = -1;
vehicleInfo[slot][vRespawnDelay] = -1;
vehicleInfo[slot][vInteriorID] = 0;
vehicleInfo[slot][vVirtualWorld] = 0;
vehicleInfo[slot][vNumberPlate][0] = 0;
vehicleInfo[slot][spawnhealth] = 1000.0;
vehicleInfo[slot][vactive] = 0;
return 1;
}
stock GetFreeServerVehicleSlot(){
for(new i=0;i<MAX_VEHICLE;i++){
if(vehicleInfo[i][vactive] == 0)return i;
}
return -1;
}
stock GetServerVehicleSlot(vehicleid){
if(vehicleid <= 0 || vehicleid == INVALID_VEHICLE_ID)return -1;
for(new i=0;i<MAX_VEHICLE;i++){
if(vehicleInfo[i][vactive] == 1 && vehicleInfo[i][vehicle] == vehicleid)return i;
}
return -1;
}
stock GetStoredVehicleNameID(name[]){
if(strfind(name, "vehicle_", true) != 0)return -1;
new suffix[16];
strmid(suffix, name, 8, strlen(name), sizeof(suffix));
return strval(suffix);
}
stock CreateServerVehicleSlot(slot, dbid, nameid, modelid, Float:x, Float:y, Float:z, Float:a, interiorid, virtualworld, color1, color2, respawndelay, numberplate[], Float:spawnhealth_){
if(slot < 0 || slot >= MAX_VEHICLE)return INVALID_VEHICLE_ID;
new created = CreateVehicle(modelid, x, y, z, a, color1, color2, respawndelay);
if(created == INVALID_VEHICLE_ID)return INVALID_VEHICLE_ID;
vehicleInfo[slot][vehicle] = created;
vehicleInfo[slot][vDBID] = dbid;
vehicleInfo[slot][vNameID] = nameid;
vehicleInfo[slot][vModelID] = modelid;
vehicleInfo[slot][vX] = x;
vehicleInfo[slot][vY] = y;
vehicleInfo[slot][vZ] = z;
vehicleInfo[slot][vA] = a;
vehicleInfo[slot][vColor1] = color1;
vehicleInfo[slot][vColor2] = color2;
vehicleInfo[slot][vRespawnDelay] = respawndelay;
vehicleInfo[slot][vInteriorID] = interiorid;
vehicleInfo[slot][vVirtualWorld] = virtualworld;
format(vehicleInfo[slot][vNumberPlate], 64, "%s", numberplate);
vehicleInfo[slot][spawnhealth] = spawnhealth_;
vehicleInfo[slot][vactive] = 1;
SetVehicleNumberPlate(created, vehicleInfo[slot][vNumberPlate]);
LinkVehicleToInterior(created, interiorid);
SetVehicleVirtualWorld(created, virtualworld);
SetVehicleHealth(created, spawnhealth_);
return created;
}
stock RecreateServerVehicleSlot(slot){
if(slot < 0 || slot >= MAX_VEHICLE || vehicleInfo[slot][vactive] != 1)return 0;
new oldvehicle = vehicleInfo[slot][vehicle];
new created = CreateVehicle(vehicleInfo[slot][vModelID], vehicleInfo[slot][vX], vehicleInfo[slot][vY], vehicleInfo[slot][vZ], vehicleInfo[slot][vA], vehicleInfo[slot][vColor1], vehicleInfo[slot][vColor2], vehicleInfo[slot][vRespawnDelay]);
if(created == INVALID_VEHICLE_ID)return 0;
if(oldvehicle > 0 && oldvehicle != INVALID_VEHICLE_ID)DestroyVehicle(oldvehicle);
vehicleInfo[slot][vehicle] = created;
SetVehicleNumberPlate(created, vehicleInfo[slot][vNumberPlate]);
LinkVehicleToInterior(created, vehicleInfo[slot][vInteriorID]);
SetVehicleVirtualWorld(created, vehicleInfo[slot][vVirtualWorld]);
SetVehicleHealth(created, vehicleInfo[slot][spawnhealth]);
return 1;
}
forward OnDeleteVehicle(playerid, slot);
public OnDeleteVehicle(playerid, slot){
if(mysql_errno(mysql) != 0){
if(IsPlayerConnected(playerid))SendClientMessage(playerid,HELLROT,"* Das Vehicle konnte nicht erfolgreich gelöscht werden.");
return 1;
}
new oldvehicle = vehicleInfo[slot][vehicle];
if(oldvehicle > 0 && oldvehicle != INVALID_VEHICLE_ID)DestroyVehicle(oldvehicle);
ResetVehicleInfo(slot);
new string[128];
format(string,sizeof(string),"[user]%i[/user] benutzt den Befehl '/deletevehicle'.",GetPVarInt(playerid, "accountid"));
Log(string, 4);
if(IsPlayerConnected(playerid))SendClientMessage(playerid,HELLGRUEN,"* Das Vehicle wurde erfolgreich gelöscht.");
return 1;
}
Alles anzeigen
ocmd:deletevehicle(playerid,params[]){
if(!IsPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,noAdmin);
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,ROT,"Du bist in keinem Vehicle.");
new slot = GetServerVehicleSlot(GetPlayerVehicleID(playerid));
if(slot == -1 || vehicleInfo[slot][vDBID] <= 0)return SendClientMessage(playerid,HELLROT,"* Das Vehicle konnte nicht erfolgreich gelöscht werden.");
new query[128];
mysql_format(mysql, query, sizeof(query), "DELETE FROM cars WHERE id = %i LIMIT 1", vehicleInfo[slot][vDBID]);
mysql_tquery(mysql, query, "OnDeleteVehicle", "ii", playerid, slot);
return 1;
}
Alles anzeigen
forward OnParkVehicle(playerid, slot, oldvehicle, seat);
public OnParkVehicle(playerid, slot, oldvehicle, seat){
if(mysql_errno(mysql) != 0){
if(IsPlayerConnected(playerid))SendClientMessage(playerid,HELLROT,"* Das Vehicle konnte nicht erfolgreich geparkt werden.");
return 1;
}
new putPlayerBack = 0;
if(IsPlayerConnected(playerid) && IsPlayerInVehicle(playerid, oldvehicle))putPlayerBack = 1;
if(!RecreateServerVehicleSlot(slot)){
if(IsPlayerConnected(playerid))SendClientMessage(playerid,HELLROT,"* Das Vehicle konnte nicht erfolgreich geparkt werden.");
return 1;
}
if(putPlayerBack == 1){
PutPlayerInVehicle(playerid, vehicleInfo[slot][vehicle], seat);
vehicleid_[playerid] = vehicleInfo[slot][vehicle];
}
if(IsPlayerConnected(playerid))SendClientMessage(playerid,HELLGRUEN,"* Das Vehicle wurde erfolgreich geparkt.");
return 1;
}
ocmd:parken(playerid,params[]){
if(!IsPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,noAdmin);
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,ROT,"Du bist in keinem Vehicle.");
if(GetPlayerVehicleSeat(playerid)!=0)return SendClientMessage(playerid,HELLROT,"* Du bist nicht der Fahrer des Vehicles.");
new slot = GetServerVehicleSlot(GetPlayerVehicleID(playerid));
if(slot == -1 || vehicleInfo[slot][vDBID] <= 0)return SendClientMessage(playerid,HELLROT,"* Das Vehicle konnte nicht erfolgreich geparkt werden.");
GetVehiclePos(vehicleInfo[slot][vehicle],vehicleInfo[slot][vX],vehicleInfo[slot][vY],vehicleInfo[slot][vZ]);
GetVehicleZAngle(vehicleInfo[slot][vehicle],vehicleInfo[slot][vA]);
vehicleInfo[slot][vInteriorID] = GetPlayerInterior(playerid);
vehicleInfo[slot][vVirtualWorld] = GetPlayerVirtualWorld(playerid);
new query[256];
mysql_format(mysql, query, sizeof(query), "UPDATE cars SET x = %f, y = %f, z = %f, a = %f, interiorid = %i, virtualworld = %i WHERE id = %i LIMIT 1", vehicleInfo[slot][vX], vehicleInfo[slot][vY], vehicleInfo[slot][vZ], vehicleInfo[slot][vA], vehicleInfo[slot][vInteriorID], vehicleInfo[slot][vVirtualWorld], vehicleInfo[slot][vDBID]);
mysql_tquery(mysql, query, "OnParkVehicle", "iiii", playerid, slot, vehicleInfo[slot][vehicle], GetPlayerVehicleSeat(playerid));
return 1;
}
Alles anzeigen
forward OnPlayerCreateVehicle(playerid, i, modelid, color1, color2, respawn, Float:spawnhealth_, kills_, numberplate[]);
public OnPlayerCreateVehicle(playerid, i, modelid, color1, color2, respawn, Float:spawnhealth_, kills_, numberplate[]){
new rows, fields;
cache_get_data(rows, fields, mysql);
new query[128];
if(rows){
i++;
if(i >= MAX_VEHICLE){
SendClientMessage(playerid,HELLROT,"* Das Vehicle konnte nicht erstellt werden.");
return 1;
}
mysql_format(mysql, query, sizeof(query), "SELECT id FROM cars WHERE name = 'vehicle_%i' LIMIT 1", i);
mysql_tquery(mysql, query, "OnPlayerCreateVehicle", "iiiiiifis", playerid, i, modelid, color1, color2, respawn, spawnhealth_, kills_, numberplate);
}else{
new slot = GetFreeServerVehicleSlot();
if(slot == -1){
SendClientMessage(playerid,HELLROT,"* Das Vehicle konnte nicht erstellt werden.");
return 1;
}
new Float:pos[3], name[16];
format(name, sizeof(name), "vehicle_%i", i);
GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
vehicleInfo[slot][vactive] = 2;
mysql_CreateVehicle(playerid, slot, i, name, modelid, pos[0], pos[1], pos[2], 0.0, GetPlayerInterior(playerid), GetPlayerVirtualWorld(playerid), color1, color2, respawn, numberplate, spawnhealth_, kills_, SpielerName(playerid));
}
return 1;
}
forward OnPlayerCreateVehicleInsert(playerid, slot, nameid, modelid, color1, color2, respawndelay, Float:spawnhealth_, Float:x, Float:y, Float:z, Float:a, interiorid, virtualworld, numberplate[]);
public OnPlayerCreateVehicleInsert(playerid, slot, nameid, modelid, color1, color2, respawndelay, Float:spawnhealth_, Float:x, Float:y, Float:z, Float:a, interiorid, virtualworld, numberplate[]){
new dbid = cache_insert_id(mysql);
if(mysql_errno(mysql) != 0 || dbid <= 0){
ResetVehicleInfo(slot);
if(IsPlayerConnected(playerid))SendClientMessage(playerid,HELLROT,"* Das Vehicle konnte nicht erstellt werden.");
return 1;
}
if(CreateServerVehicleSlot(slot, dbid, nameid, modelid, x, y, z, a, interiorid, virtualworld, color1, color2, respawndelay, numberplate, spawnhealth_) == INVALID_VEHICLE_ID){
new query[128];
mysql_format(mysql, query, sizeof(query), "DELETE FROM cars WHERE id = %i LIMIT 1", dbid);
mysql_tquery(mysql, query);
ResetVehicleInfo(slot);
if(IsPlayerConnected(playerid))SendClientMessage(playerid,HELLROT,"* Das Vehicle konnte nicht erstellt werden.");
return 1;
}
if(IsPlayerConnected(playerid))SendClientMessage(playerid,HELLGRUEN,"* Das Vehicle wurde erfolgreich erstellt. Benutze /parken um es zu parken.");
return 1;
}
stock mysql_CreateVehicle(playerid, slot, nameid, name[], modelid, Float:___x, Float:___y, Float:___z, Float:___a, interiorid, virtualworld, color1, color2, respawndelay, numberplate[], Float:spawnhealth_, worldwarkills, creator[])
{
new query[768];
mysql_format(mysql, query, sizeof(query), "INSERT INTO `cars` (`name`, `modelid`, `x`, `y`, `z`, `a`, `interiorid`, `virtualworld`, `color1`, `color2`, `respawndelay`, `numberplate`, `worldwarkills`, `spawnhealth`, `creator`) VALUES ('%e', %i, %f, %f, %f, %f, %i, %i, %i, %i, %i, '%e', %i, %f, '%e')", name, modelid, ___x, ___y, ___z, ___a, interiorid, virtualworld, color1, color2, respawndelay, numberplate, worldwarkills, spawnhealth_, creator);
mysql_tquery(mysql, query, "OnPlayerCreateVehicleInsert", "iiiiiiifffffiis", playerid, slot, nameid, modelid, color1, color2, respawndelay, spawnhealth_, ___x, ___y, ___z, ___a, interiorid, virtualworld, numberplate);
return true;
}
ocmd:createvehicle(playerid,params[]){
if(!IsPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,noAdmin);
new modelid,color1,color2,numberplate[64],respawn,Float:spawnhealth_;
if(GetPVarInt(playerid,"arena")!=13){
if(sscanf(params,"iiiifs[64]",modelid,color1,color2,respawn,spawnhealth_,numberplate))return SendClientMessage(playerid,GRAU,"Benutze: /createvehicle <Modelid> <Color1> <Color2> <Respawndelay(Sekunden)> <Spawnhealth(1000.0)> <Nummernschild>");
if(modelid<400 || modelid>611)return SendClientMessage(playerid,ROT,"* Du musst eine verfügbare Model-ID angeben.");
new query[128];
mysql_format(mysql, query, sizeof(query), "SELECT id FROM cars WHERE name = 'vehicle_0' LIMIT 1");
mysql_tquery(mysql, query, "OnPlayerCreateVehicle", "iiiiiifis", playerid, 0, modelid, color1, color2, respawn, spawnhealth_, 0, numberplate);
return 1;
}else{
new kills_,rank;
if(sscanf(params,"iiiifis[64]",modelid,color1,color2,respawn,spawnhealth_,rank,numberplate))return SendClientMessage(playerid,GRAU,"Benutze: /createvehicle <Modelid> <Color1> <Color2> <Respawndelay(Sekunden)> <Spawnhealth(1000.0)> <Rang(0-6)> <Nummernschild>");
if(modelid<400 || modelid>611)return SendClientMessage(playerid,ROT,"* Du musst eine verfügbare Model-ID angeben.");
if(rank < 0 || rank > 6)return SendClientMessage(playerid,GRAU,"Benutze: /createvehicle <Modelid> <Color1> <Color2> <Respawndelay(Sekunden)> <Rang(0-6)> <Nummernschild>");
switch(rank){
case 0: kills_=0;
case 1: kills_=100;
case 2: kills_=250;
case 3: kills_=750;
case 4: kills_=1500;
case 5: kills_=5000;
case 6: kills_=10000;
}
new query[128];
mysql_format(mysql, query, sizeof(query), "SELECT id FROM cars WHERE name = 'vehicle_0' LIMIT 1");
mysql_tquery(mysql, query, "OnPlayerCreateVehicle", "iiiiiifis", playerid, 0, modelid, color1, color2, respawn, spawnhealth_, kills_, numberplate);
return 1;
}
}
Alles anzeigen
enum vehicleenum{
vehicle,
vDBID,
vNameID,
vModelID,
Float:vX,
Float:vY,
Float:vZ,
Float:vA,
vColor1,
vColor2,
vRespawnDelay,
vInteriorID,
vVirtualWorld,
vNumberPlate[64],
Float:spawnhealth,
vactive
};
new vehicleInfo[MAX_VEHICLE][vehicleenum];
Alles anzeigen
Danke im Voraus
Nach nun längerer Spielzeit muss ich sagen: Server, Features usw top. Umgangsformen im Forum absolut unterirdisch auf Hauptschulniveau und keiner macht was dagegen.
Was Forum angeht, gebe ich dir total recht. Aber ich finde die Teammitglieder sind schon relativ schnell was sanktionieren und löschen mancher Beiträge angeht.
Wollte auch drauf aber bei 13 User lohnt nicht
Schade eigentlich
Aktuell Sommerloch. Aber eben waren so 25-30 On.
Henner helf den Leuten maa
beides glaub ich. Samp und FiveM
Ich meine mich zu entsinnen, dass wir damals immer nur Probleme mit SendInput hatten und man auf Send oder SendEvent umsteigen musste.
Meine Erfahrung damit liegen aber auch ein paar Tage zurück - wenn dies keine Lösung bringt, kannst du ja mit einer AddChatMessage mal schauen, ob der Timer getriggert wird.
Hey! Ja so klappt es jetzt. Perfekt! Aber zweites Problem. Der spammt das jetzt alle 100ms. kann man da einen Cooldown einbauen, dass er sobald ich die Coodinate betrete es sofort triggert. und danach erstmal 5 Sekunden den Timer ausmacht und nach 5 Sekunden erneut triggert?
AutoDuty:
if (IsPlayerInRangeOfPoint(239.7061, 1858.9551, 14.0840, 2.0))
{
SendEvent, {n down}
Sleep, 50
SendEvent, {n up}
return
}
if (IsPlayerInRangeOfPoint(248.5680, 1860.6121, 14.0840, 2.0))
{
SendEvent, {n down}
Sleep, 50
SendEvent, {n up}
return
}
return
Alles anzeigen
Habe das mit dem Cooldown mal so versucht. Aber diesmal muss ich dann 5 Sekunden in der Koordinate warten, bis er triggert.
AutoDuty:
if (IsPlayerInRangeOfPoint(239.7061, 1858.9551, 14.0840, 2.0))
{
SetTimer, AutoDuty, Off
SendEvent, {n down}
Sleep, 50
SendEvent, {n up}
Sleep, 5000
SetTimer, AutoDuty, 100
return
}
if (IsPlayerInRangeOfPoint(248.5680, 1860.6121, 14.0840, 2.0))
{
SetTimer, AutoDuty, Off
SendEvent, {n down}
Sleep, 50
SendEvent, {n up}
Sleep, 5000
SetTimer, AutoDuty, 100
return
}
return
Alles anzeigen
Hallo,
ich bin gerade dabei einen Funktion zu bauen, die es mir erlaubt automatisch in den Dienst zu gehen und mich zu equipen.
Leider funktioniert diese Version nicht automatisch.
Ich benutze die SAMP UDF R18 von Chuck_Floyd für folgende Version: SAMP Version: 0.3.7, 0.3.7-R2, 0.3.DL.
Das ganze soll für OpenMP sein.
Mein Code:
AutoDuty:
if (IsPlayerInRangeOfPoint(239.7061, 1858.9551, 14.0840, 2.0)) ; Duty
{
SendInput, n
Sleep, 500
return
}
if (IsPlayerInRangeOfPoint(248.5680, 1860.6121, 14.0840, 2.0)) ; Equip
{
SendInput, n
Sleep, 500
return
}
return
Alles anzeigen
Mein Timer:
#SingleInstance Force
#Persistent
#NoEnv
#Include, includes/SAMP.ahk
SetBatchLines -1
SetKeyDelay -1
SetTimer, AutoDuty, 500
if (!A_IsAdmin)
{
Run *RunAs "%A_ScriptFullPath%"
ExitApp
}
WinGetTitle, gta_title, ahk_exe gta_sa.exe
WinGet, gta_process, ProcessName, ahk_exe gta_sa.exe
WinGet, gta_path, ProcessPath, ahk_exe gta_sa.exe
gta_folder := StrReplace(gta_path, gta_process)
IniFile := "ArmyBinder.ini"
IniRead, HK_SU, %IniFile%, Hotkeys, SU,
IniRead, HK_Bounce, %IniFile%, Hotkeys, Bounce,
IniRead, HK_Clear, %IniFile%, Hotkeys, Clear,
....
Alles anzeigen
es funktioniert aber nicht.
Ich dachte erstmal die UDF wird von OpenMP nicht erkannt. Um das zu testen, habe ich geschaut ob die Coordinaten überhaupt erkannt werden. Diese habe ich so getestet:
F9::
GetPlayerPos(x, y, z)
AddChatMessage("X: " . x . " | Y: " . y . " | Z: " . z)
return
F8::
if (IsPlayerInRangeOfPoint(248.5680, 1860.6121, 14.0840, 2.0))
AddChatMessage("JA")
else
AddChatMessage("NEIN")
return
Alles anzeigen
Resultat:
Danach habe ich getestet ob Sendinput, n überhaupt erkannt wird.
Es auf die Taste F10 gepackt und immer wenn ich F10 gedrückt habe, wurde die Taste N auch getriggert. Also klappt auch
Ich brauche bitte eure Hilfe
In der Funktion OnAccountCheckPW da gibt es folgende Zeile:
Schreib mal direkt darüber folgendes:
Und dann schau mal im serverlog und in der DB, was da so unter Passwort steht.
Alles gut hat geklappt.
musste bei PhpMyAdmin unter SQL einfügen:
ALTER TABLE accounts
ALTER name SET DEFAULT '',
ALTER passwort SET DEFAULT '';
anscheinend hat dieses kein(e) dahinter zu diesem Problem geführt.
Perfekt, hat geklappt bin jetzt auf dem Server!
Kann ich die aber weiterhin auf kein(e) lassen? Weil alle anderen sind jetzt auf NULL
_____________________________
Neues Problem:
Registrierung klappt. Account wird auch jetzt in der Datenbank gespeichert.
Nur wenn ich mich wieder neu einloggen will, sagt der mir, dass mein Passwort falsch ist. ![]()
1. Wird dir denn der Dialog "Herzlich Willkommen auf Calikartell-Deathmatch...." angezeigt?
2. Bekommst du, wenn du das Skript kompilierst eine Info wo irgendwas von Stack/Heap Size steht und Total requirements?
3. Check mal die Ordner, ob es einen Log Ordner gibt mit einem mysql log? Ansonsten unter OnGameModeInit, mal mysql_log(LOG_ALL); schreiben und dann nochmal probieren und prüfen.
1. Ja
2. Nein
3. MySQL Log: gist:9ea8b587d4ceabd67356c19adf8004d6
Edit:
MySQL Log hinzugefügt
Hätte ja sein können, dass ein Account bereits in der Datenbank existiert, den du manuell angelegt oder noch von einem früheren Server hattest.
Du hast dich oben etwas missverständlich ausgedrückt.
Aber na gut, dann brauchen wir natürlich die: OnPlayerCreateAccount Funkion
Das tut mir leid.
forward OnPlayerCreateAccount(playerid);
public OnPlayerCreateAccount(playerid){
SetPVarInt(playerid,"accountid", cache_insert_id(mysql));
ClearChatForPlayer(playerid,20);
new str[700],str_[370],str__[330];
format(str_,sizeof(str_),"{FF8C00}Herzlich Willkommen auf Calikartell-Deathmatch!\n\n{B9B9BF}Calikartell-Deathmatch ist ein DM Server, wie der Name ja schon sagt.\nNatürlich bieten wir neben den DM Arenen auch andere Arten von Arenen, wie Stunt Arenen.\n\nWie auf jedem anderen Server auch, gibt es hier Regeln.\nDu solltest wissen: Unwissenheit schützt vor Strafe nicht!\n\nAlle Regeln kannst du im Forum sehen.\n\n");
format(str__,sizeof(str__),"\nAlle Plattformen von Calikartell-Deathmatch:\nSA-MP\t\t{FF8C00}kommtnoch\n{B9B9BF}Teamspeak3\t{FF8C00}kommtnoch\n{B9B9BF}Control Panel\t{FF8C00}kommtnoch\n\n{B9B9BF}Fragen kannst du per /sup stellen, Cheater oder Buguser per /a melden.\nDas Team von Calikartell-Deathmatch wünscht dir viel Spaß!");
format(str,sizeof(str),"%s%s",str_,str__);
ShowPlayerDialogEx(playerid,DIALOG_REGISTER_INFO,DIALOG_STYLE_MSGBOX,"Willkommen!",str,"Ok","");
SendClientMessage(playerid,HELLGRUEN,"* Mit /skinauswahl kannst du deinen Skin ändern.");
new pName[MAX_PLAYER_NAME+1];
GetPlayerName(playerid,pName,sizeof(pName));
new rand = random(sizeof(skinList));
mysql_format(mysql, str,sizeof(str),"UPDATE accounts SET regip = '%e', loginip = '%e', oldName = '', skin = %i, money = 10000, achievementkills = 10, achievementtime = 1, clan = -1, connected = 1, loggedin = 1, lastlogin = %i, register = %i WHERE name = '%e'",ipinfo[playerid][ip__],ipinfo[playerid][ip__],skinList[rand][0],gettime(),gettime(),pName);
mysql_tquery(mysql, str);
format(str__, sizeof(str__), "[user]%i[/user] hat sich registriert. (IP: %s)", GetPVarInt(playerid, "accountid"), ipinfo[playerid][ip__]);
Log(str__, 6);
LoadAccount(playerid);
format(str, sizeof(str), "%s hat sich Erfolgreich auf Calikartell-Deathmatch Registriert.",SpielerName(playerid));
ServerStats[sAccounts] ++;
return 1;
}
Alles anzeigen
Und hast du dich auch eingeloggt oder wolltest du dich registrieren?
Ich wollte mich registrieren, weil Login kann ich ja nicht, da noch kein Account existiert