Guck in das Zitat habe es dahinter geschrieben "//Fehlerzeile"
Jeffry:
Beiträge von The Sensei
-
-
ocmd:tban(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du hast kein Admin Level 2.");
new pID,time,grund[64],wert,string[144];
if(sscanf(params,"uds[64]",pID,time,grund))return SendClientMessage(playerid,"Tippe: /tban [id] [Dauer] [Grund]");//Fehlerzeile
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Spieler ist nicht online!");
if(time > 0 && time < 1000)
{
format(string,sizeof string,"%s wurde von %s für %d gebannt. Grund: %s",NamePlayer(pID),NamePlayer(playerid),time,grund);
SendClientMessageToAll(ROT,string);
wert = gettime() + (60*time);
SetPVarInt(pID,"timeban",wert);
SetTimerEx("WarnTimer2",250,false,"d",pID);
SetPVarInt(playerid,"Banned1",GetPVarInt(playerid,"Banned1")+1);
format(string,sizeof string,"Du hast den Spieler %s erfolgreich gesperrt.",NamePlayer(pID));
SendClientMessage(playerid,-1,string);
new Spieler[128];
printf("Account suche beginnt!");
format(Spieler,sizeof Spieler,"/Accounts/%s.txt",NamePlayer(pID));
printf("Spieler: %s -> %d",Spieler,dini_Exists(Spieler));
printf("reason: %s",grund);
dini_Set(Spieler,"tbangrund,"grund);
dini_Set(Spieler,"tbanadmin",NamePlayer(playerid));
printf("Dini Bearbeitung");
SetTimerEx("Gebannt",200,false,"d",pID);
Log("TimeBanLog",string);
format(string,sizeof string,"Du wurdest von %s für %d gebannt. Grund: %s",NamePlayer(playerid),time,grund);
BanExWithMessage(pID,ROT,string,grund);
return 1;
}
return SendClientMessage(playerid,ROT,"Ungültige Zeit!");
}Versuche das mal so.
Du hattest deine Abfragen (sscanf und noch andere) falsch aufgebaut gehabt. Außerdem, wie iEnerqie schon sagte, müssen die Variablen vor der Ban-Ausführung gesetzt werden.Hab diesen Error:
-
Guten Tag,
mein Timeban "Wert" wird nicht gespeichert ich weiß nicht warum.
Das heißt es muss was mit den Parametern sein aber was!?
ocmd:tban(playerid,params[]){
if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du hast kein Admin Level 2.");
new pID,time,grund[64],wert,string[150],pIDname[MAX_PLAYER_NAME];
if(sscanf(params,"uss",pID,time,grund))return SendClientMessage(playerid,-1,"Tippe: /tban [id] [Dauer] [grund]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Spieler ist nicht online!");
if(0 < time < 1000){
format(string, sizeof(string), "Du wurdest von %s für %s gebannt.Grund: %s", NamePlayer(playerid), time, grund);
BanExWithMessage(pID, ROT, string, grund);
format(string,sizeof(string),"%s wurde von %s für %s gebannt. Grund: %s",NamePlayer(pID),NamePlayer(playerid),time,grund);
SendClientMessageToAll(ROT,string);
wert = gettime()+(60*time),SetPVarInt(pID,"timeban",wert),SetTimerEx("WarnTimer2",250,false,"d",pID),SetPVarInt(playerid,"Banned1",GetPVarInt(playerid,"Banned1")+1);
GetPlayerName(pID,pIDname,sizeof(pIDname));
format(string,sizeof(string),"Du hast den Spieler %s erfolgreich gesperrt.",pIDname);
SendClientMessage(playerid,-1,string);
new Spieler[128];
printf("Account suche");
format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",NamePlayer(pID));
printf("Spieler: %s -> %d", Spieler, fexist(Spieler));
printf("reason: %s", grund);
dini_Set(Spieler,"tbangrund",grund);
dini_Set(Spieler,"tbanadmin",NamePlayer(playerid));
printf("Dini Bearbeitung");
SetTimerEx("Gebannt",200,false,"d",pID);
Log("TimeBanLog",string);}
return SendClientMessage(playerid,ROT,"Ungültige Zeit!");
}Er zeigt mir Ingame Ungültige Zeit an aber Kickt mich tzd.
-
Danke Danke.
Hat Funktioniert.
#Jeffrybesterman
#close -
Er speichert jetzt die Ban admin und grund aber noch nicht das er gesperrt ist also "SetPVarInt(pID,"Gesperrt",1);" das funktioniert nicht.
Sonst ist alles ok
Jeffry: -
Jeffry:
Habe noch das gefunden denke aber nicht das das Hilft:
#define Name(%0)Soll ich alle "Name(playerid)" zu "NamePlayer(playerid)" machen?
-
Jeffry:
das?
stock NamePlayer(spielerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(spielerid,name,sizeof(name));
return name;
} -
Nee mein Compiler ist so:
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase -
Nein ich habe es gerade getestet andere STats werden nicht gespeichert außer Adminlevel und Respektpunkte und Kills/Tode (Glaube ich)
-
Jeffry:
Im BanLog steht es.
SpielerSpeichern ist geändert.
Timer ist aus und es funktioniert tzd. nicht.
Aktueller Code:
ocmd:ban(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du hast kein Admin Level 3.");
new pID, reason[128],string[144],name[MAX_PLAYER_NAME],pIDname[MAX_PLAYER_NAME];
if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GELB,"Tippe: /ban [id] [grund]");
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Du wurdest von %s gebannt. Grund: %s",name,reason);
SendClientMessage(pID,ROT, string);
GetPlayerName(playerid,pIDname,sizeof(pIDname));
format(string,sizeof(string),"Du hast den Spieler %s erfolgreich gesperrt.",pIDname);
SendClientMessage(playerid,-1,string);
SetPVarInt(pID,"Gesperrt",1);
new Spieler[128];
printf("Account suche");
format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Name(pID));
dini_Set(Spieler,"bangrund",reason);
dini_Set(Spieler,"banadmin",Name(playerid));
printf("Dini Bearbeitung");
//SetTimerEx("Gebannt",200,false,"d",pID);
Log("BanLog",string);
return 1;
} -
Das ist von 2k12.
b2t:
Sauber Gemappt.
10/10
PS: Manche Bilder sind "Down" -
Jeffry:
Er printet nur bis Account suche er scheitert warscheinlich am if(fexit(Spieler))
Weißt du da was?Code[22:53:32] Registrierung eingeschaltet! [22:53:32] FerienFreak hat einen Account und kann sich nun einloggen (togregister == false) [22:53:40] Account suche [22:53:40] [part] FerienFreak has left the server (0:2)
Hab am Code bissle was verändert mit SendClientMessage etc pp.
ocmd:ban(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du hast kein Admin Level 3.");
new pID, reason[128],string[144],name[MAX_PLAYER_NAME],pIDname[MAX_PLAYER_NAME];
if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GELB,"Tippe: /ban [id] [grund]");
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Du wurdest von %s gebannt. Grund: %s",name,reason);
SendClientMessage(pID,ROT, string);
GetPlayerName(playerid,pIDname,sizeof(pIDname));
format(string,sizeof(string),"Du hast den Spieler %s erfolgreich gesperrt.",pIDname);
SendClientMessage(playerid,-1,string);
SetPVarInt(pID,"Gesperrt",1);
new Spieler[50];
printf("Account suche");
format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Name(pID));
if(fexist(Spieler))
{
dini_Set(Spieler,"bangrund",reason);
dini_Set(Spieler,"banadmin",Name(playerid));
printf("Dini Bearbeitung");
}
SetTimerEx("Gebannt",200,false,"d",pID);
Log("BanLog",string);
return 1;
}//e
Er macht auch nicht SetPVarInt(pID,"Gesperrt",1);//e²
Er speichert nix, hab keine Errors mehr.
Er macht zwar printf("Dini Bearbeitung");
aber er schreibt nix in die Datei. -
public Gebannt(playerid)
{
Kick(playerid);
}stock SpielerSpeichern(playerid){
if(!GetPVarInt(playerid,"loggedin"))return 1;
new pfad[64];
format(pfad,64,"/Accounts/%s.txt",Name(playerid));
dini_IntSet(pfad,"Alter Name",GetPVarInt(playerid,"Alter Name"));
dini_IntSet(pfad,"Level",GetPlayerScore(playerid)),dini_IntSet(pfad,"Geld",GetPlayerMoney(playerid));
dini_IntSet(pfad,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(pfad,"Gesperrt",GetPVarInt(playerid,"Gesperrt")),dini_IntSet(pfad,"Warns",GetPVarInt(playerid,"Warns"));
dini_IntSet(pfad,"IP",GetPVarInt(playerid,"IP")),dini_IntSet(pfad,"Name",GetPVarInt(playerid,"Name"));
dini_IntSet(pfad,"Tode",GetPVarInt(playerid,"Tode"));
dini_IntSet(pfad,"Kills",GetPVarInt(playerid,"Kills")),dini_IntSet(pfad,"Banned1",GetPVarInt(playerid,"Banned1"));
dini_IntSet(pfad,"Kick1",GetPVarInt(playerid,"Kick1")),dini_IntSet(pfad,"Donator",GetPVarInt(playerid,"Donator"));
dini_IntSet(pfad,"Clan",GetPVarInt(playerid,"Clan")),dini_IntSet(pfad,"bangrund",GetPVarInt(playerid,"bangrund"));
dini_IntSet(pfad,"banadmin",GetPVarInt(playerid,"banadmin"));
dini_IntSet(pfad,"Respektpunkte",GetPVarInt(playerid,"Respektpunkte")),dini_IntSet(pfad,"Mute",GetPVarInt(playerid,"Mute"));
return 1;
}Danke für die Antwort
-
Meine Meinung viel zu viel,
Die Türme passen garnicht, da das für einen Normalen Zoll zu viel ist.
Die schranken sind eine Gute Idee und die Pylonen auch.5|10 mach die Türme weg und das auf der Zollstation auch dann gibt es mehr.
-
Guten Tag,
mein Ban System funktioniert nicht.
Es sieht so aus.
ocmd:ban(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du hast kein Admin Level 3.");
new pID, reason[128],string[144];
if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GELB,"Tippe: /ban [id] [grund]");
format(string,sizeof(string),"Du wurdest von %s gebannt. Grund: %s",Name(playerid),reason);
SendClientMessageToAll(ROT, string);
SetPVarInt(playerid,"Gesperrt",1);
new Spieler[50];
printf("Account suche");
format(Spieler,sizeof(Spieler),"/Accounts/%s.txt",Name(pID));
{
dini_Set(Spieler,"bangrund",reason);
dini_Set(Spieler,"banadmin",Name(playerid));
printf("Dini Bearbeitung");
}
SetTimer("Gebannt",1450,false);
Log("BanLog",string);
return 1;
}
Gebe ich /ban 0 test ein werde ich gekickt und es sollte eigentlich in der Account Datei eine 1 bei "Gesperrt" gesetzt werden und halt die "banadmin" und "bangrund" ausgefüllt werden.
Er printet es auch so wie es da steht.
Doch er macht nichts in der Datei.Bitte um hilfe
-
Mehr Informationen über dich.
-
Hab bisschen was verwechselt sorry.
new Float:x,Float:y,Float:z;
Nimm das raus, lass dich nicht von denen da oben vollsülzen.
Du hast lediglich vergessen, dass 3D-Label zu deklarieren.
Wie das geht hat Jeffry gezeigtlg
-
Muss man mit MYSQL arbeiten können?
ArTeX: -
Wie ist das Mindestalter für die stelle als Scripter
-
Code
Zeile (20796) : Variable wurde falsch definiert (Float,Integer[...])Zeile (20782) : Variable wird nie benutzt: "z"Zeile (20782) : Variable wird nie benutzt: "y"Zeile (20782) : Variable wird nie benutzt: "x"
if(strcmp(cmdtext, "/maske", true) == 0) { if(PlayerInfo[playerid][pMember] == 22 || PlayerInfo[playerid][pLeader] == 22) { new Float:x,Float:y,Float:z; if(Maske[playerid] == 1) { for(new i = 0; i < MAX_PLAYERS; i++) ShowPlayerNameTagForPlayer(i, playerid, 1); Maske[playerid] = 0; SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du hast dir deine Maske abgesetzt."); } else if(Maske[playerid] == 0) { for(new i = 0; i < MAX_PLAYERS; i++) ShowPlayerNameTagForPlayer(i, playerid, 0); Maske[playerid] = 1; SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du hast dir eine Maske aufgesetzt."); { Create3DTextLabel("Maskierter",COLOR_LIGHTBLUE,30.0,40.0,50.0,40.0,0); // Maskierter[playerid] = Attach3DTextLabelToPlayer(Maskierter[playerid],playerid, 0.0, 0.0, 0.4); } } } else { SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keine Maske aufsetzen!"); } return 1; }
Was machst du mit deinen Codes?
Kannst du die nicht untereinander bringen?
//e
if(strcmp(cmdtext, "/maske", true) == 0)
{
if(PlayerInfo[playerid][pMember] == 22 || PlayerInfo[playerid][pLeader] == 22)
{
new Float:x,Float:y,Float:z;
if(Maske[playerid] == 1)
{
for(new i = 0; i < MAX_PLAYERS; i++) ShowPlayerNameTagForPlayer(i, playerid, 1);
Maske[playerid] = 0;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du hast dir deine Maske abgesetzt.");
}
else if(Maske[playerid] == 0)
{
for(new i = 0; i < MAX_PLAYERS; i++) ShowPlayerNameTagForPlayer(i, playerid, 0);
Maske[playerid] = 1;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du hast dir eine Maske aufgesetzt.");
{
Create3DTextLabel("Maskierter",COLOR_LIGHTBLUE,30.0,40.0,50.0,40.0,0); // Maskierter[playerid] =
Attach3DTextLabelToPlayer(Maskierter[playerid],playerid, 0.0, 0.0, 0.4);
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keine Maske aufsetzen!");
}
return 1;
}So richtig eingereiht bzw. untereinander.
http://wiki.sa-mp.com/wiki/Floats
Das wird dir bestimmt helfen
Eigeninitative muss man schon haben.