Hallo Brotfische,
ich bin dabei mir ein kleines Adminsystem per OnPlayerClickPlayer, dabei sind einige Probleme aufgetreten die ich mir nicht erklären kann.
Inspiration kommt vom TVPikachu da er solch ein Tutorial gepostet hat.
So mein Problem liegt jetzt im OnDialogResponse.
if(dialogid == DIALOG_ASYSTEM)
{
if(response == 1)
{
ShowPlayerDialog(playerid, DIALOG_ASYSTEM2,DIALOG_STYLE_LIST, "DIALOG_ASYSTEM2","Teleport #1\nTeleport #2\nPrivate Nahricht\nKick\nBan","Ausführen","Schließen");
}
if(response == 0)
{
return 1;
}
if(dialogid == DIALOG_ASYSTEM2)
{
if(response == 1)
{
if(listitem == 0)//Teleport zu Clickid
{
new string [128];
new Float:x,Float:y,Float:z;
new namee[MAX_PLAYER_NAME];
GetPlayerName(clickid[playerid], namee, sizeof(namee));
GetPlayerPos(clickid[playerid],x,y,z);
SetPlayerPos(playerid,x,y,z);
format(string,sizeof string,"** Du hast dich zum Spieler: %s teleportiert.",namee);
SendClientMessage(clickid[playerid], C_**, string);
return 1;
}
if(listitem == 1)//Teleport Clickid zu playerid
{
new string [128];
new Float:x,Float:y,Float:z;
new namee[MAX_PLAYER_NAME];
GetPlayerName(clickid[playerid], namee, sizeof(namee));
GetPlayerPos(playerid,x,y,z);
SetPlayerPos(clickid[playerid],x,y,z);
format(string,sizeof string,"** Du wurdes von %s teleportiert.",namee);
SendClientMessage(playerid, C_MELDUNG, string);
return 1;
}
if(listitem == 2)// Private Nahricht (ADMIN MESSAGE)
{
}
if(listitem == 3)// Kick
{
new string [128];
new namee[MAX_PLAYER_NAME];
GetPlayerName(clickid[playerid], namee, sizeof(namee));
format(string,sizeof string,"** Du hast erfolgreich %s vom Server gekickt.",namee);
SendClientMessage(clickid[playerid], C_**, string);
Kick(clickid[playerid]);
return 1;
}
if(listitem == 4)//Ban
{
new string [128];
new namee[MAX_PLAYER_NAME];
GetPlayerName(clickid[playerid], namee, sizeof(namee));
format(string,sizeof string,"** Du hast erfolgreich %s vom Server gebannt.",namee);
SendClientMessage(clickid[playerid], C_**, string);
Ban(clickid[playerid]);
return 1;
}
}
if(response == 0)
{
}
}
return 1;
if(listitem == 3)// Kick
{
new string [128];
new namee[MAX_PLAYER_NAME];
GetPlayerName(clickid[playerid], namee, sizeof(namee));
format(string,sizeof string,"** Du hast erfolgreich %s vom Server gekickt.",namee);
SendClientMessage(clickid[playerid], C_**, string);
Kick(clickid[playerid]);
return 1;
}
if(listitem == 4)//Ban
{
new string [128];
new namee[MAX_PLAYER_NAME];
GetPlayerName(clickid[playerid], namee, sizeof(namee));
format(string,sizeof string,"** Du hast erfolgreich %s vom Server gebannt.",namee);
SendClientMessage(clickid[playerid], C_**, string);
Ban(clickid[playerid]);
return 1;
}
}
if(response == 0)
{
}
}
return 1;
Dazu hab ich noch eine Frage.
Undzwar ich möchte gerne im Titel des Dialoges "Spieler: name von clickedplayerid" ich habe da schon einiges
versucht aber es hat nichts funktioniert.
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
clickid[playerid] = clickedplayerid;
ShowPlayerDialog(playerid, DIALOG_ASYSTEM, DIALOG_STYLE_LIST, "Spieler: ","Administratives","Weiter","Schließen");
return 1;
}
Desktop\pawn\gamemodes\morshRP.pwn(283) : warning 217: loose indentation
Desktop\pawn\gamemodes\morshRP.pwn(342) : error 030: compound statement not closed at the end of file (started at line 273)
Bin für jede Hilfe dankbar