Dann bleibt er aber auf dem Server, obwohl er gebannt ist.
Beiträge von Shido
-
-
Warum, schickt das System den Text nicht ab?!
public OnPlayerSpawn(playerid)
{
new pID;
if(SpielerInfo[playerid][pBanned]== 1)
{
SendClientMessage(playerid, ROT, "Du bist vom Server gebannt.");
SetTimerEx("BanTimer",500,false,"i",pID); //Du musst den Timer für die playerid starten. Dein Timer heisst unten "BanTimer" und nicht "BanTimerText
Kick(playerid);
}
return 1;
} -
C:\Users\Kadri\Desktop\Streets of San\gamemodes\SoS.pwn(2676) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Warning.
_______________________________________________________
Immer noch ein Error, also dort beim ( if(SpielerInfo ...
public OnPlayerSpawn(playerid)
{
if(SpielerInfo[playerid][pBanned]== 1)
{
SendClientMessage(playerid, ROT, "Du bist vom Server gebannt.");
SetTimerEx("BanTimer",500,false,"i",playerid); //Du musst den Timer für die playerid starten. Dein Timer heisst unten "BanTimer" und nicht "BanTimerText
Kick(playerid);
}
return 1;
} -
Was mache ich nur falsch?
C:\Users\Kadri\Desktop\Streets of San\gamemodes\SoS.pwn(35) : warning 235: public function lacks forward declaration (symbol "BanTimer")
C:\Users\Kadri\Desktop\Streets of San\gamemodes\SoS.pwn(2676) : warning 209: function "OnPlayerSpawn" should return a value
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase2 Warnings.
Hier die Zeile 35-38: public BanTimer(playerid)
{
Kick(playerid);
return 1;
}Hier die Zeile: 2676:
public OnPlayerSpawn(playerid)
{
if(SpielerInfo[playerid][pBanned]== 1)
{
SendClientMessage(playerid, ROT, "Du bist vom Server gebannt.");
SetTimerEx("BanTimer",500,false,"i",playerid); //Du musst den Timer für die playerid starten. Dein Timer heisst unten "BanTimer" und nicht "BanTimerText
Kick(playerid);
return 1;
}
}Bitte helfen
-
public OnPlayerSpawn(playerid)
{
if(SpielerInfo[playerid][pBanned]== 1)
{
SendClientMessage(playerid, ROT, "Du bist vom Server gebannt.");
SetTimerEx("BanTimer",500,false,"i",playerid); //Du musst den Timer für die playerid starten. Dein Timer heisst unten "BanTimer" und nicht "BanTimerText".
}
forward BanTimer(playerid);
public BanTimer(playerid)
{
Kick(playerid);
}
return 1;
}Was ist hier falsch?!
Errors:
C:\Users\Kadri\Desktop\Streets of San\gamemodes\SoS.pwn(2667) : error 029: invalid expression, assumed zero
C:\Users\Kadri\Desktop\Streets of San\gamemodes\SoS.pwn(2668) : error 029: invalid expression, assumed zero
C:\Users\Kadri\Desktop\Streets of San\gamemodes\SoS.pwn(2669) : error 001: expected token: ";", but found "{"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase3 Errors.
-
Ich muss wieder ein Timer stellen, damit er den Text sieht:
Was ist da falsch?public OnPlayerSpawn(playerid)
{
new pID;
if(SpielerInfo[playerid][pBanned]== 1)
{
SendClientMessage(playerid, ROT, "Du bist vom Server gebannt.");
SetTimerEx("BanTimerText",500,false,"i",pID);
}
forward BanTimer(playerid);
public BanTimer(playerid)
{
Kick(playerid);
}
return 1;
}Errors:
C:\Users\Kadri\Desktop\Streets of San\gamemodes\SoS.pwn(2668) : error 029: invalid expression, assumed zero
C:\Users\Kadri\Desktop\Streets of San\gamemodes\SoS.pwn(2669) : error 029: invalid expression, assumed zero
C:\Users\Kadri\Desktop\Streets of San\gamemodes\SoS.pwn(2670) : error 001: expected token: ";", but found "{"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase3 Errors.
-
Okey, habe es so gemacht wie du es geschrieben hast, aber ich habe irgendwo da drine ein Klammer Fehler.
-
Was hast du da geändert/entfernt?
/edit => Habe es verstanden, sry. Vielen Dank
-
What?!
Ich verstehe nicht was du meinst, oder meinst du vielleicht das ich LoadPlayer zuletzt schreiben? -
Wie trollen, ich brauche eigentlich nur Hilfe! Wirklich seit 3 Tagen steck ich beim Ban System fest...
Musst du eigentlich immer dein Senf abgeben, du musst nicht immer kommentieren hier gibt es Leute die Hilfsbereit sind. -
Habe paar Probleme gelöst..:
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];
new pID;
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.
{
if(SpielerInfo[playerid][pBanned]==0)
{
SetPVarInt(playerid,"Eingeloggt",1); //Falls beide passwörter übereinstimmen wird die Variable auf 1 gesetzt damit wir die Skin auswahl benutzen können.
LoadPlayer(playerid); //Der Spieler wird "geladen", speich es werden seine Daten aus der Datenbank geholt und in variablen gespeichert um diese im Skript zu verwenden.
SpawnPlayer(playerid); //Wir lassen den Spieler Spawnen
return 1;
}
else
{
SetTimerEx("BanTimer",500,false,"i",pID);
SendClientMessage(playerid,ROT,"Du bist gebannt!");//
SendClientMessage(playerid,ROT,"Bei vermutlicher Unschuld kannst Du im Forum einen Entbannantrag stellen.");
SetTimerEx("BanTimer",500,false,"i",pID);
}
forward BanTimer(playerid);
public BanTimer(playerid)
{
Kick(playerid);
}
}
else
{
//Wenn das Passwort falsch war, lassen wir erneut das Login fenster erscheinen damit der Spieler das Richtige Passwort eingibt.
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); //Wenn auf Abbrechen geklickt wurde, wird der Spieler gekickt damit man ohne Account nicht Spielen kann.
}
}
}
return 1;
}Errors:
C:\Users\Kadri\Desktop\Streets of San\gamemodes\SoS.pwn(3378) : error 029: invalid expression, assumed zero
C:\Users\Kadri\Desktop\Streets of San\gamemodes\SoS.pwn(3379) : error 029: invalid expression, assumed zero
C:\Users\Kadri\Desktop\Streets of San\gamemodes\SoS.pwn(3380) : error 001: expected token: ";", but found "{"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase3 Errors.
-
Was hätte das für ein Sinn?
/edit => Nur zum Überblick, also ich soll "Loadplayer (playerid); weg machen" aber wo soll es dann hin?
=> Dann noch anstatt Kick (playerid); zu Ban(playerid); ändern.. -
Wie meinst du das? O.o
-
Geht nicht, da ich gerade in der Schule bin und erst um 16 Uhr schluss habe.
Aber unter diesem return 1
{
forward BanTimer
public BanTimer
Kick (playerid)glaub ich => schicke aber heute Mittag das echte ab
-
Kannst du mir ein Beispiel machen?
-
Es sieht gut aus. Es kickt den Spieler zeigt auch den Ban Grund, aber wenn er sich ohne dem gmx einloggt, dann steht nicht der "TEXT da, das er gebannt ist" und nach dem gmx kann er sich wieder einloggen ? O.o
-
@Omege, ich mach das dann heute Mittag!
Hoffentlich klappt es -.-'@Showtek, ich versteh nicht was du meinst, und diesen SavePlayer hat ein Typ gemacht, der mir helfen wollte, aber nach dem "gmx" kann er sich wieder einloggen aber warum?
-
Gerog füg das da oben ein:
{
for(new playerid = 0;playerid < MAX_PLAYERS; playerid++)
{
if(!IsPlayerConnected(playerid))continue;
if(GetPlayerScore(playerid) != SpielerInfo[playerid][pLevel])SetPlayerScore(playerid,SpielerInfo[playerid][pLevel]);
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,SpielerInfo[playerid][pGeld]);
}
return 1;Du musst die halt unbennen, wie du sie in der Tabelle gennant hast.
-
Schönen Abend Community,
ich habe eine " Ocmd: ban " erstellt, ich habe sehr viele Leute nach Hilfe gefragt, keiner hat mein Problem gelöst. Es bant den Spieler.. aber nach einem "gmx" kann er sich wieder neu einlogen "ABER WARUM?!"
Der Befehl:
ocmd:ban(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"[ERROR] Du bist kein Admin Rang 2!");
new pID, reason[128], string[128];
if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"[ERROR] Eingeben: /ban [ID] [Grund]");
format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt. Grund: %s",pSpielerName(pID),pSpielerName(playerid),reason);
SendClientMessageToAll(ROT,string);
GetPlayerName(pID,string,sizeof(string));
SpielerInfo[pID][pBanned]=1;
SavePlayer(pID);
//mysql_SetInt("accounts", "Banned",1, "Name",pSpielerName(pID));
SetTimerEx("BanTimer",500,false,"i",pID);
return 1;
}Und hier, wenn er sich eigentlich einloggen sollte, und dieser Text kommen sollte, aber es irgendwie nicht kommt.
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.
{
if(SpielerInfo[playerid][pBanned]==0)
{
SetPVarInt(playerid,"Eingeloggt",1); //Falls beide passwörter übereinstimmen wird die Variable auf 1 gesetzt damit wir die Skin auswahl benutzen können.
LoadPlayer(playerid); //Der Spieler wird "geladen", speich es werden seine Daten aus der Datenbank geholt und in variablen gespeichert um diese im Skript zu verwenden.
SpawnPlayer(playerid); //Wir lassen den Spieler Spawnen
return 1;
}
else
{
LoadPlayer(playerid); //Der Spieler wird "geladen", sprich es werden seine Daten aus der Datenbank geholt und in variablen gespeichert um diese im Skript zu verwenden
SendClientMessage(playerid,ROT,"Du bist gebannt!");//
SendClientMessage(playerid,ROT,"Bei vermutlicher Unschuld kannst Du im Forum einen Entbannantrag stellen.");
Kick(playerid);
}
}
else
{
//Wenn das Passwort falsch war, lassen wir erneut das Login fenster erscheinen damit der Spieler das Richtige Passwort eingibt.
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); //Wenn auf Abbrechen geklickt wurde, wird der Spieler gekickt damit man ohne Account nicht Spielen kann.
}
}
}
return 1;
}Was ist nur falsch, bitte ignoriert diesen Thread nicht, und helft mir ... Danke zu mindestens der mir hilft. Schönen Abend noch!
Mit freundlichen Grüßen,
-
Es kickt jetzt... aber irgendwie wird er nicht gebannt, in der Mysql datenbank- steht auch keine "1" mehr...
Hier der Befehl:
ocmd:ban(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"[ERROR] Du bist kein Admin Rang 2!");
new pID, reason[128], string[128];
if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"[ERROR] Eingeben: /ban [ID] [Grund]");
format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt. Grund: %s",pSpielerName(pID),pSpielerName(playerid),reason);
SendClientMessageToAll(ROT,string);
GetPlayerName(pID,string,sizeof(string));
mysql_SetInt("accounts", "Banned",1, "Name",pSpielerName(pID));
SetTimerEx("BanTimer",500,false,"i",pID);
return 1;
}
forward BanTimer(playerid);
public BanTimer(playerid)
{
Kick(playerid);
}