Hallo,
Ich habe folgendes Problem.
Ich habe einen Server geschrieben der den CMD
/DM % /Ende hat. Wenn man auf dem Server Connectet ist unten
eine Leiste in der Steht Wieviele Leute gerade in DM Sind (DM:0 DM2:0 /dm3: 0 /dm4: 0)
Wenn man ins /DM Geht wird die Leiste die anzeigt wieviele in DM sind gelöscht und durch eine
Anzeige in der Steht wieviele Kills und Tode man hat ersetzt. Soweit funktioniert es auch.
Wenn man das DM Dann wieder verlässt soll wieder die Anzeige kommen die Anzeigt wieviele Leute im DM sind.
Hier ein /DM Befehl.
if(strcmp(cmdtext, "/DM2", true) == 0)
{
if(InDMzone[playerid])
return SendClientMessage(playerid, Rot, " Du bist in einem DM! Benutze /Ende oder /Exit um es zu verlassen! ");
else
{
Textdraw0 = TextDrawCreate(3.000000,344.000000,">>Dm Zone<<");
TextDrawAlignment(Textdraw0,0);
TextDrawBackgroundColor(Textdraw0,0x0000ff33);
TextDrawFont(Textdraw0,3);
TextDrawColor(Textdraw0,0xffffffff);
TextDrawSetProportional(Textdraw0,1);
TextDrawShowForPlayer(playerid, Text:Textdraw0);
InDMzone[playerid] = 1;
InDMzone[playerid] = 2;
DMzone2(playerid);
SendClientMessage(playerid, Gelb, "Du bist zum /Dm2 gegangen.");
new string[128];
format(string, 256, "%s hat das /DM2 betreten. ", Player(playerid));
SendClientMessageToAll(Gelb,string);
DM[playerid] = 2;
DM2Player ++;
DMLeisteUpdate();
KillsLeisteUpdate(playerid);
}
return 1;
}
Ein /Ende Befehl
if (strcmp("/Ende", cmdtext, true) == 0)
{
if(!InDMzone[playerid])
return SendClientMessage(playerid, Rot, " Das geht nur im DM!");
if(!InDMzone[playerid])
return SendClientMessage(playerid, Rot, " Das geht nur im DM!");
TextDrawDestroy(KillsLeiste1[playerid]);
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid, -1359.9694,-87.0047,14.1484);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerHealth(playerid, 0);
InStuntzone[playerid] = 0;
InDMzone[playerid] = 0;
DMLeisteUpdate();
TextDrawDestroy(Textdraw0);
TextDrawShowForPlayer(playerid,DMLeiste);
GivePlayerWeapon(playerid, 0, 0);
return 1;
}
Meine Public´s
public DMLeisteUpdate()
{
new count[4];
for(new playerid=0; playerid<MAX_PLAYERS; playerid++)
{
if(InDMzone[playerid] == 1) count[0]=count[0]+1;
else if(InDMzone[playerid] == 2) count[1]=count[1]+1;
else if(InDMzone[playerid] == 3) count[2]=count[2]+1;
else if(InDMzone[playerid] == 4) count[3]=count[3]+1;
}
new DMLeisteUpdates[256];
format(DMLeisteUpdates, sizeof(DMLeisteUpdates), "Homepage: www.Flashs-Server.tk /dm: %d /dm2: %d /dm3: %d /dm4: %d", count[0],count[1],count[2],count[3]);
TextDrawSetString(DMLeiste, DMLeisteUpdates);
for(new playerid=0; playerid<MAX_PLAYERS; playerid++)TextDrawShowForPlayer(playerid,DMLeiste);
return 1;
}
public KillsLeisteUpdate(playerid)
{
new KillLeisteUpdates[128];
format(KillLeisteUpdates, sizeof(KillLeisteUpdates), "Homepage: www.Flashs-Server.tk Kills: %d Tode: %d", Kills[playerid],Deads[playerid]);
TextDrawSetString(KillsLeiste1[playerid], KillLeisteUpdates);
if(InDMzone[playerid])TextDrawShowForPlayer(playerid,KillsLeiste1[playerid]);
else TextDrawHideForPlayer(playerid,KillsLeiste1[playerid]);
return 1;
}
Bedanke mich jetzt schonmal für Hilfe.
lgPascal