Alles anzeigenIch habe einen Dialog gemacht wo man jmd, checken, kicken und bannen kann, wenn man auf ihn Clickt bei der Tab_taste
Dann muss man ja von OnPlayerClickPlayer zu On Dialog Response
Allerdings muss man bei KickPlayer ja die playerid angeben, in dem Fall clickedplayerid.
Die ist bei OnDialogResponse aber nicht definiert.
Wie definier ich die damit das funktioniert?
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==DialogClickPlayer)
{
if(response==0)
{
}
if(response==1)
{
}
if(listitem==0)
{
new stringstats[256],arang,atext[50];
arang = GetPVarInt(clickedplayerid,"Adminlevel");
if(gTeam[clickedplayerid] == TeamCops) { atext = "Cops"; }
else if(gTeam[clickedplayerid] == TeamGrove) { atext = "Grove Street"; }
else if(gTeam[clickedplayerid] == TeamZivi) { atext = "Zivilist"; }
format(stringstats,sizeof(stringstats),"[Name: %s] [ID: %i] [Level: %i] [Adminlevel: %d] [Team: %s]",SpielerName(clickedplayerid),clickedplayerid,GetPlayerScore(clickedplayerid),arang,atext);
ShowPlayerDialog(playerid,DialogCheckStats,DIALOG_STYLE_MSGBOX,"Check Stats:",stringstats,"Ok","Ok");
return 1;
//die anderen Klammern fehlen da ncoh mehr kommt
}
OnPlayerClickPlayer - Problem
- Tomsen
- Geschlossen
- Erledigt
-
-
Speicher doch bei OnPlayerClickPlayer die angeklickte ID ab und verarbeitet diese danach über den Dialog:
new aiClickedPlayer[MAX_PLAYERS]; // Bei OnPlayerConnect auf INVALID_PLAYER_ID setzen.
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
aiClickedPlayer[playerid] = clickedplayerid;
// Dialog 'DialogClickPlayer' öffnen ?
return 1;
}
Jetzt könntest du bei OnDialogResponse mit der Variable arbeiten und wüsstest,welcher Spieler zuvor angeklickt wurde. -
Wie meinst du das mit dem "bei OnPlayerConnect" auf INVALID_PLAYER_ID setzen?
-
er meint das so
aiClickedPlayer[playerid] = INVALID_PLAYER_ID;
das muss halt bei OnPlayerConnect stehen -
Ah okay. Das die nicht nur für den einen Public gilt oder was bedeutet das?
-
Nein das bedeutet, das der variable ein bestimmer Wert zugewiesen wirt,
welcher solange gilt, bis er wieder geändert wird. -
Okay.
Es kommen aber die Errors:
D:\Spiele\Rockstar Games\San Andreas\Selfmade 0.3eRC7\gamemodes\dmselfmade.pwn(268) : error 017: undefined symbol "aclickedplayerid"
D:\Spiele\Rockstar Games\San Andreas\Selfmade 0.3eRC7\gamemodes\dmselfmade.pwn(268) : warning 215: expression has no effect
D:\Spiele\Rockstar Games\San Andreas\Selfmade 0.3eRC7\gamemodes\dmselfmade.pwn(268) : error 001: expected token: ";", but found "]"
D:\Spiele\Rockstar Games\San Andreas\Selfmade 0.3eRC7\gamemodes\dmselfmade.pwn(268) : error 029: invalid expression, assumed zero
D:\Spiele\Rockstar Games\San Andreas\Selfmade 0.3eRC7\gamemodes\dmselfmade.pwn(268) : fatal error 107: too many error messages on one lineAlle in der Zeile wo dieses INVALID_PLAYER_ID ist
-
Du solltest das mal richtig schreiben und
new aiClickedPlayer[MAX_PLAYERS]; // Bei OnPlayerConnect auf INVALID_PLAYER_ID setzen.
sollte ganz oben stehen -
Ja, dann bin ich wieder bei dem Problem wie vorher:
D:\Spiele\Rockstar Games\San Andreas\Selfmade 0.3eRC7\gamemodes\dmselfmade.pwn(1333) : error 017: undefined symbol "aclickedplayerid"
D:\Spiele\Rockstar Games\San Andreas\Selfmade 0.3eRC7\gamemodes\dmselfmade.pwn(1334) : error 017: undefined symbol "aclickedplayerid"
D:\Spiele\Rockstar Games\San Andreas\Selfmade 0.3eRC7\gamemodes\dmselfmade.pwn(1335) : error 017: undefined symbol "aclickedplayerid"
D:\Spiele\Rockstar Games\San Andreas\Selfmade 0.3eRC7\gamemodes\dmselfmade.pwn(1336) : error 017: undefined symbol "aclickedplayerid"
D:\Spiele\Rockstar Games\San Andreas\Selfmade 0.3eRC7\gamemodes\dmselfmade.pwn(1337) : error 017: undefined symbol "aclickedplayerid"Jetzt ist wieder bei OnDialogResponse dieses clikedplayerid undefiniert (ich habs acliedplayerid genannt)
-
Du solltest das mal richtig schreiben
-
Hab alles umbenannt, geht trotzdem nicht.
-
Dann lass mir mal deine TeamViewer daten zukommen und ich mach dir das
-
breadfish.de
Hat das Thema geschlossen.