Beiträge von robbi2304

    Okay,


    das war mein Fehler gewesen. Ich habe vergessen den Wert auch anzugeben sobald das Passwort Richtig eingegeben wurde.


    Dann danke ich dir @Jeffry


    ;)


    // Edit Thema zwar schon alt ist aber dennoch gerade wieder Aktiv.


    Sobald 2 Spieler joinen werden die Wanteds von einem Spieler mind nicht richtig angezeigt. Wo könnte der Grund dafür sein ?




    if(PlayerInfo[playerid][pMember] == 1)
    {
    new str[16];
    for(new i = 0, j = GetMaxPlayers(); i < j; i++)
    {
    format(str, sizeof(str), "Wanted: %d", PlayerInfo[i][pWanted]);
    wantedLabel[playerid][i] = CreatePlayer3DTextLabel(playerid, str, COLOR_BUSBLUE, 0.0, 0.0, 0.4, 10, i);
    }
    }

    Das Wantedlabel wird doch dort erstellt.


    Sonst habe ich noch


    new PlayerText3D:wantedLabel[MAX_PLAYERS][MAX_PLAYERS];


    und


    den updater



    Warum erstellst du was für i aber nimmst die varriable von Playerid das ergibt 0 sinn ?


    i ist pMember = 1 denn nur pMember 1 soll das LAbel sehen

    Danke passt.


    Noch eine Sache.




    new str[32];
    for(new i = 0, j = GetMaxPlayers(); i < j; i++)
    {
    if(PlayerInfo[i][pMember] == 1)
    {
    DeletePlayer3DTextLabel(i, wantedLabel[i][playerid]);
    format(str, sizeof(str), "Wanted: %d", PlayerInfo[playerid][pWanted]);
    wantedLabel[i][playerid] = CreatePlayer3DTextLabel(i, str, COLOR_LIGHTYELLOW, 0.0, 0.0, 0.4, 10, playerid);
    }
    }


    wird nicht bei player erstellt der die id 0 hat

    Liebe Brotfische,
    ich weiß ich bin heute schon sehr oft dran gewesen. Allerdings gehe ich nun an meine Problem stellen ran um diese zu beheben.


    Derzeit wird mein Tacho nur für ID 0 geupdatet. Alles was nicht ID 0 ist kriegt kein Update.
    Woran könnte es liegen ?




    forward sekunde(playerid);
    public sekunde(playerid)
    {
    new string[128];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(!IsPlayerInAnyVehicle(i))continue;
    format(string,sizeof(string),"%ikm/h", getPlayerSpeed(i));
    PlayerTextDrawSetString(playerid,Textdraw9[playerid],string);
    }
    return 1;
    }

    Liebe Brotfische,


    ich habe derzeit beim cuffen ein kleines Problem. Es sollen keine Staatsbeamte gecufft werden aber ich kriegs irgenwie nicht hin.




    ocmd:cuff(playerid,params[])
    {
    if(PlayerInfo[playerid][pLoggedIn]==false)return 1;
    if(PlayerInfo[playerid][pMember]==1 || PlayerInfo[playerid][pMember]==2 || PlayerInfo[playerid][pMember]==3 || PlayerInfo[playerid][pLeader]==1 || PlayerInfo[playerid][pLeader]==2 || PlayerInfo[playerid][pLeader]==3)
    {



    new Float:x, Float:y, Float:z,pID;
    GetPlayerPos(playerid,x,y,z);
    if(!IsPlayerInRangeOfPoint(pID,5,x,y,z)) return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler ist nicht in deiner Nähe.");
    new string[128];
    if(TogglePlayerControllable(pID,1))
    {
    if(sscanf(params,"u", pID))return SendClientMessage(playerid,COLOR_BUSBLUE,"Nutzung: /handschellen [ID]!");
    if(pID==IsACop(playerid)) return SendClientMessage(playerid,COLOR_RED,"Du kannst keinen Staatsbeamten entfesseln!");
    if(pID==playerid) return SendClientMessage(playerid,COLOR_RED,"Du kannst dich nicht selber fesseln !");
    if(OnDuty[playerid]==0) return SendClientMessage(playerid,COLOR_RED,"Du bist nicht im Dienst");
    format(string,sizeof(string),"Dir wurden von %s Handschellen angelegt!",PlayerInfo[playerid][pName]);
    SendClientMessage(pID,COLOR_BUSBLUE,string);
    format(string,sizeof(string),"Du hast %s Handschellen angelegt!",PlayerInfo[pID]);
    SendClientMessage(playerid,COLOR_BUSBLUE,string);
    TogglePlayerControllable(pID,0);
    }
    }
    else
    {
    return SendClientMessage(playerid,-1,"Du hast keine Berechtigung diesen Befehl auszuführen");
    }
    return 1;
    }



    forward IsACop(playerid);
    public IsACop(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    new leader = PlayerInfo[playerid][pLeader];
    new member = PlayerInfo[playerid][pMember];
    if(member==1 || member==2 || member==3 || leader==1 || leader==2 || leader==3 )
    {
    return 1;
    }
    }
    return 0;
    }

    Ich habe ne Abfrage bei OnPlayerGiveDamage. Dort gibt er aus das der Spieler schaden erhält. Allerdings gibt es kein HP abzug.


    Also wäre es da die möglichkeit abzufragen ob der Spieler gefesselt ist und dann die hp mit


    SetPlayerHealth(playerid,-anzahl);


    abzuziehen ?

    Funktioniert nun. Wohlmöglich ist beim Compilen etwas schief gelaufen.


    // edit


    Eine Frage habe ich noch, wenn ein Spieler gefesselt ist kann man diesen nicht mehr anschießen. Also er verliert keine HP. Ist das normal oder kann man dagegen was machen ?

    Liebe Brotfische,


    ich möchte gerne das beim Verlassen eines Fahrzeug, dass Fahrzeug aufgeschlossen wird. Wie mache ich das ganze ? Ich weiß das es hierbei was mit oldstate zutun hat. Allerdings nicht wie ich es nach dem Verlassen automatisch aufschließen lasse.


    Wäre über mithilfe dankbar

    Der Printf gibt alles richtig aus wie es sein soll. Liegt also entweder an dem mysql_format was nicht abgesendet wird oder k.a die Tabellen sind vorhanden.


    Die Error Log gibt nur


    Code
    [17:40:33] [plugins/mysql]

    aus also nichts womit man arbeiten könnte

    Liebe Brotfische,


    derzeit habe ich ein Problem beim speichern meines Timebans. Es wird nichts in die Datenbank eingetragen und kein wirklicher Fehler in der MySQL Log ausgegeben. Daher bin ich nun in der hoffnung das Ihr mir ggf helfen könnt.




    TimeBan(playerid, const name[25], const reason[30], const admin[25], const dauer)
    {
    new query[200];
    mysql_format(handle, query, 200, "INSERT INTO `timeban` (`Spieler`, `Grund`, `Admin`, `Dauer`) VALUES ('%e', '%e', '%e', '%d)", name, reason, admin, dauer);
    printf(name,reason,admin,dauer);
    mysql_pquery(handle,query, "", "");
    return SetTimerEx("KickTimer",100,false,"i",playerid);
    }



    ocmd:tban(playerid, params[])
    {
    new pID, grund[30], zeit, zeitdauer, string[128], name[25], name2[25];
    if(sscanf(params,"uds", pID, zeit, grund)) return SendClientMessage(playerid, -1, "Benutze: /tban Playerid/Spielername Zeit Grund");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, -1, "Spieler nicht online.");
    GetPlayerName(playerid, name, 25), GetPlayerName(pID, name2, 25);
    zeitdauer = gettime() + (60*zeit);
    TimeBan(pID, name2, grund, name, zeitdauer);
    format(string, 128, "Du hast %s für %d Minuten gebannt.", name2, zeit);
    SendClientMessage(playerid, -1, string);
    return 1;
    }


    wie schon gesagt es finden keine eintragungen in die Datenbank und es wird auch kein Fehler ausgegeben


    printf gibt nur das unterstrichene aus printf(name,reason,admin,dauer);

    Öhm nö ?



    [list=1][*]new Float:X,Float:Y,Float:Z;
    [*] GetPlayerPos(playerid,X,Y,Z);
    [*] TodesPickup[playerid] = CreatePickup(1254, 1, X, Y, Z, 0);
    [*] SetTimerEx("TOT", 1000, false, "i",playerid);
    [/list]


    erstellt den Todespickup. Und das soll nicht nur sein bei einem Spieler der OnDuty ist.



    PlayerInfo[playerid][pDeaths]++;
    justDied[playerid] = true;

    passt von dir auch nicht mit rein. Er soll die Tode ja auch zählen wenn er nicht OnDuty ist.



    Daher Fehler besteht weiterhin

    Probiere es mal so



    //Registrierung: Passwort wird abgespeichert
    mysql_escape_string(inputtext, passwort, dbhandle);
    format(query, sizeof(query), "INSERT INTO user (username, password) VALUES ('%e', MD5('%e')) ", GetSpielerName(playerid), passwort);
    mysql_function_query(dbhandle, query, false, "", "");



    //Abfrage, ob das Passwort richtig ist
    mysql_escape_string(inputtext, passwort, dbhandle);
    format(query, sizeof(query), "SELECT * FROM user WHERE username='%e' AND password=MD5('%e')", GetSpielerName(playerid), passwort);
    mysql_function_query(dbhandle, query, true, "OnPasswordResponse", "i", playerid);



    public OnPasswordResponse(playerid)
    {
    new num_rows, num_fields;
    cache_get_data(num_rows, num_fields, dbhandle);
    if(num_rows==1)
    {



    //PW richtig



    }
    else
    {
    //Falsch
    }