Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
Hast du es global so deklariert?
new PlayerText3D:WantedLabel[MAX_PLAYERS][MAX_PLAYERS];
Eine Warnung sollte dann nicht kommen.
Machs mal so, je nach dem, für wem das Textlabel gelöscht werden soll.
DeletePlayer3DTextLabel(i,WantedLabel[i][targetid]);
Hallo, ich habe mir ein kleines Wantedsystem geschrieben, unter OnPlayerDeath
if(IsPlayerCop(killerid) && GetPlayerWantedLevel(playerid) >= 1)) { new string[128]; format(string,sizeof(string),">>LV-Polizeibeamter %s hat den Verbrecher %s getötet.<<",getPlayerName(killerid),getPlayerName(playerid)); SendClientMessageToAll(Rot,string); //SetPlayerPos(playerid,x,y,z); return 1; }
Es kommen folgende Errors:
C:\Users\******\Desktop\Programmieren\Selfmade Server\gamemodes\Selfmade.pwn(819) : error 029: invalid expression, assumed zero
C:\Users\******\Desktop\Programmieren\Selfmade Server\gamemodes\Selfmade.pwn(835) : warning 225: unreachable code
Kann bitte jemand helfen?
Kannst du das bitte richtig posten, und nicht alles in einer Zeile? Zur Not nutze http://www.pastebin.com.
Füge mal vor:
WantedLabel[i][targetid] = ...
einen print ein, zum prüfen, ob das Label überhaupt erstellt wird:
printf("Erstelle Label an %d für ID %d", targetid, i);
Was wird dann geprintet?
Wenn gar nichts geprintet wird, poste bitte deinen Code.
Kannst du das bitte richtig posten, und nicht alles in einer Zeile? Zur Not nutze http://www.pastebin.com.
done.
Schreibe es so:
public OnPlayerDeath(playerid, killerid, reason)
{
if(IsPlayerCop(killerid) && GetPlayerWantedLevel(playerid) >= 1)
{
new string[128];
format(string,sizeof(string),">>LV-Polizeibeamter %s hat den Verbrecher %s getötet.<<",getPlayerName(killerid),getPlayerName(playerid));
SendClientMessageToAll(Rot,string);
//SetPlayerPos(playerid,x,y,z);
return 1;
}
return 1;
}
Apokrate: Für ID 0 und ID 3 wird das Label erstellt, der Code des Labels ist so auch richtig. Ändere das COLOR_YELLOW mal zu 0xFFFFFFFF. Wird es dann angezeigt?
Hi, Irgendwie Funktioniert das schreiben in einer anderen zeile nicht.
Vorher ging es aber nun habe ich auch keine ahung mehr, ich sehe dort keine Fehler.
Der schreibt mir alles in 1 Zeile
new string[200];
pInfo[i][pRespekt]++;
format(string,200,"\
{007AFF}==========> Zahltag <==========\n\
{007AFF}Geld: {FEFEFE}5.000$\n\
{007AFF}Respektpunkte: {FEFEFE}%i/%i",
pInfo[i][pRespekt],GetPlayerScore(i)*8);
Gibst du das mit einem Dialog aus, oder mit SendClientMessage?
Mit SendClientMessage geht das nämlich nicht.
Mit SendClientMessage.
Aso, wohl etwas fail
Danke dir.
Warum geht mein Stats System nicht?
Er zeigt keine Warnings o.ä.
ocmd:stats(playerid)
{
new string[128];
format(string, sizeof(string),"Name: %s\nLevel: %d\nGeld: %d\nKills: %d\nTode: %d\n",NamePlayer(playerid), SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode]);
ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX, "Stats",string,"Ok","");
return 1;
}
Wie kann ich in meinem Ban Befehl den Grund Speichern?
So wie ich es habe bekomme ich erros und warnings etc.
Hier der Code, ein teil vom befehl:
format(string,sizeof(string),"%s wurde von Admin %s dauerhaft aus dem Server gebannt. Grund: %s", name, namegeber,kickgrund);
SendClientMessageToAll(rot,string);
PlayerInfo[SelectedOne[playerid]][pBanned] = 1;
PlayerInfo[SelectedOne[playerid]][pBreason] = kickgrund;
@FerienFreak: Was heißt es geht nicht? Was passiert, wenn du den Befehl eingibst?
@Waldläufer: Poste bitte den ganzen Befehl.
@Waldläufer: Poste bitte den ganzen Befehl.
Ist von einem Dialog Style Input der Callback.
Funktioniert das überhaupt so mit der Banngrund Anzeige?
if(dialogid == DIALOG_ABANNED)
{
if(response == 0)
{
SendClientMessage(playerid,rot,"Du hast den Vorgang abgebrochen!");
}
if(response == 1)
{
new string[164];
new kickgrund[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(SelectedOne[playerid],name,sizeof(name));
new namegeber[MAX_PLAYER_NAME];
GetPlayerName(GeberName[playerid],namegeber,sizeof(namegeber));
format(kickgrund,sizeof kickgrund,"%s",strval(inputtext));
//strmid(kickgrund, inputtext, 0, strlen(inputtext), 255);
format(string,sizeof(string),"%s wurde von Admin %s dauerhaft aus dem Server gebannt. Grund: %s", name, namegeber,kickgrund);
SendClientMessageToAll(rot,string);
PlayerInfo[SelectedOne[playerid]][pBanned] = 1;
SetTimerEx("banned",500, false, "i", playerid);
}
}