Problem mit Eventmarker

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
  • Hallo Com ich hab ein Problem mit meinem Eventmarker er wird zwar gesetzt aber wenn ich den Befehl nochmals eingebe, wird er nicht gelöscht


    Hier der Code:

    if (strcmp("/marker", cmdtext, true, 10) == 0)
    {
    new Marker;
    if(Marker == 0)
    {
    new Float:x,Float:y,Float:z;
    if(!IstSpielerAdmin(playerid,1))return SendClientMessage(playerid,0xFF0019FF,"Du bist kein Admin!");
    GetPlayerPos(playerid,Float:x,Float:y,Float:z);
    SetPlayerMapIcon(playerid,32,Float:x,Float:y,Float:z,19,0,MAPICON_GLOBAL );
    new text[128], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(text,128,"%s hat den Eventmarker gesetzt.",pName);
    SendClientMessageToAll(0xFF0019FF,text);
    }
    if(Marker == 1)
    RemovePlayerMapIcon(playerid,32);
    new text[128], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(text,128,"%s hat den Eventmarker gelöscht.",pName);
    SendClientMessageToAll(0xFF0019FF,text);
    return 1;
    }

  • Habs jetzt so geht aber trotzdem nicht


    if (strcmp("/marker", cmdtext, true, 10) == 0)
    {
    new Marker;
    if(Marker == 0)
    {
    new Float:x,Float:y,Float:z;
    if(!IstSpielerAdmin(playerid,1))return SendClientMessage(playerid,0xFF0019FF,"Du bist kein Admin!");
    GetPlayerPos(playerid,Float:x,Float:y,Float:z);
    SetPlayerMapIcon(playerid,32,Float:x,Float:y,Float:z,19,0,MAPICON_GLOBAL );
    new text[128], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(text,128,"%s hat den Eventmarker gesetzt.",pName);
    SendClientMessageToAll(0xFF0019FF,text);


    }
    else if(Marker = 1)
    {
    RemovePlayerMapIcon(playerid,32);
    new text[128], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(text,128,"%s hat den Eventmarker gelöscht.",pName);
    SendClientMessageToAll(0xFF0019FF,text);
    return 1;
    }
    return 1;
    }

  • Die Deklarierung "Marker" Muss auch Gobal erstellt werden!
    Wenn du immer den Command eingibst, ist er immer auf 0 und jedesmal erstellst du nen neuen marker
    Außerdem würde ich da mit bool´s arbeiten

    All in all it's just another brick in the wall

  • Ganz oben im Script:
    new Marker[MAX_PLAYERS];
    if (strcmp("/marker", cmdtext, true, 10) == 0)
    {

    if(Marker[playerid] == 0)
    {
    new Float:x,Float:y,Float:z;
    if(!IstSpielerAdmin(playerid,1))return SendClientMessage(playerid,0xFF0019FF,"Du bist kein Admin!");
    GetPlayerPos(playerid,Float:x,Float:y,Float:z);
    SetPlayerMapIcon(playerid,32,Float:x,Float:y,Float:z,19,0,MAPICON_GLOBAL );
    new text[128], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(text,128,"%s hat den Eventmarker gesetzt.",pName);
    SendClientMessageToAll(0xFF0019FF,text);
    Marker[playerid] = 1;
    return 1;
    }
    else if(Marker[playerid] = 1)
    {
    RemovePlayerMapIcon(playerid,32);
    new text[128], pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(text,128,"%s hat den Eventmarker gelöscht.",pName);
    SendClientMessageToAll(0xFF0019FF,text);
    Marker[playerid] = 0;
    return 1;
    }
    return 1;
    }


  • Wenn "Marker" eine 1 oder 0 enthält, dann ist die Deklaration falsch.
    new Marker;


    @[SoA]TheBester: