SetPlayerMarkerForPlayer mit Variable

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
  • Hi,



    ich möchte das nur der Spieler 1, Spieler 2 auf der Karte Blau sieht:


    public Einsatz(playerid)
    {
    if(AccountInfo[playerid][Hjob] == 1)
    {
    new giveplayerid[5];
    new string2[5];
    format(string2, sizeof(string2), "9999");
    if (strcmp(string2, PoliceEinsatzName1, true) == 0)
    {
    return 1;
    }
    else
    {
    format(giveplayerid, sizeof(giveplayerid), "%d", PoliceEinsatzName1);
    SetPlayerMarkerForPlayer(playerid , giveplayerid, 0xFF0000FF );
    }
    }
    return 1;
    }


    public Einsatz ist ein Timer und in der Variable "PoliceEinsatzName1" steht die playerid von dem Spieler, der den Notruf gegeben hat.
    Bei dem Code kommt dann immer die Fehlermeldung 'error 035: argument type mismatch (argument 2)'


    Die "fehlerhafte" Zeile : SetPlayerMarkerForPlayer(playerid , giveplayerid, 0xFF0000FF );

    Wie behebe ich das Problem?


    Gruß
    samu



    EDIT: Hat niemand eine Idee? :(

    :rolleyes:

    2 Mal editiert, zuletzt von samu ()

  • also es liegt auf jedenfall an giveplayerid!
    geht die Variable denn wenn du bei new giveplayerid[5]; die [5] wegmachst?


    edit:
    versuch mal
    public Einsatz(playerid)
    {
    if(AccountInfo[playerid][Hjob] == 1)
    {
    new giveplayerid[5];
    new giveplayerid1;
    new string2[5];
    format(string2, sizeof(string2), "9999");
    if (strcmp(string2, PoliceEinsatzName1, true) == 0)
    {
    return 1;
    }
    else
    {
    format(giveplayerid, sizeof(giveplayerid), "%d", PoliceEinsatzName1);
    SetPlayerMarkerForPlayer(playerid , giveplayerid1, 0xFF0000FF );
    }
    }
    return 1;
    }

  • das mit giveplayerid1 funktioniert, aber ich brauch ja die Variable, wo vorher schon die Playerid des Spielers der den Notruf gegeben hat drin steht (funktioniert auch ^^) das das mit dem Show dann funktioniert ...

  • So, habe das ganz jetzt mal umgeschrieben:




    Zuerst die PoliceEinsatzName1 Variable, wo später die Playerid des Notrufgebers reinkommt: (ganz oben)




    new PoliceEinsatzName1;




    Dann bei OnGameModeInit() wird in die Variable 9999 reingeschrieben, bedeutet sozusagen "frei":




    PoliceEinsatzName1 = 9999;




    Dann wird in einem Timer die Playerid reingeschrieben:




    public PhonePoliceTimer(playerid)
    {
    new string[30];
    new string3[5];
    //*********************************
    new pdname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pdname, sizeof(pdname));
    format(string, sizeof(string), "[Zentrale] %s benötigt die Polizei!", pdname);
    SendClientMessageToPolice(0x375FFFFF, string, 1, 1);
    SendClientMessage(playerid, LIGHTRED, "Die Polizei wurde informiert und ist auf dem Weg zu dir!");
    //*********************************
    format(string3, sizeof(string3), "%d", playerid);
    if(PoliceEinsatzName1 == 9999)
    {
    PoliceEinsatzName1 = string3
    }
    return 1;
    }




    Zuletzt wird in einem weiteren Timer der gesetzt wird sobald man im Dienst ist jede Sekunde überprüft ob "PoliceEinsatzName1" frei ist, wenn nicht


    dann sollte eben Show kommen ...




    public Einsatz(playerid)
    {
    if(AccountInfo[playerid][Hjob] == 1)
    {
    if(PoliceEinsatzName1 == 9999)
    {
    return 1;
    }
    else
    {
    SetPlayerMarkerForPlayer(playerid , PoliceEinsatzName1, 0xFF0000FF );
    }
    }
    return 1;
    }




    Einzige Fehlermeldung:


    (8237) : error 006: must be assigned to an array


    Zeile:



    PoliceEinsatzName1 = string3;




    Der gesamte Code in dem bereich:


    if(PoliceEinsatzName1 == 9999)
    {
    PoliceEinsatzName1 = string3;
    }



    //EDIT: Kleine änderung Fehlermeldung ist aber immer noch gleich.

    :rolleyes:

    2 Mal editiert, zuletzt von samu ()