Das ganze sieht so im Moment aus:
Beiträge von TheTutoFreak
-
-
Da wird garnichts geprintet...
-
Hä ? wenn ich schon Leader bin z.B. der LSPD und mich dan Leader der Hitman mache steht in der Leaderliste das ich zweimal Leader bin...
-
Wenn ich jetzt /makeleader TheTutoFreak 8 mache und dan /makeleader TheTutoFreak 1 bin ich Leader der Hitman und LSPD...
-
Ich habs mal versucht weiß aber nicht obs stimmt:
ocmd:makeleader(playerid,params[])
{
new pID,Fraktion;
if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
if(PlayerInfo[playerid][pAdminlevel] <= 1337)return SendClientMessage(playerid,Grau,"Du bist nicht befugt, diesen Befehl zu nutzen!");
if(sscanf(params,"ui",pID,Fraktion))
{
SendClientMessage(playerid,Gelb,"Benutze: /makeleader [playerid/PartOfName] [Fraktion]");
SendClientMessage(playerid,Gelb,"1 = LSPD, 2 = FBI, 3 = Army, 4 = Medic, 5 = News, 6 = T-GmbH,");
SendClientMessage(playerid,Gelb,"7 = Abfallwirtschaft, 8 = Hitman, 9 = Grove Street, 10 = Al-Qaida,");
SendClientMessage(playerid,Gelb,"11 = Ballas, 12 = Fahrschule, 13 = La Cosa Nostra, 14 = Taxi,");
SendClientMessage(playerid,Gelb,"15 = Yakuza, 16 = Staatsverwaltung, 17 = SAPD, 18 = Aztecas,");
SendClientMessage(playerid,Gelb,"19 = Rifas, 20 = RS, 21 = Cripz, 22 = Russische Mafia, 23 = SFBC,");
SendClientMessage(playerid,Gelb,"24 = Vagos, 25 = Wheelmen");
return 1;
}
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Grau,"Der angegebene Spieler ist nicht Online!");
if(frakGeschlossen[Fraktion] == true) return SendClientMessage(playerid,Grau,"Die Fraktion ist geschlossen!");
if(Fraktion < 0 || Fraktion > 26) return SendClientMessage(playerid,Grau,"Bitte nimm eine Fraktion zwischen 0 und 5!");
if(Fraktion == 0)
{
new Fraktionsdatei[64];
format(Fraktionsdatei,sizeof(Fraktionsdatei),"/Fraktionen/%s.txt",FraktionsNamen(Fraktion));
dini_Set(Fraktionsdatei, "LeaderName", "Niemand");
}
PlayerInfo[pID][pLeader] = Fraktion;
PlayerInfo[pID][pFraktion] = Fraktion;
PlayerInfo[pID][pMember] = Fraktion;
PlayerInfo[pID][pRank] = 7;
new Fraktionsdatei[64];
format(Fraktionsdatei,sizeof(Fraktionsdatei),"/Fraktionen/%s.txt",FraktionsNamen(Fraktion));
dini_Set(Fraktionsdatei, "LeaderName", SpielerName(pID));
SpawnPlayer(pID);
if(Fraktion == 0)
{
Leaders--;
}
else if(Fraktion >= 1)
{
Leaders++;
}
new string[128],name[MAX_PLAYER_NAME];
GetPlayerName(pID,name,sizeof(name));
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Du hast %s Leader der Fraktion %s gemacht.",name,LeaderRank(pID));
SendClientMessage(playerid,Blau,string);
format(string,sizeof(string),"%s hat dich Leader der Fraktion %s gemacht.",name,LeaderRank(pID));
SendClientMessage(pID,Blau,string);
return 1;
} -
Wie mach ich dann noch das wenn ich /makeleader [NAME] 0 eingebe das dann in der Fraktionsdatei der Leadername auch entfernt wird ?
-
Meinst du etwar so ?
stock ReturnPlayerID(l_PlayerName[]) //©Jeffry
{
new l_name[MAX_PLAYER_NAME];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
{
if(!strcmp(l_name,l_PlayerName, true)) return i;
}
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
{
if(strfind(l_name,l_PlayerName,true)!=-1) return i;
}
}
return INVALID_PLAYER_ID;
} -
Ah hat geklappt und wie mache ich das mit Online und Offline ?
-
Also es soll Zivilist nur nicht angezeigt werden und Niemand soll bleiben aber bei den geschlossenen kann dahinter iwie geschlossen sthen ?
-
Ah jetzt klappt es schon bissel besser. du hast das new Fraktionsdatei[64]; oben hingeschrieben aber es sieht jetzt ungefähr so aus...
Zivilist: Niemand // Des soll weg
LSPD: Niemand
Hitman: TheTutoFreak
... -
So ?
ocmd:leaderliste(playerid,params[])
{
if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
new string[1024];
for(new i=0; i<26; i++)
{
new Fraktionsdatei[64];
format(Fraktionsdatei,sizeof(Fraktionsdatei),"/Fraktionen/%s.txt",FraktionsNamen(i));
dini_Get(Fraktionsdatei, "LeaderName");
format(string, sizeof(string), "%s%s Leader: %s\n", string, LeaderRank(i), SpielerName(i));
}
ShowPlayerDialog(playerid,DIALOG_LEADERS,DIALOG_STYLE_MSGBOX,"Leader Liste",string,"Schliesen","");
return 1;
} -
Meinst du so ?
ocmd:leaderliste(playerid,params[])
{
if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
new string[1024];
for(new i=0; i<26; i++)
{
if(PlayerInfo[i][pLeader] == 0) continue;
format(string, sizeof(string), "%s%s Leader: %s\n", string, LeaderRank(i), SpielerName(i));
}
ShowPlayerDialog(playerid,DIALOG_LEADERS,DIALOG_STYLE_MSGBOX,"Leader Liste",string,"Schliesen","");
return 1;
} -
Das habe ich ja bis jetzt schon...
ocmd:leaderliste(playerid,params[])
{
if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
new string[1024];
for(new i=0; i<MAX_PLAYERS; i++)
{
if(PlayerInfo[i][pLeader] == 0) continue;
format(string, sizeof(string), "%s%s Leader: %s\n", string, LeaderRank(i), SpielerName(i));
}
ShowPlayerDialog(playerid,DIALOG_LEADERS,DIALOG_STYLE_MSGBOX,"Leader Liste",string,"Schliesen","");
return 1;
}
ich will aber das alle Leader angezeigt werden. Egal ob sie Online oder Offline sind. Wenn sie Offline sind soll dahinter (Offline) stehen und wenn sie Online sind soll (Online) dahinter stehen. -
Dank die jetzt macht es alles so wie ich will Kann ich das jetzt auch mit der leaderliste machen wo ich mal wollte ?
-
Achso aber es steht trotzdem nichts in den Datein...
-
Du muss abfragen ob er Rcon Admin ist Das heißt:
ocmd:beispielbefehl(playerid,params[])
{
if(IsPlayerAdmin(playerid))
{
//Was passieren soll wenn er Rcon Admin ist...
return 1;
}
else
{
//Was passieren soll wenn er es nicht ist...
return 1;
}
return 1;
} -
Befehl:
ocmd:makeleader(playerid,params[])
{
new pID,Fraktion;
if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
if(PlayerInfo[playerid][pAdminlevel] <= 1337)return SendClientMessage(playerid,Grau,"Du bist nicht befugt, diesen Befehl zu nutzen!");
if(sscanf(params,"ui",pID,Fraktion))
{
SendClientMessage(playerid,Gelb,"Benutze: /makeleader [playerid/PartOfName] [Fraktion]");
SendClientMessage(playerid,Gelb,"1 = LSPD, 2 = FBI, 3 = Army, 4 = Medic, 5 = News, 6 = T-GmbH,");
SendClientMessage(playerid,Gelb,"7 = Abfallwirtschaft, 8 = Hitman, 9 = Grove Street, 10 = Al-Qaida,");
SendClientMessage(playerid,Gelb,"11 = Ballas, 12 = Fahrschule, 13 = La Cosa Nostra, 14 = Taxi,");
SendClientMessage(playerid,Gelb,"15 = Yakuza, 16 = Staatsverwaltung, 17 = SAPD, 18 = Aztecas,");
SendClientMessage(playerid,Gelb,"19 = Rifas, 20 = RS, 21 = Cripz, 22 = Russische Mafia, 23 = SFBC,");
SendClientMessage(playerid,Gelb,"24 = Vagos, 25 = Wheelmen");
return 1;
}
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Grau,"Der angegebene Spieler ist nicht Online!");
if(frakGeschlossen[Fraktion] == true) return SendClientMessage(playerid,Grau,"Die Fraktion ist geschlossen!");
if(Fraktion < 0 || Fraktion > 26) return SendClientMessage(playerid,Grau,"Bitte nimm eine Fraktion zwischen 0 und 5!");
PlayerInfo[pID][pLeader] = Fraktion;
PlayerInfo[pID][pFraktion] = Fraktion;
PlayerInfo[pID][pMember] = Fraktion;
PlayerInfo[pID][pRank] = 7;
new Fraktionsdatei[64];
format(Fraktionsdatei,sizeof(Fraktionsdatei),"/Fraktionen/%s.txt",FraktionsNamen(Fraktion));
dini_Set(Fraktionsdatei, "LeaderName", SpielerName(pID));
SpawnPlayer(pID);
if(Fraktion == 0)
{
Leaders--;
}
else if(Fraktion >= 1)
{
Leaders++;
}
new string[128],name[MAX_PLAYER_NAME];
GetPlayerName(pID,name,sizeof(name));
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Du hast %s Leader der Fraktion %s gemacht.",name,LeaderRank(pID));
SendClientMessage(playerid,Blau,string);
format(string,sizeof(string),"%s hat dich Leader der Fraktion %s gemacht.",name,LeaderRank(pID));
SendClientMessage(pID,Blau,string);
return 1;
}
Speicherung und Laden:
public FraktionsSave(fraktionsid)
{
new Fraktionsdatei[64];
format(Fraktionsdatei,sizeof(Fraktionsdatei),"/Fraktionen/%s.txt",FraktionsNamen(fraktionsid));
if(!dini_Exists(Fraktionsdatei)) dini_Create(Fraktionsdatei);
dini_IntSet(Fraktionsdatei, "frakGeschlossen", frakGeschlossen[fraktionsid]);
dini_IntSet(Fraktionsdatei, "LeaderName", 0);
return 1;
}public FraktionsLaden(fraktionsid)
{
new Fraktionsdatei[64];
new frakLeaderName[MAX_FRAKTIONEN][MAX_PLAYER_NAME];
format(Fraktionsdatei,sizeof(Fraktionsdatei),"/Fraktionen/%s.txt",FraktionsNamen(fraktionsid));
if(!dini_Exists(Fraktionsdatei)) dini_Create(Fraktionsdatei);
frakGeschlossen[fraktionsid] = bool:dini_Int(Fraktionsdatei, "frakGeschlossen");
format(frakLeaderName[fraktionsid], MAX_PLAYER_NAME, dini_Get(Fraktionsdatei, "LeaderName"));
return 1;
}PS: Ich habe alle Fraktionsdateien nochmal gelöscht. Jetzt hat es neue erstellt und da steht gar nichts innen...
-
Klappt trotzdem nicht steht immer noch Leader 0
-
Ich habe es eingetragen:
ocmd:makeleader(playerid,params[])
{
new pID,Fraktion,Fraktionsdatei[64];
if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
if(PlayerInfo[playerid][pAdminlevel] <= 1337)return SendClientMessage(playerid,Grau,"Du bist nicht befugt, diesen Befehl zu nutzen!");
if(sscanf(params,"ui",pID,Fraktion))
{
SendClientMessage(playerid,Gelb,"Benutze: /makeleader [playerid/PartOfName] [Fraktion]");
SendClientMessage(playerid,Gelb,"1 = LSPD, 2 = FBI, 3 = Army, 4 = Medic, 5 = News, 6 = T-GmbH,");
SendClientMessage(playerid,Gelb,"7 = Abfallwirtschaft, 8 = Hitman, 9 = Grove Street, 10 = Al-Qaida,");
SendClientMessage(playerid,Gelb,"11 = Ballas, 12 = Fahrschule, 13 = La Cosa Nostra, 14 = Taxi,");
SendClientMessage(playerid,Gelb,"15 = Yakuza, 16 = Staatsverwaltung, 17 = SAPD, 18 = Aztecas,");
SendClientMessage(playerid,Gelb,"19 = Rifas, 20 = RS, 21 = Cripz, 22 = Russische Mafia, 23 = SFBC,");
SendClientMessage(playerid,Gelb,"24 = Vagos, 25 = Wheelmen");
return 1;
}
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Grau,"Der angegebene Spieler ist nicht Online!");
if(frakGeschlossen[Fraktion] == true) return SendClientMessage(playerid,Grau,"Die Fraktion ist geschlossen!");
if(Fraktion < 0 || Fraktion > 26) return SendClientMessage(playerid,Grau,"Bitte nimm eine Fraktion zwischen 0 und 5!");
PlayerInfo[pID][pLeader] = Fraktion;
PlayerInfo[pID][pFraktion] = Fraktion;
PlayerInfo[pID][pMember] = Fraktion;
PlayerInfo[pID][pRank] = 7;
dini_Set(Fraktionsdatei, "LeaderName", SpielerName(pID));
SpawnPlayer(pID);
if(Fraktion == 0)
{
Leaders--;
}
else if(Fraktion >= 1)
{
Leaders++;
}
new string[128],name[MAX_PLAYER_NAME];
GetPlayerName(pID,name,sizeof(name));
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"Du hast %s Leader der Fraktion %s gemacht.",name,LeaderRank(pID));
SendClientMessage(playerid,Blau,string);
format(string,sizeof(string),"%s hat dich Leader der Fraktion %s gemacht.",name,LeaderRank(pID));
SendClientMessage(pID,Blau,string);
return 1;
} -
Habs gemacht steht aber immer in der Datei Leader 0 statt Leader TheTutoFreak