Beiträge von Jeffry

    mysql_SetInt("ostereier", "Gefunden", 1, "Ei", "1");


    @FerienFreak: Du musst erst mal herausfinden wie viele Sitzplätze das Fahrzeug hat und den Spieler dann in einen freien Platz setzen. Ich würde dir raten, versuche es erst mal mit Sitz 1 als Test, immer.
    Mache dann gegebenenfalls einen Thread auf, da das keine kleine Frage mehr ist.

    Debugge es so:
    printf("playerid: %d | Contract: %d | killerid: %d", playerid, PlayerInfo[playerid][pContracted], killerid);
    if(PlayerInfo[playerid][pContracted] == 1 && killerid != INVALID_PLAYER_ID)
    {
    printf("member: %d | leader: %d", PlayerInfo[killerid][pMember], PlayerInfo[killerid][pLeader]);
    if(PlayerInfo[killerid][pMember] == 8 || PlayerInfo[killerid][pLeader] == 8)
    {
    printf("Ausgeführt.");
    new killer[MAX_PLAYER_NAME];
    GetPlayerName(killerid, killer, sizeof(killer));
    GivePlayerMoney(killerid, PlayerInfo[playerid][pContractSumme]);
    format(string,128,"<< Hitman %s hat den Auftrag an %s erfüllt und bekommt: $%d >>",killer,name,PlayerInfo[playerid][pContractSumme]);
    printf("string: %s", string);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    PlayerInfo[playerid][pContracted] = 0;
    PlayerInfo[playerid][pContractSumme] =0;
    }
    }


    Was steht dann im Log?

    if(PlayerInfo[playerid][pContracted] == 1 && killerid != INVALID_PLAYER_ID)
    {
    if(PlayerInfo[killerid][pMember] == 8 || PlayerInfo[killerid][pLeader] == 8)
    {
    new killer[MAX_PLAYER_NAME];
    GetPlayerName(killerid, killer, sizeof(killer));
    GivePlayerMoney(killerid, PlayerInfo[playerid][pContractSumme]);
    format(string,128,"<< Hitman %s hat den Auftrag an %s erfüllt und bekommt: $%d >>",killer,name,PlayerInfo[playerid][pContractSumme]);
    SendFamilyMessage(8, COLOR_YELLOW, string);
    PlayerInfo[playerid][pContracted] = 0;
    PlayerInfo[playerid][pContractSumme] =0;
    }
    }


    Schreibe es so mal ganz als erstes unter OnPlayerDeath hin.

    Einfach
    if(strfind(playrname,BetaServerTester[i],true) != -1)
    zu:
    if(strfind(BetaServerTester[i],playrname,true) != -1)


    Weil, du suchst den Spieler-Name im verbotenen Name, zuvor war es andersherum. Durch den Print habe ich gesehen wie rum du es haben willst, daher muss es so rum sein.

    Das Problem ist, dass du das
    mysql_pquery(dbhandle,query);
    nur einmal ganz am Ende hast, sprich es wird nur das letzte Query ausgeführt.


    Entweder du fügst diese Queries alle zu einem großen Query zusammen, oder du sendest nach jedem Format das Query ab (nicht so gut).


    Zusammenfügen:
    format(query,sizeof(query),"UPDATE accounts SET level='%i',money='%i',alevel='%i',premiumlevel='%i',haus='%i',eingemietet='%i',",
    PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pCash],PlayerInfo[playerid][pAdmin],PlayerInfo[playerid][pDonateRank],PlayerInfo[playerid][Haus],PlayerInfo[playerid][eingemietet],PlayerInfo[playerid][db_id]);


    format(query,sizeof(query),"%s hausbesitz='%s',hausschluessel='%i',upgradepoints='%i',connectedtime='%i',registered='%i',", query
    PlayerInfo[playerid][Hausbesitz],PlayerInfo[playerid][Hausschluessel],PlayerInfo[playerid][gPupgrade],PlayerInfo[playerid][pConnectTime],PlayerInfo[playerid][pReg],PlayerInfo[playerid][db_id]);

    Und so weiter.


    Beachte, dass du das query natürlich von 128 erhöhen musst, auf 1024 oder so.

    Erstelle im Code mal einen Timer, mit dem du jede Sekunde einen print("Hallo Welt"); ausgeben lässt.
    Wird dir das im Log dann angezeigt, solange der Server an ist?


    Falls ja:
    Prüfe deine Sicherheitseinstellungen und die Firewall, vielleicht wird da etwas blockiert.


    Falls nein:
    Kannst du den Server Log mal posten?

    Interessant.
    Klappt es, wenn du im Befehl
    MoveObject(torID[i], Tore[i][Ax], Tore[i][Ay], Tore[i][Az],2.5,Tore[i][Arx],Tore[i][Ary],Tore[i][Arz]);
    zu:
    MoveObject(torID[i], Tore[i][Ax], Tore[i][Ay], Tore[i][Az],2.5);
    machst?




    EDIT: (Post unten)
    @xCurry: Oh, ja stimmt. Da du gesagt hast die Koordinaten stimmen habe ich da gar nicht mehr drauf geschaut. Da dein Problem behoben ist, wäre es gut, wenn du den Thread auf erledigt setzt. Danke!

    @xCurry:
    Wenn du es so machst wirst du einen Haufen an falschen bzw. leeren Nachrichten bekommen, da nur der format zum if zählt.


    So:
    if(strcmp(cmd,"/contracts",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    new str[145];
    if(PlayerInfo[playerid][pMember] == 8)
    {
    SendClientMessage(playerid, 0xCDB221FF, "Contracts");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pContractSumme] > 1)
    {
    format(str, sizeof(str), "Name: %s Premie: %d$",SpielerName(i),PlayerInfo[i][pContractSumme]);
    SendClientMessage(playerid, COLOR_GOLD, str);
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du bist kein Hitman !");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du bist nicht eingeloggt !");
    }
    }

    Irgendwo habe ich das schonmal gesehen, gestern oder so, kann mich aber nicht mehr erinnern wo, habe auch nichts gefunden. :huh:
    Egal...


    Du kannst einem Spieler nicht das Textdraw eines anderen Spielers anzeigen lassen.
    Sprich du musst, wenn du den Ausweis einem Spieler X zeigst, die Textdraws von Spieler X mit PlayerTextDrawSetString und mit dem PreviewModel so abändern, dass er deinen Ausweis sieht, aber mit seinen Textdraws.