Beiträge von KING136

    das



    Create3DTextLabel("Test",HTML_WHITE,1481.0137,-1772.2944,18.7958,7.0,0,0);


    wird zu



    Create3DTextLabel("Test",HTML_WHITE,1481.0137,-1772.2944,18.7958,7.0,0);


    //Erklärung: Create3DTextLabel erstellt ein Textlabel, Der "Text", was darin stehen soll, die Farbe vom Text die der Text haben soll. Float:x,y,z die Koords wo das TextLabel stehen soll. 7.0 wann der angezeigt werden soll. Aslo die Reichweite. die 0 ist die VirtualWorld.


    MFG

    Hab jetzt mal so ausprobiert.



    new bool:PflanzeNaehe, ABP;
    if(GetPlayerVirtualWorld(playerid) >= 1)return SendClientMessage(playerid,ROT,"Du musst draußen sein.");
    if(GetPlayerInterior(playerid) != 0)return SendClientMessage(playerid,ROT,"Du musst draussen sein.");
    for(; ABP<MAX_PFLANZEN; ABP++)
    {
    if(!IsPlayerInRangeOfPoint(playerid,5.0,abInfo[playerid][ABP][Pflanzex],abInfo[playerid][ABP][Pflanzey],abInfo[playerid][ABP][Pflanzez]))
    {
    PflanzeNaehe = false;
    break;
    }
    else
    {
    PflanzeNaehe = true;
    }
    return 1;
    }
    if(PflanzeNaehe)return SendClientMessage(playerid,ROT,"In deiner Nähe ist bereits eine Hanfpflanze angebaut.");
    if(PflanzeNaehe == false)
    {
    //Was dann passieren soll
    }
    return 1;
    }


    Bei dem ersten klappt es, aber dort wird keine Meldung angezeigt. Wenn ich dann das zweite erstelle klappt es nemmer.


    MFG

    Klappt noch nicht hier mal mein code:



    if(GetPlayerVirtualWorld(playerid) >= 1)return SendClientMessage(playerid,ROT,"Du musst draußen sein.");
    {
    if(GetPlayerInterior(playerid) != 0)return SendClientMessage(playerid,ROT,"Du musst draussen sein.");
    {
    for(new ABP = 0; ABP<MAX_PFLANZEN; ABP++)
    {
    if(IsPlayerInRangeOfPoint(playerid,5.0,abInfo[playerid][ABP][Pflanzex],abInfo[playerid][ABP][Pflanzey],abInfo[playerid][ABP][Pflanzez]))
    {
    PflanzeNaehe[playerid] = true;
    break;
    }
    else
    {
    }
    }
    if(PflanzeNaehe[playerid] == true)return SendClientMessage(playerid,ROT,"In deiner Nähe ist bereits eine Hanfpflanze angebaut.");
    }
    }
    return 1;

    Also ich mache ein System grad.


    Jetzt habe ich einen Command gemacht, der mit einer for schleife arbeitet, damit man schauen kann ob der Spieler in der Nähe von einem Punkt ist.


    Beispiel:

    for(new ABP = 0; ABP<MAX_POINT; ABP++)
    {
    if(IsPlayerInRangeOfPoint(playerid,10,abInfo[playerid][ABP][Px],abInfo[playerid][ABP][Py],abInfo[playerid][ABP][Pz]))
    {
    //Jetzt soll eine Fehlermeldung kommen, dass er in der Nähe ist bereits
    }
    }
    return 1;


    //Edit: Kann ich jetzt wo die Fehlermeldung kommen soll einfach return reinschreiben? also return SendClientMessage?


    MFG

    Nochmal ausführlich:


    Also ich bin dabei ein System zu machen mit enum.
    Er geht bei einem Command mit einer Schleife alle sachen halt durchgeht also die MAX_PUNKTE
    Jetzt ist meine Frage wie ich das mache, wenn er in einem Punkt ist das dann eine Fehlermeldung kommt mit, in deiner Nähe ist bereits ein Punkt.
    Weil ein return Beendet ja die Schleife, deswegen Frage ich.


    MFG

    Hallo zusammen,
    und zwar wollte ich Fragen, wie man es schafft, dass wenn man in der Nähe ist kommt. In deiner Nähe ist bereits..


    Bitte ein bespiel Posten, also nur mit der Abfrage und der Nachricht, kein Command.


    MFG

    warum machst du den string bei gamemodeinit? Mach doch einen timer und setzte dann immer das Geld auf den aktuellen Stand.


    //Edit: Das ist ein stock, mach doch einen callback also public.


    MFG


    //Edit2:



    new Text:Textdraw1[MAX_PLAYERS];
    forward UpdateCash();
    public OnGameModeInit() //Textdraw wird erstellt.
    {
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    Textdraw1[i] = TextDrawCreate(477.000000, 78.000000, "VIP Geld: ");
    TextDrawBackgroundColor(Textdraw1[i], 255);
    TextDrawFont(Textdraw1[i], 1);
    TextDrawLetterSize(Textdraw1[i], 0.529999, 2.299999);
    TextDrawColor(Textdraw1[i], 16711935);
    TextDrawSetOutline(Textdraw1[i], 0);
    TextDrawSetProportional(Textdraw1[i], 1);
    TextDrawSetShadow(Textdraw1[i], 1);
    TextDrawUseBox(Textdraw1[i], 1);
    TextDrawBoxColor(Textdraw1[i], 255);
    TextDrawTextSize(Textdraw1[i], 625.000000, 0.000000);
    }
    }


    public OnPlayerConnect(playerid)
    {
    TextDrawShowForPlayer(playerid, Textdraw1[playerid]);
    }


    Und der Timer



    public UpdateCash()
    {
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new string[64];
    format(string, 64, "VIP Geld: %d", Spieler[i][Geld]);
    TextDrawSetString(Textdraw1[i], string);
    }
    }
    return 1;
    }

    Versuchs mal so