Beiträge von Jeffry

    War mal so frei, und habe das aus Jeffry's Beitrag entnommen ;)


    Dann solltest du es aber schon passend zitieren.


    So muss es sein:
    PlayerTextDrawShow(playerid,Textdraw2[playerid]);
    PlayerTextDrawShow(playerid,Textdraw3[playerid]);
    PlayerTextDrawShow(playerid,Textdraw4[playerid]);
    PlayerTextDrawShow(playerid,Textdraw5[playerid]);

    Bei allem Respekt: Dann solltest du dir wirklich überlegen ob du einen Server aufmachen willst, wenn du nicht mal ein Texdraw erstellen kannst.


    Hier:


    new Text:InfoText;
    InfoText = TextDrawCreate( 320.0000, 200.0000, "Verbindung wird hergestellt.~n~Bitte warten...");
    TextDrawColor(InfoText, 0xFFFFFFFF);
    TextDrawLetterSize(InfoText, 0.3000, 1.0000);
    TextDrawAlignment(InfoText, 2);
    TextDrawSetShadow(InfoText, 0);


    //OnPlayerConnect:
    TextDrawShowForPlayer(playerid, InfoText);



    new Text:BlackScreen;
    BlackScreen = TextDrawCreate( 0.0000, 0.0000, "~n~");
    TextDrawColor(BlackScreen, 0x000000FF);
    TextDrawLetterSize(BlackScreen, 1.0000, 53.0000);
    TextDrawUseBox(BlackScreen, 1);
    TextDrawBoxColor(BlackScreen, 0x000000FF);
    TextDrawFont(BlackScreen, 0);
    TextDrawSetShadow(BlackScreen, 0);
    TextDrawSetProportional(BlackScreen, 0);


    //OnPlayerConnect:
    TextDrawShowForPlayer(playerid, BlackScreen);



    Mit meinem eigenen Editor in 2 Minuten erstellt, wenn überhaupt.

    new Textdraw5[MAX_PLAYERS];
    zu:
    new PlayerText:Textdraw5[MAX_PLAYERS];
    (Für alle Nummern natürlich, 2/3/4/5) => EDIT: Und es ist ein großes T ... PlayerText



    Für den Rest: Code (mit Zeilenangabe) + Fehlermeldungen posten.

    1.) Du hast zwei Pickups an der selben Stelle, bei allen dreien.


    2.)

    Zitat

    [21:02:55] playerid:0: i=2 / 2==2 / 3==3


    Hier muss es funktioniert haben.


    3.) Du bist nicht am richtigen Pickup bei den anderen beiden. Ich kenne deinen Aufbau nicht, aber anhand der Zahlen sehe ich, dass du am falschen Pickup bist. (Koordinaten vertauscht?)
    Nach

    Zitat

    [21:03:03] [cmd] [CrashGamesDE]: /setfrak 0 1


    musst du zu dem Pickup zu dem du als letztes in dem Log gegangen bist.


    Und nach

    Zitat

    [21:03:14] [cmd] [CrashGamesDE]: /setfrak 0 2


    zu dem in der Mitte.


    Dann geht es.

    new string[20];
    format(string, sizeof(string), "Kills: %d", Spieler[playerid][Kills]);
    TextDrawSetString(KillsTD[playerid], string);


    Das TextDraw muss natürlich mit "KillsTD[playerid] = ..." erstellt werden.

    Würde aber dank Polarcoordinaten nicht funktionieren (hatte mir Kaliber vorn paar Jahren mal gesagt)


    Das funktioniert nur nicht, wenn du die Drehung beachten willst. Wenn du dir aber den ersten Post anschaust, dann siehst du, dass diese nicht beachtet wird.


    CreateObject(19491, px, py, pz+4, 0.00000, 0.00000, 0.00000); //Die Koordinaten unten abziehen:
    CreateObject(19492, px+129.56802-129.56030, py+1723.08643-1723.13037, pz+21.44730-21.44730+4, 0.00000, 0.00000, 0.00000);
    CreateObject(3260, px+136.00462-129.56030, py+1725.62195-1723.13037, pz+18.26360-21.44730+4, 0.00000, 90.00000, 90.00000);
    CreateObject(3260, px+136.01131-129.56030, py+1723.18750-1723.13037, pz+18.26360-21.44730+4, 0.00000, 90.00000, 90.00000);
    CreateObject(3260, px+136.00462-129.56030, py+1725.62195-1723.13037, pz+20.96095-21.44730+4, 0.00000, 90.00000, 90.00000);
    //ab hier selbst weiter machen...
    CreateObject(3260, 136.00084, 1721.78296, 20.96095, 0.00000, 90.00000, 90.00000);
    CreateObject(3260, 123.53154, 1722.59692, 20.96100, 0.00000, 90.00000, 270.00000);
    CreateObject(3260, 123.50445, 1726.76599, 20.96100, 0.00000, 90.00000, 270.00000);
    CreateObject(3260, 123.53154, 1722.59692, 18.28495, 0.00000, 90.00000, 270.00000);
    CreateObject(1491, 126.35200, 1726.66760, 16.63670, 0.00000, 0.00000, 270.00000);
    CreateObject(1491, 135.97960, 1722.02246, 16.73670, 0.00000, 0.00000, 270.00000);
    CreateObject(1491, 129.86740, 1719.71375, 19.31300, 0.00000, 0.00000, 270.00000);
    CreateObject(2180, 128.50650, 1720.73914, 19.51990, 0.00000, 0.00000, 0.00000);
    CreateObject(1796, 125.36270, 1724.45898, 19.49990, 0.00000, 0.00000, 0.00000);
    CreateObject(1715, 129.17783, 1721.63660, 19.51980, 0.00000, 0.00000, 0.00000);
    CreateObject(2894, 129.09094, 1720.73242, 20.31950, 0.00000, 0.00000, 180.00000);
    CreateObject(2708, 127.51162, 1720.57312, 19.52100, 0.00000, 0.00000, 180.00000);
    CreateObject(1742, 127.32957, 1728.07837, 19.52040, 0.00000, 0.00000, 0.00000);
    CreateObject(1433, 135.23164, 1723.65991, 19.72764, 0.00000, 0.00000, 0.00000);
    CreateObject(1715, 135.32874, 1724.82654, 19.52068, 0.00000, 0.00000, 0.00000);
    CreateObject(1715, 135.36627, 1722.42798, 19.52070, 0.00000, 0.00000, 180.00000);
    CreateObject(3120, 127.43720, 1720.77820, 19.72050, 0.00000, 0.00000, 0.00000);
    CreateObject(3497, 131.95700, 1718.45898, 21.57613, 0.00000, 0.00000, 0.00000);
    CreateObject(3383, 131.66316, 1719.25476, 16.63670, 0.00000, 0.00000, 0.00000);
    CreateObject(2708, 127.51160, 1720.57312, 16.60390, 0.00000, 0.00000, 180.00000);
    CreateObject(2891, 132.58389, 1719.28540, 17.65080, 0.00000, 0.00000, 0.00000);
    CreateObject(1279, 130.66920, 1719.39136, 17.65100, 0.00000, 0.00000, 0.00000);
    CreateObject(1252, 131.66341, 1719.73438, 17.77100, 0.00000, 0.00000, 0.00000);
    CreateObject(3057, 124.00320, 1721.12073, 16.95760, 0.00000, 0.00000, 0.00000);
    CreateObject(3057, 124.81224, 1721.10596, 16.95760, 0.00000, 0.00000, 0.00000);
    CreateObject(3057, 124.01508, 1722.17017, 16.95760, 0.00000, 0.00000, 0.00000);
    CreateObject(3057, 124.80905, 1722.16809, 16.95760, 0.00000, 0.00000, 0.00000);


    Was habe ich gemacht?
    CreateObject(19492, px+129.56802-129.56030, py+1723.08643-1723.13037, pz+21.44730-21.44730+4, 0.00000, 0.00000, 0.00000);


    Jeweils das fett geschriebene hinzugefügt. Das musst du in jeder Zeile machen. Du kannst es auch selbst ausrechnen, aber muss nicht sein.

    Du solltest erst mal die Map machen. Danach kannst du die Map-Positionen berechnen.


    => Erstes Objekt nehmen, und dessen Position von allen anderen Objekten abziehen, dann hast du die Offsets von der Spielerposition die du brauchst.
    Falls du die Map schon hast aber nicht weißt wie das geht, poste die Map, dann zeige ich es dir.

    SetTimerEx("PickupRespawn", 60000, false, "i", i);


    Zu
    SetTimerEx("PickupRespawn", 60000, false, "i", BF_WEAPON[i]);



    Außerdem muss die erneute Erstellung so aussehen:
    if(pickupid == BF_WEAPON[0]) BF_WEAPON[0]=Create...
    weil sich die ID ja ändern kann wenn du es neu erstellst. Natürlich für alle Nummern, nicht nur 0.

    Mach das so, dann schalte den MySQL Debug/Log Modus an (wie du das machst siehst du hier: Tipps: Scripting-Probleme richtig erklären (1.4)).
    Poste anschließend den Code mit dem du dich einloggst und den MySQL Log dazu.


    Machen.



    Wenn es auf der falschen Datenbank aktualisiert wird, stimmen die Login Daten zudem nicht.

    Das ist alles? Ist aber wenig.
    Nutzt du auch das richtige Plugin? Nicht dass du da ein falsches Plugin benutzt. Welches benutzt du denn?


    Passiert das nur bei NPCs?
    Funktionieren andere Teile des Codes mit MySQL oder stürzen alle ab?

    Wenn ich beides verbinden möchte auf eine Datenbank speichert er zwar die Accounts aber er kann sich nicht mit den gespeicherten accounts in das cp einloggen.


    Mach das so, dann schalte den MySQL Debug/Log Modus an (wie du das machst siehst du hier: Tipps: Scripting-Probleme richtig erklären (1.4)).
    Poste anschließend den Code mit dem du dich einloggst und den MySQL Log dazu.


    Wenn es speichert aber nicht lädt ist das sicher nur ein kleiner Fehler.

    if (strcmp("/tarn", cmdtext, true) == 0)
    {
    if (PlayerInfo[playerid][pMember] == 8 || PlayerInfo[playerid][pLeader] == 8)
    {
    if(TarnDuty[playerid] == 0)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    ShowPlayerNameTagForPlayer(i,playerid, false);
    SetPlayerMarkerForPlayer( i, playerid, ( GetPlayerColor( playerid ) & 0xFFFFFF00 ) );
    }
    SendClientMessage(playerid,COLOR_GRAD2,"Das Tarnen kostet dich 25000$");
    SendClientMessage(playerid,COLOR_GRAD2,"Du bist nun nicht mehr auf der Karte zu sehen.");
    GivePlayerMoney(playerid, -25000);
    BizzInfo[6][bTill] += 25000;
    TarnDuty[playerid] = 1;
    }
    else if(TarnDuty[playerid] == 1)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    ShowPlayerNameTagForPlayer(i, playerid, true);
    SetPlayerMarkerForPlayer( i, playerid, GetPlayerColor( playerid ) );
    }
    SendClientMessage(playerid,COLOR_GRAD2,"Du bist nun wieder auf der Karte zu sehen.");
    TarnDuty[playerid] = 0;
    }
    }
    else return SendClientMessage(playerid,COLOR_RED,"*Du darfst diesen Befehl nicht nutzen*");
    return 1;
    }


    So sollte es klappen.

    if (strcmp("/Open", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 20.0, -75.80, -352.76, 3.07))
    {
    new p_name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, p_name, MAX_PLAYER_NAME);
    if(GetPlayerSkin(playerid) != DIE_SKIN_ID && strcmp(p_name, "DEIN_NAME")) return SendClientMessage(playerid, 0xFF0000FF, "Nicht den richtigen skin, oder nicht Besitzer!");
    MoveObject(tGate,-75.80, -352.76, -2.74, 2.0);
    SendClientMessage(playerid, 0x33AA33AA, "Das Admin Tor geht in 5 Sekunden wider zu");
    SetTimer("GateClosetGate",5000,0);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, 0xAA3333AA, "Du bist nicht in der nähe vom Admin Tor");
    return 1;
    }
    }


    DIE_SKIN_ID und DEIN_NAME ersetzen.