Beiträge von Ryan_Crawley

    if(dialogid == Alter)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,Color_Red,"Du hast die Registration abgebrochen");
    SetPVarInt(playerid,"Registration",0)
    Kick(playerid);
    return 1;
    }
    else if(response == 1)
    {
    new age = strval(inputtext);
    SendClientMessage(playerid,COLOR_GREY,"Du bist also d% Jahre alt",age);
    SendClientMessage(playerid,COLOR_GREY,"Nun beginnt das Tutorial.");
    SetPVarInt(playerid, "Alter", age);
    TutTime[playerid] = 1;
    TutTimer[playerid] = SetTimerEx("Tut",1000,1,"i",playerid);
    return 1;
    }
    }


    So sollte es glaube ich gehen. Glaube du musst new Age mit strval innerhalb der Dialogid definieren, da er sonst die aus einem anderen Dialog nimmt. Bin mir aber nicht Sicher :D


    MfG

    Guten Tag Com,


    ich bin gerade dabei ein System zu schreiben, wo man Ingame Firmen erstellen kann. Diese sollen durch MySQL geladen und gespeichert werden. Nun habe ich leider keine Idee, wie ich diese speicher bzw. laden kann.
    das System basiert auf dem Register & Loginsystem von maddin und nutzt daher folgendes zum speicher bzw. laden.


    Spoiler anzeigen
    stock mysql_GetInt(Table[], Field[], Where[], Is[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    new sqlint = mysql_fetch_int();
    mysql_free_result();
    return sqlint;
    }
    stock mysql_GetString(Table[], Field[], Where[], Is[])
    {
    new query[128], Get[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return Get;
    }
    stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[])
    {
    new query[128], Float:sqlfloat;
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat;
    }
    stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE `%s` SET `%s` = '%d' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }
    stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(To, To);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE `%s` SET `%s` = '%s' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }
    stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE `%s` SET `%s` = '%f' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }
    stock mysql_CheckAccount(playerid)
    {
    new Query[128],Name[MAX_PLAYER_NAME],count;
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_real_escape_string(Name, Name);
    format(Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `Name` = '%s'", Name);
    mysql_query(Query);
    mysql_store_result();
    count = mysql_num_rows();
    mysql_free_result();
    return count;
    }
    stock mysql_ReturnPasswort(Name[])
    {
    new query[130], Get[130];
    mysql_real_escape_string(Name, Name);
    format(query, 128, "SELECT `passwort` FROM `accounts` WHERE `Name` = '%s'", Name);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return Get;
    }


    So, grundsätzlich habe ich ein Enum mit vorerst allen relevanten Daten erstellt.


    #define MAX_FIRMEN 100
    enum FirmenDaten
    {
    fID,
    fBesitzer[64],
    Float:fEntrancex,
    Float:fEntrancey,
    Float:fEntrancez,
    Float:fExitx,
    Float:fExity,
    Float:fExitz,
    fInt,
    fArt,
    fBank,
    fOpen,
    Text3D:flabel
    }
    new FirmenInfo[MAX_FIRMEN][FirmenDaten];


    Damit sollten Ingame die Firmen erstellt werden. //Wird natürlich noch mit wichtigen Infos ausgeschmückt.
    stock CreateFirma(playerid)
    {
    new query[256],Name[MAX_PLAYER_NAME];
    new Tag, Monat, Jahr, Stunde, Minute;
    getdate(Jahr,Monat,Tag); gettime(Stunde,Minute); GetPlayerName(playerid,Name,sizeof(Name));
    mysql_real_escape_string(Name,Name);
    format(query,sizeof(query),"INSERT INTO `firmen`(`Besitzer`) VALUES ('%s')",Name);
    mysql_query(query);
    return true;
    }


    Ich bitte nicht um eine komplett geschriebe Lösung sondern lediglich um Ansätze oder Hinweiße, sodass ich mit eurer Hilfe auf die Lösung komme und so noch etwas dazu lerne.


    MfG


    Spoiler anzeigen
    Edit: stock CreateFirma hinzugefügt
    Edit: Fehler im stock CreateFirma behoben

    @Saize420: Wieso diskutierst du hier rum?
    Es geht darum, dass er sich auf einem Server (RPG-City) permanentes Premium für 20€ kaufen kann, welches leider nur mit 1x20€ PSC geht, und NICHT mit 2x10€ PSC...


    Außerdem vergreifst du dich hier im Umgangston, nicht er.



    *facepalm*


    Wenn es darum geht, schreib doch den Serveradmin an. Wenn es nicht darum geht, versuchs mit PayPal "zubündeln" und bezahle via PayPal sofern ein Konto vorhanden ist.


    MfG

    Hat der Account, der den Befehl ausführen will auch den nötigen Adminrang?


    Wäre das Einzige, was mir im Moment einfällt.


    nochmal geprüft? Da keine Rückmeldung erscheinen soll, wenn die nötigen rechte nicht vorhanden sind.


    fail, dann müsste wenigstens der Dialog erscheinen.

    Du hast anscheinend dieses Tutorial angesehen: https://forum.sa-mp.de/off-top…rpg-server-11#post1621692 - Herzlichen Glückwunsch!


    Nein spaß bei Seite und jetzt mal ernsthaft. Denkst du wirklich, mit großer und Blau unterstrichener Schrift + ohne Informationen findet sich einer? Das ist ein schlechter Scherz, oder? :huh:


    MfG


    Genau das selbe dachte ich auch. Ich habe erst überlegt ob es ein Witz sein sollte, aber es macht nicht so dein Eindruck.


    Du solltest in deiner Anfrage dein Konzept und deine Kenntnisse näher erleutern. Etwas mehr zu deiner Person ist auch nicht schlecht, damit man sich vorstellen kann, mit wem man es zu tun hat.


    Und bitte, lass diese große blaue Schrift weg.


    MfG

    Wenn ich mich nicht irre definiert die Z-Koordinate die Höhe, Da du Z+0,3 genommen hast müsste es also nach oben "fahren".


    [quote]This next part will show you how you can use another key to make your car jump 10ft in the air.


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if (PRESSED(KEY_HANDBRAKE)) // Change KEY_HANDBRAKE to your choice of PlayerKeys
    {
    new Float:x, Float:y, Float:z;
    GetVehicleVelocity(GetPlayerVehicleID(playerid), x, y, z);
    SetVehicleVelocity(GetPlayerVehicleID(playerid) ,x ,y ,z+0.3);
    }
    return 1;
    }[/quote]


    MfG

    Ryan_Crawley:
    Dann mach´s doch gleich so

    OOCOff(COLOR_ORANGE, "BREAKING NEWS: Soeben ist die Tankstelle in Los Santos in die Luft geflogen!");
    OOCOff(COLOR_ORANGE, "BREAKING NEWS: Ob es Tode oder Verletzte gibt ist zurzeit noch Unklar.");
    OOCOff(COLOR_ORANGE, "BREAKING NEWS: Die Einsatzkräfte sind Vorort.");


    Fail, natürlich. Habe nur direkt von ihm die Strings genommen. So gehts natürlich auch.

    new string[256];
    format(string, sizeof(string), "BREAKING NEWS: Soeben ist die Tankstelle in Los Santos in die Luft geflogen!");
    OOCOff(COLOR_ORANGE, string);
    format(string, sizeof(string), "BREAKING NEWS: Ob es Tode oder Verletzte gibt ist zurzeit noch Unklar.");
    OOCOff(COLOR_ORANGE, string);
    format(string, sizeof(string), "BREAKING NEWS: Die Einsatzkräfte sind Vorort.");
    OOCOff(COLOR_ORANGE, string);

    Also ich habe mir das ganze mal angeschaut mit geoip und ich würde es mal so versuchen.


    new Country[16], Name[MAX_PLAYER_NAME], string[128], string_en[128];
    isLocal = GetPlayerLocation(playerid,Country);
    format(string,sizeof(string)," ~ %s aus %s hat den Server betreten",Name,isLocal);
    format(string_en,sizeof(string_en)," ~ %s from %s has joined the Server.",Name,isLocal);
    SendClientMessageToAll(COLOR_GREY,string);
    SendClientMessageToAll(COLOR_GREY,string_en);


    Kenne mich nicht mit Geoip aus, aber rein von der Erklärung her würde ich des so machen.


    Schau mal hier


    Melde dich mal, ob es geklappt hat.


    MfG