String von Mainscript in Filterscript

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey,


    habe grad ein Problem: Und zwar fällt mir nicht ein, wie am Besten
    einen String von meinem Mainscript in den Filterscript transportieren kann.


    Ich habe eine Funktion, mit der ich Strings aus einer MysQL Datenbank lesen kann
    und diese möchte ich auch gern im Filterscript nutzen.


    So funktioniert es im Mainscript:
    forward mysql_getStrFS(Field[], Where[], Is, var[], len);
    public mysql_getStrFS(Field[], Where[], Is, var[], len)
    {
    new query[128], Get[128];
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    format(query, 128, "SELECT `%s` FROM `tabelle1` WHERE `%s` = '%d'", Field, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return format(var, len, Get, 0);
    }


    Doch wenn ich das jetzt im Filterscript aufrufe crasht der komplette Server.
    new string[128];
    CallRemoteFunction("mysql_getStrFS", "ssisi","Name","id",id, string,128);


    Hoffe mir kann da jemand helfen.


    Viele Grüße
    [C]Jack

  • Natürlich sind das Player Variablen.
    Was meinst du, wofür das P in SetPVar.. zb. steht
    bzw. warum man eine PlayerID angeben muss?


    Sind Spielerspezifische Variablen. Siehe dazu: http://wiki.sa-mp.com/wiki/SetPVarString eine Lösung wäre das GVar Plugin von Incognito: GVar Plugin 1.3


    Ähnelt den PVar's wird jedoch nicht auf einem Spieler bezogen und werden erst gelöscht wenn DeleteGVar genutzt worden ist.

    Danke dir, das werde ich mal versuchen!

  • Wo ist das Problem?
    forward mysql_getStrFS(Field[], Where[], Is);
    public mysql_getStrFS(Field[], Where[], Is)
    {
    new query[128], Get[128];
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    format(query, 128, "SELECT `%s` FROM `tabelle1` WHERE `%s` = '%d'", Field, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return Get;
    }


    format(string,128,"%s",CallRemoteFunction("mysql_getStrFS", "ssi","Name","id",id));

    All in all it's just another brick in the wall

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • indem du den string für jeden player setzt


    ...
    Das ist das schwachsinnigste was ich heute gehört habe....



    SetPVarString(0,"blabla","hallo");
    Und
    GetPVarString(0,.....);


    Warum 0?
    0 ist ja playerid und es ist ja Whayne
    Wenn der Wert nur für ein kleines vorhaben genutzt wird und es den Spieler sogesehen nichts interessiert kann man es mal so machen sollte man aber nicht
    Deine Variante ist wieder reccourcen fressend

    All in all it's just another brick in the wall


  • Stimmt, danke dir! Habe total vergessen, dass man des mit format machen muss.


    Viele Grüße
    [C]Jack