habe die Anfrage versendet
Beiträge von Nils24hero
-
-
ja ich sende hier mal den connect und disconnect teil rein
geplant war das wenn die verbindung zu mysql datenbank A fehlschlägt = mysql_log das dann verbindung zu datenbank B die indentisch ist mit A aufgebaut wird
public OnGameModeInit()
{
print("Gamemode MVS wird geladen...");
ClockDate();
dbhandle = mysql_connect(DB_HOST,DB_NUTZERNAME,DB_NAME,DB_PASSWORD);
SetGameModeText("Mea-Vita-Secunda-Reallife");
printf("%s%",dbhandle);
SendRconCommand("password ");
if(mysql_errno() != 0)
{
print("MYSQL Verbindung Geschlossen.");
print("Keine Verbindung zur Datenbank.");
print("Keine Verbindung zur Datenbank.");
print("Keine Verbindung zur Datenbank.");
SendRconCommand("hostname DB-Verbindungsfehler");
mysql_close(dbhandle);
dbhandle = mysql_connect(DB_HOSTi,DB_NUTZERNAMEi,DB_NAMEi,DB_PASSWORDi);
//SendRconCommand("password null");
return OnGameModeInit();
}
if(mysql_errno() == 0) print("Verbindung zur Datenbank erfolgreich hergestellt !");
//Gebäude laden
for(new i=0; i<sizeof(bInfo); i++)
{
CreatePickup(1239,1,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]);
CreatePickup(1239,1,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz],i);
Create3DTextLabel("Zum Betreten /enter oder die Leertaste betätigen. ",CL_WHITE,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]+1,8,0);
Create3DTextLabel("Zum Verlassen /exit oder die Leertaste betätigen. ",CL_WHITE,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]+1,8.0,i);
//bank-LS
CreatePickup(1239,1,2309.1895,-8.5041,26.7422,2);
Create3DTextLabel("Um das Bankmenu zu öffnen /bankmenu ",CL_WHITE,2309.1895,-8.5041,26.7422+1,8.0,2);
//ende
}
//Zivi eingang lspd
CreatePickup(1239,1,1555.4999,-1675.4265,16.1953);
Create3DTextLabel("Zum Betreten /enter oder die Leertaste betätigen. ",CL_WHITE,1555.4999,-1675.4265,16.1953+1,8.0,0);
//Zivi ausgang lspd
CreatePickup(1239,1,288.8244,166.9225,1007.1719,intlspdzivi);
Create3DTextLabel("Zum verlassen /exit oder die Leertaste betätigen. ",CL_WHITE,288.8244,166.9225,1007.1719+1,8.0,intlspdzivi);
//member ausgang richtung zivi oben
CreatePickup(1239,1,288.8244,166.9225,1007.1719,intlspdmem);
Create3DTextLabel("Zum verlassen /exit oder die Leertaste betätigen. ",CL_WHITE,288.8244,166.9225,1007.1719+1,8.0,intlspdmem);
ShowPlayerMarkers(PLAYER_MARKERS_MODE_OFF);
DisableInteriorEnterExits();
EnableStuntBonusForAll(0);
LoadObjects();
loadfrakcars();
check3();
SetTimer("Lebensystem",30000,1);//OnGameModeInit
AddPlayerClass(0,1104.6141,-1440.3604,15.7969,269.9753, 0, 0, 0, 0, 0, 0);
print("Gamemode MVS-Reallife erfolgreich geladen !");
SendRconCommand("password ");
return SendRconCommand("password ");
}
public OnGameModeExit()
{
SendRconCommand("password ");
mysql_close(dbhandle);
print("MYSQL Verbindung Geschlossen.\n Gamemode unloaded !");
return 1;
}ich weiss nicht ob mein gedankengang 100prozent script freundlich war aber es funktioniert bis auf diesen blöden log beim GMX bzw Restart
-
Hallo
habe ständig nen mysql log auf dem server und weiss nicht was es bedeutet bzw wie ich es behebe
[20:49:07] [WARNING] CMySQLConnection::Disconnect - no connection available
[20:53:46] [WARNING] CMySQLConnection::Disconnect - no connection available
[16:53:21] [WARNING] CMySQLConnection::Disconnect - no connection available
[17:13:58] [WARNING] CMySQLConnection::Disconnect - no connection available
[17:28:31] [WARNING] CMySQLConnection::Disconnect - no connection available
[17:35:33] [WARNING] CMySQLConnection::Disconnect - no connection available
[17:59:42] [WARNING] CMySQLConnection::Disconnect - no connection available
[18:23:20] [WARNING] CMySQLConnection::Disconnect - no connection available
[18:54:05] [WARNING] CMySQLConnection::Disconnect - no connection available
[20:09:10] [WARNING] CMySQLConnection::Disconnect - no connection available
[20:09:43] [WARNING] CMySQLConnection::Disconnect - no connection available
[20:11:21] [WARNING] CMySQLConnection::Disconnect - no connection available
[20:14:31] [WARNING] CMySQLConnection::Disconnect - no connection available
[20:17:08] [WARNING] CMySQLConnection::Disconnect - no connection available
[20:18:57] [WARNING] CMySQLConnection::Disconnect - no connection available
[20:22:13] [WARNING] CMySQLConnection::Disconnect - no connection available
[20:24:12] [WARNING] CMySQLConnection::Disconnect - no connection available
[20:37:39] [WARNING] CMySQLConnection::Disconnect - no connection available
[20:43:48] [WARNING] CMySQLConnection::Disconnect - no connection availableWas auch immer das bedeuten mag ich glaube er versucht eine verbindung zu schliessen die nicht da ist
wie behebe ich das
-
so wirds sein
#close -
geht
danke vielmals -
ocmd@2:admin,admins(playerid,params[])
{
new str[128];
SendClientMessage(playerid,CL_HROT,"------------------Admins Online------------------");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(sInfo[i][eingeloggt]==1)
{
/*if(sInfo[i][aduty] == 0)
{
//SendClientMessage(playerid,CL_HROT,"------------------Admins Online------------------");
SendClientMessage(playerid,CL_KNALLROT,"INFO:Es sind Keine Teammitglieder im Dienst");
continue;
}*/
if(sInfo[playerid][aduty] == 0) continue;
switch(sInfo[i][alevel])
{
case 0://User
{
}
case 1://VIP
{
}
case 2://Supporter
{
format(str, sizeof(str), "%s ist Supporter.",SpielerName(i));
SendClientMessage(playerid,CL_HGRÜN,str);
}
case 3://Moderator
{
format(str, sizeof(str), "%s ist Moderator.",SpielerName(i));
SendClientMessage(playerid,CL_HGRÜN,str);
}
case 4://Super Moderator
{
format(str, sizeof(str), "%s ist Super-Moderator.",SpielerName(i));
SendClientMessage(playerid,CL_HGRÜN,str);
}
case 5://Admin
{
format(str, sizeof(str), "%s ist Administrator .",SpielerName(i));
SendClientMessage(playerid,CL_HGRÜN,str);
}
case 6://Server Manager
{
format(str, sizeof(str), "%s ist Server Manager.",SpielerName(i));
SendClientMessage(playerid,CL_HGRÜN,str);
}
case 7://Co-Projektleitung
{
format(str, sizeof(str), "%s ist CO-Projektleiter.",SpielerName(i));
SendClientMessage(playerid,CL_HGRÜN,str);
}
case 8://Projektleitung
{
format(str, sizeof(str), "%s ist Projektleiter.",SpielerName(i));
SendClientMessage(playerid,CL_HGRÜN,str);
}
}
}
}
SendClientMessage(playerid,CL_HROT,"------------------Admins Online------------------");
return 1;
} -
der nutzername root hat standard kein passwort
also passwort feld leer lassen
fehler behoben ?! -
jetzt wird er ja angezeigt sobald er aduty = 0 ist aber das soll ja aduty = 1 = liste sein
hab das umgestellt auf aduty = 0 nun aber sobald 1 oder mehr aduty=1 sind werden alle in der liste angezeigt -
dann benutzt du für deine lokale verbindung den root benutzer aber für einen hoster brauchst du dann nutzername und passwort was funktioniert - dann einfach hier wieder per pn melden und ich eile zur hilfe
Provisorisch funktioniert das nun und du kannst deinen localen server laufen lassen
-
benutze mal zum testen den user root ohne ein passwort
also das passwort feld im script leer lassen
danach mysql log kontrollieren -
Hallo,
momentan werden die Teammitglieder angezeigt bei dem Befehl sobald sie eingeloggt sind
Nun soll das aber so sein das wenn ich nicht aduty sInfo[playerid][aduty] == 1 bin das ich nicht in der Liste angezeigt werde
also zur kurzfassung
Teammitglied connecten und nicht aduty = ausgeblendet in der Listehier der aktuelle Code
ocmd@2:admin,admins(playerid,params[])
{
new str[128];
SendClientMessage(playerid,CL_HROT,"------------------Admins Online------------------");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(sInfo[i][eingeloggt]==1)
{
/*if(sInfo[i][aduty] == 0)
{
SendClientMessage(playerid,CL_HROT,"------------------Admins Online------------------");
SendClientMessage(playerid,CL_KNALLROT,"INFO:Es sind Keine Teammitglieder im Dienst");
return 1;
}*/
switch(sInfo[i][alevel])
{
case 0://User
{
}
case 1://VIP
{
}
case 2://Supporter
{
format(str, sizeof(str), "%s ist Supporter.",SpielerName(i));
SendClientMessage(playerid,CL_HGRÜN,str);
}
case 3://Moderator
{
format(str, sizeof(str), "%s ist Moderator.",SpielerName(i));
SendClientMessage(playerid,CL_HGRÜN,str);
}
case 4://Super Moderator
{
format(str, sizeof(str), "%s ist Super-Moderator.",SpielerName(i));
SendClientMessage(playerid,CL_HGRÜN,str);
}
case 5://Admin
{
format(str, sizeof(str), "%s ist Administrator .",SpielerName(i));
SendClientMessage(playerid,CL_HGRÜN,str);
}
case 6://Server Manager
{
format(str, sizeof(str), "%s ist Server Manager.",SpielerName(i));
SendClientMessage(playerid,CL_HGRÜN,str);
}
case 7://Co-Projektleitung
{
format(str, sizeof(str), "%s ist CO-Projektleiter.",SpielerName(i));
SendClientMessage(playerid,CL_HGRÜN,str);
}
case 8://Projektleitung
{
format(str, sizeof(str), "%s ist Projektleiter.",SpielerName(i));
SendClientMessage(playerid,CL_HGRÜN,str);
}
}
}
}
SendClientMessage(playerid,CL_HROT,"------------------Admins Online------------------");
return 1;
}MFG Nils
-
habs gar nicht ausprobiert weil ich immer mit i gearbeitet habe und den befehl hat mir nen kollege gemacht ist mir gar nicht aufgefallen
da er mir auch nichts dazu gesagt hat -
Hallo
ich möchte gerne es so machen das es egal ist ob man jetzt die ID vom spieler oder halt den Namen eingibt bei einem Befehl
z.B. der Spieler mit der ID 0 heisst Nilsdann soll der Befehl
ocmd:playercspawn(playerid,params[])
{
if(sInfo[playerid][alevel]>=7)
{
if(sInfo[playerid][aduty]==0)return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
{
new pID,vID,Float:x,Float:y,Float:z,Float:rota;
new Farb1,Farb2; //hier drunter sowohl die ID als auch der Name eingebbar sein
if(sscanf(params,"uiii",pID,vID,Farb1,Farb2))return SendClientMessage(playerid,CL_WHITE,"ERROR: /playercspawn [id][vID][farb1][farb2]");
GetPlayerPos(pID,x,y,z);
GetPlayerFacingAngle(pID,rota);
createplayercar(pID,vID,Float:x,Float:y,Float:z,Float:rota,Farb1,Farb2,-1);
SendClientMessage(playerid,CL_HROT,"Du hast den befehl benutzt.");
return 1;
}
}
SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
return 1;
}momentan ist der Befehl /cspawn ID VID Farbe Farbe
nun soll er auch /cspawn Nils24hero VID Farbe Farbe könnenDanke für die Hilfe
MFG Nils
-
Grundausrüstung kann ich dir gerne per Rar datei senden einfach per skype melden nils-l.1
Viele includes + Pawnfox + Plugins wie mysql uvm -
Genau du musst der Datenbank sagen Speichere / Update x='%s' mit der bedingung WHERE y='%s'
für prozent s kannst du auch einen integer oder ähnliches nehmen aber ohne bedingung funktioniert es nicht
nur so als beispiel wie mein save player aufgebaut ist aber nicht für copy and paste
sondern zum verstehen
saveplayer(playerid)
{
if(sInfo[playerid][eingeloggt]==0) return 1;
//Speichern level,money,(alevel)
new query[128];
sInfo[playerid][geld] = GetPlayerMoney(playerid);
format(query,sizeof(query),"UPDATE Benutzer SET LEVEL='%i', GELD='%i',BANKGELD='%i',KREDIT='%i',KZINS='%i',ALEVEL=%i,BANED='%i',SKIN='%i' WHERE DB_ID='%i' ",sInfo[playerid][level],sInfo[playerid][geld],sInfo[playerid][bankgeld],sInfo[playerid][kredit],sInfo[playerid][kzins],sInfo[playerid][alevel],sInfo[playerid][baned],sInfo[playerid][skin],sInfo[playerid][db_id]);
mysql_function_query(dbhandle,query,false,"","");
format(query,sizeof(query),"UPDATE Benutzer SET FRAKTION='%i', RANG='%i', LEADER='%i',SPAWN='%i' WHERE DB_ID='%i'",sInfo[playerid][fraktionsid],sInfo[playerid][rang],sInfo[playerid][leader],sInfo[playerid][spawn],sInfo[playerid][db_id]);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}die DB_ID ist in meiner datenbank einmalig und somit kann nie entwas schief gehen
-
mysql_log ?
-
Ziemlich unglaubwürdig aber wenn du meinst dann nutze ich die Kick funktion wobei ich nen crash in manchen situation (wobei nur ich und 1 kollege das kann) schöner finde
-
wieso sollte das nach hinten los gehen und welche konsequenzen sollte das für den Scripter/ Betreiber haben
ein User kann ja nicht nachvollziehen wie der Crash entsteht ,nur das er bei meinem server eventuell öfter geschieht als bei anderenDanke für eure hilfe
-
Hallo ich möchte einen /crash befehl einführen für admins möchte mich als owner und paar andere Leute ausklammern das man diese nicht crashen lassen kann
ocmd:crash(playerid,params[])
{
if(sInfo[playerid][alevel] <= 6)return SCM(playerid,CL_KNALLROT,"Benutzung: /crash [Playerid]");
new pID;
if(sscanf(params,"i",pID))return SendClientMessage(playerid,CL_HGRÜN,"Info: /crash [SpielerID].");
if(pID == playerid)return SendClientMessage(playerid,CL_HGRÜN,"Info: Nicht deine Eigene ID.");
GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 1000, 0);
GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 2000, 1);
GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 3000, 2);
GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 4000, 3);
GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 5000, 4);
GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 6000, 5);
GameTextForPlayer(pID, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 7000, 6);
return 1;
}das ist der Crash befehl aber ich weiß nicht wie ich dort eine fehlermeldung unter der bedingung das ein bestimmter name ausgewählt wurde kommt
bitte um Hilfe
MFG Nils24hero
-
mysql_close(dbhandle);
das ist die zeile 345
public OnGameModeInit()
{
print("Gamemode MVS wird geladen...");
ClockDate();
dbhandle = mysql_connect(DB_HOST,DB_NUTZERNAME,DB_NAME,DB_PASSWORD);
SetGameModeText("Mea-Vita-Secunda-Reallife");
printf("%s%",dbhandle);
SendRconCommand("password ");
if(mysql_errno() != 0)
{
print("MYSQL Verbindung Geschlossen.");
print("Keine Verbindung zur Datenbank.");
print("Keine Verbindung zur Datenbank.");
print("Keine Verbindung zur Datenbank.");
SendRconCommand("hostname DB-Verbindungsfehler");
mysql_close(dbhandle);
dbhandle = mysql_connect(DB_HOSTi,DB_NUTZERNAMEi,DB_NAMEi,DB_PASSWORDi);
//SendRconCommand("password null");
return OnGameModeInit();
}
if(mysql_errno() == 0) print("Verbindung zur Datenbank erfolgreich hergestellt !");
//Gebäude laden
for(new i=0; i<sizeof(bInfo); i++)
{
CreatePickup(1239,1,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]);
CreatePickup(1239,1,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz],i);
Create3DTextLabel("Zum Betreten /enter oder die Leertaste betätigen. ",CL_WHITE,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]+1,8,0);
Create3DTextLabel("Zum Verlassen /exit oder die Leertaste betätigen. ",CL_WHITE,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]+1,8.0,i);
//bank-LS
CreatePickup(1239,1,2309.1895,-8.5041,26.7422,2);
Create3DTextLabel("Um das Bankmenu zu öffnen /bankmenu ",CL_WHITE,2309.1895,-8.5041,26.7422+1,8.0,2);
//ende
}
//Zivi eingang lspd
CreatePickup(1239,1,1555.4999,-1675.4265,16.1953);
Create3DTextLabel("Zum Betreten /enter oder die Leertaste betätigen. ",CL_WHITE,1555.4999,-1675.4265,16.1953+1,8.0,0);
//Zivi ausgang lspd
CreatePickup(1239,1,288.8244,166.9225,1007.1719,intlspdzivi);
Create3DTextLabel("Zum verlassen /exit oder die Leertaste betätigen. ",CL_WHITE,288.8244,166.9225,1007.1719+1,8.0,intlspdzivi);
//member ausgang richtung zivi oben
CreatePickup(1239,1,288.8244,166.9225,1007.1719,intlspdmem);
Create3DTextLabel("Zum verlassen /exit oder die Leertaste betätigen. ",CL_WHITE,288.8244,166.9225,1007.1719+1,8.0,intlspdmem);
//ShowPlayerMarkers(PLAYER_MARKERS_MODE_ON);
DisableInteriorEnterExits();
EnableStuntBonusForAll(0);
LoadObjects();
loadfrakcars();
check3();
SetTimer("Lebensystem",30000,1);//OnGameModeInit
AddPlayerClass(0,1104.6141,-1440.3604,15.7969,269.9753, 0, 0, 0, 0, 0, 0);
print("Gamemode MVS-Reallife erfolgreich geladen !");
SendRconCommand("password ");
return SendRconCommand("password ");
}
public OnGameModeExit()
{
SendRconCommand("password ");
mysql_close(dbhandle);
print("MYSQL Verbindung Geschlossen.\n Gamemode unloaded !");
return 1;
}