Beiträge von RG_

    schonmal Split versucht?


    stock split(const strsrc[], strdest[][], delimiter = '|')
    {
    new i, li, aNum, len, srclen = strlen(strsrc);
    while(i <= srclen)
    {
    if (strsrc[i] == delimiter || i == srclen)
    {
    len = strmid(strdest[aNum], strsrc, li, i, 128);
    strdest[aNum][len] = 0;
    li = i + 1;
    aNum++;
    }
    i++;
    }
    }

    Moin Breadfish,


    heute hab ich ein Problem, und zwar versuche ich ein Carsystem mit einem Schlüsselsystem zu schreiben, allerdings habe ich bei folgender Abfrage Probleme:



    #define MAX_KEYS 10


    stock HasPlayerKey(playerid,Carid)
    {
    printf("test1");
    new data[256];
    printf("test2");


    new Keys[MAX_KEYS][512];
    printf("1");
    format(query, sizeof(query), "SELECT * FROM `Vehicles` WHERE CarID = '%d';",Carid);
    mysql_query(query);
    mysql_store_result();
    printf("2");
    new tmpstring[512];
    mysql_fetch_field("HasKey",data);
    printf("3");
    strmid(tmpstring,data,0,20,20);
    format(data, sizeof(data), " Has Keys: %s", tmpstring);
    printf(data);
    printf("4");
    split(tmpstring, Keys,',');
    for(new i = 0;i<MAX_KEYS;i++)
    {
    printf("5");
    if(strmatch(Keys[i],PlayerName(playerid)))return 1;

    }
    return 0;
    }


    Die Abfrage wird ab test2 nicht weiter ausgeführt, ich weiß nicht warum.


    Kann mir da vllt. einer helfen?

    Awesome lass doch den Mist!


    Deine Crosspostings omg


    klär das doch per PN



    back2Topic:


    Also, du willst mit einem "Keybind" das Passwort eingeben lassen und wenn das falsch ist, soll dieser auch den Dialog gleich wieder schließen?

    Du hast ja beide Objekte wie man sieht, lass doch mit einem Timer das eine Objekt löschen und das andere darauf gleich erstellen

    new tmpstring[128];
    mysql_fetch_field("x",tmpstring);
    var[x]=strval(tmpstring);

    mysql_fetch_field("y",tmpstring);
    var[y]=strval(tmpstring);

    mysql_fetch_field("z",tmpstring);
    var[z]=strval(tmpstring);



    Natürlich muss die Varriable dann als Float erstellt werden

    Beispiel für Varriablen:


    new var[MAX_PLAYERS];


    So kannst du diese setzen:
    var[playerid] = iwas;


    So kannst du sie abfragen:
    if(var[playerid] == 1 ||var[playerid] >=1 ||var[playerid] <=1)
    {
    }

    new string[128];
    public UpdatePayday()
    {
    for(new i=0; i<MAX_PLAYERS; i++) //td für jeden spieler updaten
    {
    //erst formatieren
    format(string, sizeof(string), "~w~Spielzeit seit Zahltag:~g~ %d Minuten", PlayerInfo[playerid][pPaydayZeit]);
    TextDrawSetString(PayDay[i], string);
    }
    return 1;
    }



    Du hast im Abschnitt PlayerInfo[playerid][pPaydayZeit]


    in diesem Zusammenhang gibt es playerid nicht


    mach es so:
    new string[128];
    public UpdatePayday()
    {
    for(new i=0; i<MAX_PLAYERS; i++) //td für jeden spieler updaten
    {
    //erst formatieren
    format(string, sizeof(string), "~w~Spielzeit seit Zahltag:~g~ %d Minuten", PlayerInfo[i][pPaydayZeit]);
    TextDrawSetString(PayDay[i], string);
    }
    return 1;
    }

    Ich habe auch zwei verwarnungen, die erste war auch gerechtfertigt
    die zweite wohl eher nicht


    da hieß es ich habe die editier regel missachtet, obwohl im thread "Edit" und Edit2" stand und unten "dieser beitrag wurde bereits 2 mal editiert"


    und trotzdem verwarnung? oO naja aber ist mir jetz auch egal

    Die Zweite hat eine eigene Regel, und dazu gibt es die PN Funktion



    Zitat


    User die Posts schreiben deren Inhalt ähnlich wie in diesem Beispiel sind werden zukünftig gewarnt bzw. verwarnt!
    Sowas kann man auch per PN oder im E-Mail Formular schreiben und muss nicht in irgendwelchen Threads stehen!


    »breadfish« hat folgendes Bild angehängt:

    Und, wie bereits gesagt wurde, Ihr müsst hier nicht sein, es ist ein Forum, für das Jemand im Monat etwas bezahlt damit Ihr Hilfe erhaltet! Ich finde das Handeln von den Mods 100% gerechtfertigt


    Quelle


    edit1: Blidlink defekt

    Nein, es ist kein Streamer, die Drawdistance bestimt lediglich ab welcher Distanz man das Objekt sehen kann.



    Das Objectlimit beträgt ~400



    Also ein Stramer ist weiterhin besser

    Zitat

    Sowas gibt es nicht^^
    Du kannst es höchsten so machen, dass der Spieler zum Beispiel nur eine Taste drücken muss.
    Ist dann aber viel komplizierter...

    Natürlich gibt es sowas!



    Mit einem Timer überprüft man die Position eines Spielers, wenn sie den Coords vom öffnungsbereich gleichen, dann kann man das Tor einfach öffnen lassen




    z.B.:

    forward playercheck();
    public OnGameModeInit()
    {
    SetTimer("playercheck",500,1);
    return 1;
    }


    public playercheck()
    {
    for(new i = 0; i < MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i)) return 1;
    new Float:tmppos[3];
    GetPlayerPos(i,tmppos[0],tmppos[1],tmppos[2]);
    if(!IsPlayerInRangeOfPoint(i,5.0,tmppos[0],tmppos[1],tmppos[2]) return 1;
    if(deinefraktionsvar[i]!= frakid) return 1;
    MoveObject(....);
    }
    return 1;
    }


    edit: Klammerfehler