Beiträge von Ditti

    Hey
    Ich hab das premiumroleplayscript gesaugt.. Leider bekomm ich es nicht zum laufen.. Mysql wird net geladen und file findet er nicht (error19). Problem dazu ist dass ich keine ahnung habe wie ich es einrichte mit mysql usw...
    Koennte es jmd vllt fuer mich erstellen bzw einrichten morgen? Gegen bezahlung.. Sry fuer revhtschreibung usw aber bin mit handy on:-/
    Mfg


    Aus dem Thread den Download herunterladen: http://forum.sa-mp.com/showthread.php?t=122983, entpacken, die mysql.dll in deinen Plugins-Ordner innerhalb des Server-Ordners kopieren und in der server.cfg nach folgender Zeile suchen:

    Code
    plugins ...


    "..." ist hier eine eventuelle Auflistung von Plugins. Da einfach mysql dazu schreiben und speichern. Sieht dann so aus:

    Code
    plugins mysql ...


    Die Zeile ist eventuell komplett selbst hinzuzufügen.


    Hoffe es hilft - ganz ohne Bezahlung. ;)

    Sebastian: Wieso muss ich mich von dir als Idiot bezeichnen lassen?
    Wenn man ein altes Windows installieren und das neue nicht löschen will, überschreibt der alte Bootloader den MBR und das neue kann nicht mehr gestartet werden. Der Bootloader vom neuen muss dann erneut installiert werden und das geschieht via "Automatische Reparatur" der Recovery-Disc.
    Was ist daran jetzt idiotisch?

    XP installieren, von Windows 7 Install- oder Recovery-DVD starten, bei Install-DVD links unten "Computerreparatur" auswählen, automatisch reparieren lassen, neustarten und testen und wenn nötig nochmal von DVD starten und wieder automatisch reparieren lassen - kann bis zu ca. 3 mal nötig sein.

    for(new i=0;i<MAX_PLAYERS;i++)
    Also für jeden Spieler - da empfehle ich CreatePlayerTextDraw und dazugehörige Funktionen, da es bei normalen Textdraws eine Begrenzung von maximal 2048 gibt und bei Player-Textdraws dieses Limit nicht existiert - und dafür wurden diese Funktionen eingebaut. :)


    new PlayerText:dmg[MAX_PLAYERS], dmgtimer[MAX_PLAYERS];
    //...
    public OnPlayerConnect(playerid)
    {
    dmg[playerid] = CreatePlayerTextDraw(playerid, dmg[playerid], 547.0, 390.0, "Schaden:---");
    PlayerTextDrawLetterSize(playerid, dmg[playerid], 0.4, 1.1);
    PlayerTextDrawFont(playerid, dmg[playerid], 1);
    PlayerTextDrawSetShadow(playerid, dmg[playerid], 2);
    PlayerTextDrawSetOutline(playerid, dmg[playerid], 1);
    }
    //...
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    switch(newstate)
    {
    case PLAYER_STATE_DRIVER, PLAYER_STATE_PASSENGER:
    {
    PlayerTextDrawShow(playerid, dmg[playerid]);
    dmgtimer[playerid] = SetTimerEx("DmgTimer",DMGTIMER,1, "i", playerid);
    }
    case PLAYER_STATE_ONFOOT:
    {
    PlayerTextDrawHide(playerid, dmg[playerid]);
    KillTimer(dmgtimer[playerid]);
    }
    }
    }
    //...
    forward DmgTimer(playerid);
    public DmgTimer(playerid)
    {
    new Float:health, DmgString[128];
    GetPlayerVehicleHealth(GetPlayerVehicleID(playerid), health);
    format(DmgString, sizeof(DmgString), "Schaden: %.1f", health);
    PlayerTextDrawSetString(playerid, dmg[playerid]);
    }


    Mal komplett auf PlayerTextDraw umgeschrieben und angepasst, um es möglichst ressourcenschonend zu gestalten - sollte funktionieren, ist jedoch ungetestet. :thumbup:


    //Edit by RFT: Völlig richtig diesen Beitrag bitte beachten und auf Player Textdraw´s umschreiben.

    Wieso? "stock Funktion" sagt mMn nach aus, dass eben stock davor steht - gibt ja auch normale Funktionen und die Funktionen mit "public" vorn dran werden ja auch "publics" genannt. ^^

    Du solltest dir das mal anschauen


    Woher wusste ich nur, dass das von jemandem kommen wird? :D
    Es ist nun mal bei den meisten als "Stock" bekannt, auch wenn es eigentlich eine "stock Funktion" ist. ;)
    (Ich weiß, man sollte ein Vorbild sein - aber das Bild der Hack lässt sich auch nicht mehr retten, auch wenn man es versucht.)

    GetPlayerMoney(i) != playerCash mal kurz kommentiert:
    Fiktives Szenario - Spieler hat 5000$ und stirbt -> Spieler verliert 100$ und hat nur 4900$. Das wurde in playerCash jedoch nicht gespeichert und der Spieler wird gekickt - obwohl er sich kein Geld ercheatet hat.
    Besser: GetPlayerMoney(i) > playerCash - wenn mehr Geld im Client als der Server gespeichert hat.
    Wichtig wäre hier ein Stock wie z.B. PayMoney, der sowohl playerCash setzt als auch via GivePlayerMoney Geld gibt.

    /etc/rc.local evt.?
    Nicht vergessen: als root bearbeiten und was da drin landet, wird standardmäßig als root gestartet - nicht gerade zu empfehlen.
    Schreib am besten sowas rein:

    Code
    su sampservernutzername -c /pfad/zum/server/samp03svr

    Was zu ersetzen ist, sollte klar sein. ^^


    Hoffe, es hilft. :)

    Geht leider nicht, da die Funktion aus irgendeinem Grund nicht genauer arbeitet - man kann es jedoch nach Bedarf via floatround ausgleichen. ;)

    da wird vermutlich doch der RAM kaputt sein. Lass mal memtest drüber laufen und guck, ob es Fehler ausspuckt. Ist vermutlich der High-Memory-Bereich (oder wie der heißt :D) kaputt und der PC kann ihn deshalb nicht nutzen.

    Daniel Sebastian ist kein Fake das ist ein richtiger Anwalt du solltest auf keinen fall diese Briefe ignorieren.


    http://www.anwaltskanzlei-hech…erletzung-Filesharing.php - ist zwar kein Fake, aber er denkt sich den Kram trotzdem aus. ;)


    LocoPengu: Sollte "Abmahnung" o.ä. darüber stehen, solltest auch du dir den Artikel oben durchlesen und auch den evt.: http://von-wegen-abmahnung.de/…niel-sebastian-digirights oder einfach mal "Daniel Sebastian" googlen. ;)

    Ich empfehle hier ein PlayerTextDraw, TextDraws sind bei SAMP nur in einer limitierten Anzahl zu erstellen.


    //e:
    new PlayerText:scorebox[MAX_PLAYERS];


    //...
    public OnPlayerConnect(playerid)
    {
    scorebox[playerid] = CreatePlayerTextDraw(playerid, x, y, "");
    PlayerTextDrawUseBox(playerid, scorebox[playerid]);
    //Der ganze andere Kram wie Font, Größe, Farbe, ... nur eben mit "PlayerTextDeaw" ;)
    }


    //...


    forward RefreshScoreBox(playerid);
    public RefreshScoreBox(playerid)
    {
    new string[30];
    format(string, sizeof(string), "Level: %d", GetPlayerScore(playerid));
    PlayerTextDrawSetString(playerid, scorebox[playerid], string);
    }


    //..


    ocmd:show(playerid,params[])
    {
    PlayerTextDrawShowForPlayer(playerid, scorebox[playerid]);
    SetTimerEx("RefreshScoreBox", 1000, true, "i", playerid);
    SendClientMessage(playerid,ROT,"Level Box An");
    return 1;
    }Ungetestet, sollte aber laufen.