Beiträge von Zunno

    Hey wenn ich San Andreas offline spiele, dann ESC drücke und danach wieder ins Game gehe, kann ich mich manchmal nicht mehr umsehen. Also ich kann nur noch laufen aber die Bewegungen der Maus nimmt mein PC nicht wahr ... auch schiessen etc. geht nicht mehr auser mit STRG. Wenn ich dann wieder ESC drücke, im Pausemenü meinen Mauszeiger ein bisschen bewege, dann wieder ins Game gehe, geht meine Maus wieder.
    Das funktioniert aber nicht immer, denn manchmal lande ich statt im Pausemenü in einem Schwarzen Bildschirm und mein San Andreas hat sich aufgehängt
    Wie behebe ich das??


    2 Bug:


    Wenn ich Ingame gerae zocke, dann auf meinen Desk. gehe um iwas zu machen usw. und dann wieder ins Game gehe und im Pausemenü auf "Fortsetzen" klicke hängt sich mein San Andreas auf. Woran liegt das?

    Beide Bugs hab ich auch öfters.
    Jedoch hab ich einen kleinen Trick das diese Bugs nicht so häufig auftretten.
    Geh bevor du auf den Desktop gehst ins Pause Menü (ESC) weg dort ein wenig die Maus und geh auf Desktop.
    Und zum ersten Bug: Geh in ESC und beweg ein wenig die Maus und drück dann wieder ESC das du ingame bist, mach dies nicht zu schnell dann sollte es eigentlich funktionieren.


    Es ist keine Garantie das es sich nicht doch mal aufhängt aber es geht besser als wenn du es nicht machst :)

    Ja kannst du, schreib den Support einfach an und sag ihnen das du den VServer nicht mehr haben möchtest.
    Dann sagen sie dir wie du ihn kündigen kannst. Ich glaube du musst ein Brief schreiben und deine Unterschrift darunter setzen und ihn an die Geschäftsstelle schicken. Die leiten dann die Kündigung ein.

    Guck mal bei dir in den Einstellungen nach, man kan dies nemlich einstellen ;)


    Hier ein Bild:
    (Profil bearbeiten => Einstellungen => Kommunikation)


    Mit freundlichen Grüßen,
    Zunno

    stock ABroadCast(color,const string[],level)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if (PlayerInfo[i][pAdmin] >= level)
    {
    SendClientMessage(i, color, string);
    }
    }
    }
    return 1;
    }


    Eine Funktion aus dem Godfather womit man Nachrichten nur an Admins schicken kann :)


    Beispiel: ABroadCast(0xFFFFFFAA, "Ich bin eine Nachricht", 1);


    Das bedeutet das eine Nachricht mit "Ich bin eine Nachricht" in der Farbe Weiß an jeden Admin gesendet wird der AdminLevel 1 oder höher hat :)


    Mit freundlichen Grüßen,
    Zunno

    Kleine Frage:


    Benutzt du Godfather?
    Wenn ja mach es so:


    new string[65],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    switch(reason)
    {
    case 0: format(string,sizeof string,"* %s [%d] hat den Server verlassen. (TimeOut/Exe)",name,playerid);
    case 1: format(string,sizeof string,"* %s [%d] hat den Server verlassen. (Normal)",name,playerid);
    case 2: format(string,sizeof string,"* %s [%d] hat den Server verlassen. (Kick/Ban)",name,playerid);
    }
    ABroadCast(COLOR_GREY, string, 1);

    Ja nur das auf dem Home Server das Windows Plugin ist und auf dem Root die Linux Version... vieleicht liegts aber auch dadran das ich aufm Homeserver immer alleine bin.... aber der Server wurde schonmal geweschselt und auf dem alten Root gings auch nicht wirklich...

    public OnPlayerDisconnect(playerid, reason)
    {
    [...]
    DestroyDynamicPickup(TotenKopf[playerid]);
    [...]


    .... es geht hier aber nicht drum wo er destroyt wird, sondern das der Totenkopf verschwindet OHNE das er Destroyt wird.. jedenfalls ohne die Funktion aufzurufen...

    Naja die Logik ist vorhanden^^
    der Totenkopf wird beim Spawnen oder beim wiederbeleben Destroyt :)


    Hier das wichtige aus OnPlayerDeath..
    public OnPlayerDeath(playerid, killerid, reason)
    {
    [...] //Hier stehen alle new's usw
    GetPlayerPos(playerid, PlayerInfo[playerid][pTx], PlayerInfo[playerid][pTy], PlayerInfo[playerid][pTz]);
    if(GetPVarInt(playerid, "MinutesSinceLogin") >= 1) //Wenn der Spieler länger als 1 Minute auf dem Server ist, kommt dieser erst auf den Friedhof
    {
    SetPVarInt(playerid, "Tot", 1);
    if(GetPVarInt(playerid, "Bombe") == 1)
    {
    SendClientMessage(playerid, COLOR_WHITE, "* Du bist gestorben und hast die Bombe verloren!");
    DeletePVar(playerid, "Bombe");
    }
    if(TotenKopf[playerid] > 0) { DestroyDynamicPickup(TotenKopf[playerid]); } //Falls schon ein Totenkopf da ist, wird er destroyt.
    TotenKopf[playerid] = CreateDynamicPickup(1254, 23, PlayerInfo[playerid][pTz], PlayerInfo[playerid][pTy], PlayerInfo[playerid][pTz], 0);
    SendClientMessage(playerid, COLOR_WHITE,"* Du bist nun für 3 Minuten auf dem Friedhof!");
    SetPlayerTeam(playerid, 1); //Anti DM auf dem Friedhof^^
    SetPVarInt(playerid, "IstTot", 180);
    }
    [...]
    }


    Ich hatte auch schon den Pickup Type 1 aber das hat auch nicht so richtig funktioniert deswegen hab ich es mal mit 23 ausprobiert, da bei mir (GF) für alle eingänge pickup type 23 benutzt wird.


    Aber das Problem kenn ich auch von Nova her, jedoch bleibt da der Totenkopf wenigstens etwas, aber bei mir ist er kurz nach dem erstellen schon wieder weg :O


    Die Varriable Totenkopf wird so definiert:
    new TotenKopf[MAX_PLAYERS];


    Sehr Mysteriös 8|

    Versuchs mal so


    DestroyPickup(totenkopf[playerid]);


    Danke aber, das mit DestroyDynamicPickup(TotenKopf[playerid]);
    ist gewollt.... da ich einen Streamer benutze der auch Pickups Streamt.
    Mein Problem ist auch nicht das Löschen des Pickups sondern das er einfach verschwindet ohne das er per Destroy Destroyt wird 8|


    /EDIT: Zitat war doppelt drin..

    Guten Abend Breadfish,
    Ich habe ein Problem mit einem Pickup was unter OnPlayerDeath erstellt wird.
    Dieses Pickup verschindet kurz nachdem es erstellt wurden ist.


    TotenKopf[playerid] = CreateDynamicPickup(1254, 23, PlayerInfo[playerid][pTz], PlayerInfo[playerid][pTy], PlayerInfo[playerid][pTz], 0);
    Dieses Pickup wird unter dem befehl /revive und unter OnPlayerDisconnect destroyt.
    DestroyDynamicPickup(TotenKopf[playerid]);


    Nun würde ich gerne wissen,benutze ich den falschen Pickup Type oder was mach ich falsch? 8|


    PS: Ich benutze das Streamer Plugin von Incognito (Linux)


    Mit freundlichen Grüßen,
    Zunno

    @ Zunno, das war eigentlich nicht meine Frage, klar kann ich mit der Abfrage so das Passwort abfragen, jedoch nicht im md5 gehasten Format abgleichen.


    Deshalb möchte ich halt, das Maddin mir vielleicht zur Seite steht, und mir hilft oder sonstiges, weil ich denke das Tutorial wäre mit md5 schon was besserer, weil es einfach
    sicherer & sonstiges ist. Sha1 besser blabla, weiß ich jedoch ist md5 ausreichend. So nun zurück zu meiner Frage, kannst du mir nun helfen wie ich die Passwörter über MD5 abgleichen kann?


    Aber sicher geht das ;)


    stock CheckPasswort(playerid,passwort[])
    {
    new query[128],sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,sendername,sizeof(sendername));
    format(query,sizeof(query),"SELECT `Passwort` FROM `accounts` WHERE `Name` = '%s' AND `Passwort` = MD5('%s')",sendername,passwort);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows()) { mysql_free_result(); return true; }
    else { mysql_free_result(); return false; }
    }

    if(CheckPasswort(playerid, inputtext) == 1)
    {
    SendClientMessage(playerid, COLOR_WHITE, "* Das Passwort ist richtig :D");
    }


    stock CheckPasswort(playerid,passwort[])
    {
    new query[128],sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,sendername,sizeof(sendername));
    format(query,sizeof(query),"SELECT `Passwort` FROM `accounts` WHERE `Name` = '%s' AND `Passwort` = '%s'",sendername,passwort);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows()) { mysql_free_result(); return true; }
    else { mysql_free_result(); return false; }
    }


    So hab ich es, ich benutze zwar StickenKid's aber ich denke mal das sollte trozdem funktionieren ;D


    /Edit Fehler ausgebessert!

    Zunno:
    Nein die dateien heißen schon 0.ini, 1.ini, 2.ini usw.
    Weil wenn ich es nach dem Fahrzeugnamen benennen würde, dann könnte man ja jedes Car nur einmal kaufen.


    nunja , ich speichere die privat cars auf die NAmen der jeweiligen spieler ab (DT_Cars)
    Dort werden die Cars mit namen gespeichert und dahinter eine zahl für die nummer des cars
    z.B. Zunno0.dtcar & Zunno1.dtcar
    und so sieht der string aus wie ich es lade:
    format(str, sizeof str, "/DT_Cars/%s%d.dtcar", name,Dtc_PlayerKey[playerid]);
    Vieleicht hilft dir das ja weiter