Machs mal so, je nach dem, für wem das Textlabel gelöscht werden soll.
DeletePlayer3DTextLabel(i,WantedLabel[i][targetid]);
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
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 codeKann bitte jemand helfen?
-
Kannst du das bitte richtig posten, und nicht alles in einer Zeile? Zur Not nutze http://www.pastebin.com.
-
Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
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. -
Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
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 Zeilenew 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. -
Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
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);
}
} -
Apokrate:
WantedLabel[i][targetid] = CreatePlayer3DTextLabel(i, text, COLOR_YELLOW, 0, 0, 0, 40.0, targetid, INVALID_VEHICLE_ID, 1);
So geht es, habe es getestet. Anscheinend darf man beim attachen keine Position angeben.@Waldläufer:
format(kickgrund,sizeof kickgrund,"%s",strval(inputtext));
zu:
format(kickgrund,sizeof(kickgrund),"%s",inputtext); -
Danke, doch wie kann ich den Grund nun in die Spielerakte speichern?
-
Je nach dem wie du die Stats speicherst, aber von der Variable her kannst du es so machen:
PlayerInfo[SelectedOne[playerid]][pBannedGrund] = kickgrund;
Im enum:
pBannedGrund[64],Und dann musst du es eben noch in dein SpielerSpeichern einbauen.
