Beiträge von janpplayer

    so jetzt mal neu :stock Sms2(playerid)
    {
    MAX_NACHRICHTEN[playerid]=0;
    new Nama[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Nama,sizeof(Nama));
    new mysql[60];
    format(mysql, sizeof (mysql), "SELECT * FROM sms WHERE Empfänger = '%s' ORDER BY ÌD DESC",Nama);
    mysql_query(mysql);
    mysql_store_result();
    if(mysql_num_rows() > 0)
    {
    new string[256];
    new Data[MAX_PLAYERS][128];
    while(mysql_fetch_row_format(Data[playerid]))
    {
    MAX_NACHRICHTEN[playerid]++;
    new id2 = MAX_NACHRICHTEN[playerid];
    mysql_fetch_field("ID",Data[playerid]);
    NachrichtenArray[playerid][id2][idm] = strval(Data[playerid]);
    mysql_fetch_field("Sender",Data[playerid],);
    id2 = MAX_NACHRICHTEN[playerid];
    format(NachrichtenArray[playerid][id2][absenderm],24,Data[playerid]);
    format(string, sizeof(string), "%s\nVon:%s",string,NachrichtenArray[playerid][MAX_NACHRICHTEN[playerid]][inhaltm]);
    }
    mysql_free_result();
    SendClientMessage(playerid,Rot,string);
    ShowPlayerDialog(playerid,DIALOG_SMS,DIALOG_STYLE_LIST,"SMS Postfach",string,"Beenden"," ");
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du hast keine Nachrichten.");
    }
    return 1;
    }


    nur ich habe diese eroors: C:\Users\Jan\Desktop\op\gamemodes\neu.pwn(3398) : error 035: argument type mismatch (argument 1)
    C:\Users\Jan\Desktop\op\gamemodes\neu.pwn(3400) : error 035: argument type mismatch (argument 1)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    hier die zeilen : mysql_fetch_field("ID",Data[playerid]);
    mysql_fetch_field("Sender",Data[playerid]);





    MFG janpplayer



    /edit noch etwas hinzugefügt
    /edit überschrift geändert
    /edit nochmal neuauflage :D
    /edit neue überschrift details siehe unten

    okay meine frage wenn ich es so machen würde:


    new NACHARRAY[MAX_PLAYERS][50][nachenum];


    würde es so funktionieren das jeder spieler 50 mal den array hat oder würde sich dieser dann überschneiden therotisch ja nicht weil ja davor das mit dem spieler gemacht wird ?

    Ja mein problem ist das ich die nachrichten aus der mysql datenbank hohlen und lade und dann die die abspeichern muss da ich über das listitem die id von der datenbank haben muss da das listitem ja nicht gleich die datenbank id also muss ich sie abspeichern und über das listitem die id hohlen und dann darüber den inhalt da jeder spieler max 50 sms mindestens haben muss also muss die variable für jeden spieler und nochmal die sms anzahl würde es denn funktionieren? oder geht es nicht


    also für jeden spieler und nochmal für jeden spieler 50 sms mindestens


    muss ich ihn nochmal machen oder gehts so nicht das sie sich überschneiden...

    Hallo wie kann ich einen Dreifachenmultidimesionalen Array machen mit einem Dynamischen Wert:


    Ich habe einmal einen MAX Wert für die Maximale anzahl der Nachrichten also für jeden player : new MAX_NACHRICHTEN[MAX_PLAYERS]; der einzeld festgelegt wird bevor der Array kommt


    dann der Array: new NachArray[MAX_PLAYERS][MAX_NACHRCHTEN[MAX_PLAYERS][nachrichtenenum];
    und das nachrichtenenum ist sooo: enum nachrichtenenum
    {
    idm,
    Empfängerm[24],
    Absenderm[24],
    Inhaltm[128],
    listitemm
    }


    aber ich kriege dann diese errors: C:\Users\Jan\Desktop\op\gamemodes\neu.pwn(160) : error 032: array index out of bounds (variable "MAX_NACHRICHTEN")
    C:\Users\Jan\Desktop\op\gamemodes\neu.pwn(3443) : warning 203: symbol is never used: "NachrichtenArray"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    wie löse ich das problem aufgrund des variablen nachrichtenwert der bei jedem spieler anders ist.?


    MFG janpplayer

    ja aber es geht ja nicht aus dem grund weil ja nur die ids über einen Empfänger gehen und nicht wie bei einem Autosystem da ja bei jedem Empfänger die ids bei 1 anfangen also für jeden spieler
    /edit auto incredmend *ankopfpack*

    Hallo ich will ein Dynamisches Sms System bauen und auch ein Tutorial dazu schreiben wenn es funktioniert also mal zum Punkt:


    wie mach ich das wenn ich in einer Datenbank in einer reihenfolge abfragen will? also von einer Id 1 aufwärts und wenn ich das dann kann also ich weiß ja nicht wie
    wie mach ich das wenn ich Sms habe von einem Spieler die so abgespeichert werden:
    Empfänger | Id | Absender | Inhalt


    Jan | 1 | OtherName | 1 Sms


    Jan | 2 | OtherName | 2 Sms


    Jan | 3 | OtherName | 3 Sms


    Jan | 4 | OtherName | 4 Sms


    und wenn ich jetzt eine nachricht lösche:


    Jan | 2 | OtherName | 2 Sms


    Jan | 3 | OtherName | 3 Sms


    Jan | 4 | OtherName | 4 Sms



    wie mach ich das jetzt das alle automatisch nach dem löschen die ids geändert werden praktisch eine abfrage was alle sms dahinter davon die ids -1 zurücksetz also das es dann so ist:


    Jan | 1 | OtherName | 2 Sms


    Jan | 2 | OtherName | 3 Sms


    Jan | 3 | OtherName | 4 Sms


    bei fragen dazu fragt :D falls ihr mich nicht versteht.



    Bitte um Hilfe



    MFG janpplayer

    ocmd:goto(playerid,params[])
    {
    new pid;
    if(sscanf(params,"u",pid)) return SendClientMessage(playerid,0x00FF00FF,"Benutze: /goto [Spielername/ID]");
    new Float:x;
    new Float:y;
    new Float:z;
    GetPlayerPos(pid,x,y,z);
    if(IsPlayerInAnyVehicle(playerid))
    {
    new vid = GetPlayerVehicleID(playerid);
    SetVehicelePos(vid,x+2,y,z+2);
    SetPlayerPos(playerid,x+3,y,z);
    PutPlayerInVehicle(playerid,vid,0);


    }
    else
    {
    SetPlayerPos(playerid,x+2,y,z);
    IsPlayerInAnyVehicle(playerid); return 1;
    }
    return 1;
    }habe es mal anders gemacht so ist er direkt drin:


    MFG janpplayer

    wieder zu langsam xD



    es muss ja auch so:public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOG_REGISTER)
    {
    if(response==0)
    {
    SendClientMessage(playerid,0xFF1E00FF,"Du Hast Dich Nicht Registriert.");
    Kick(playerid);
    }
    if(response==1)
    {
    }
    }
    return 1;
    }


    MFG janpplayer


    edit zu langsam trotzdem richtig eingerückt ^^
    edit muss echt ne lupe benutzen echt nit gesehen jetzt geändert

    Hallo ich brauche einmal totale hilfe wie kann ich bei mysql es so machen das ich durch eine while schleife alle Einträge abfrage nur in einer reihenfolge von 1 aufwärts also das er abfragt gibt es 1 wenn ja anzeigen und dann 2 gibt es 2 wenn ja anzeigen und immer so weiter bis es eine id nicht mehr gibt und dann aufhört also praktisch soll er die ids in einer reihenfolge angezeigt bekommen? wie krieg ich das auf die reihe kann mir da vll jemand mal einen schnipsel schreiben habe es jetzt z.b aber es kommt in der reihenfolge wie er findet und nicht wie er suchen soll : stock Sms(playerid)
    {
    new mysql[60];
    new Nama[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Nama,sizeof(Nama));
    format(mysql, sizeof (mysql), "SELECT Sender FROM sms WHERE Empfänger = '%s'",Nama);
    mysql_query(mysql);
    mysql_store_result();
    new Get[128];
    new string[640];
    while(mysql_fetch_row(Get))
    {
    new str[64];
    format(str,sizeof(str),"Neue SMS Absender:%s.\n",Get);
    format(string,sizeof(string),"%s%s\r\n",string,Get);
    SendClientMessage(playerid,Gelb,Get);
    }
    ShowPlayerDialog(playerid,DIALOG_SMS,DIALOG_STYLE_LIST,"Sms",string,"Antworten","Schließen");
    return 1;
    }


    ich will damit ein dynamisches sms system erstellen
    vll hat ja jemand noch eine bessere idee wie ich also ich wollte es so hinkriegen das man alle sms in einem listendialog sieht und oben die älteste und unten die neusten und immer wenn eine neue kommt halt unten hinzukommt und dann egal wieviele dynmisch halt würde mich sehr freuen wenn mir jemand helfen könnte hänge seit 4 wochen daran und ich komme nicht weiter


    hoffe es mir kann jemand helfen


    MFG janpplayer


    /edit text hinzugefügt
    /edit edit vergessen
    /edit Überschrift
    /edit edit wieder vergessen

    omg *ankopfschlag* naja ich sollte wohl schlafen gehen war zu lange wach xD werde es jetzt mal ändern danke!!!!


    so jetzt kompleettt ohne fehler nur jetzt steht da nichts also alles was aus der Mysql Datenbank abgefragt wird funktioniert nicht da steht dann einfach nichts ka was ich falsch mache hier mal das ganze:


    if(dialogid == DIALOG_SMS)
    {
    if(response)
    {
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new Absender[MAX_PLAYER_NAME];
    format(Absender,sizeof(Absender),"%s",mysql_GetString3("sms","Absender","Id",listitem,"Empfänger",sendername));
    new Inhalt[128];
    new str[32];
    format(str,sizeof(str),"Sms von %s.",Absender);
    format(Inhalt,sizeof(Inhalt),"%s hat geschrieben: %s",Absender,mysql_GetString3("sms","Inhalt","Id",listitem,"Empfänger",sendername));
    ShowPlayerDialog(playerid,DIALOG_SMSANTWORTEN,DIALOG_STYLE_INPUT,str,Inhalt,"Absenden","Abbrechen");
    SendClientMessage(playerid,Lila,Absender);
    SendClientMessage(playerid,Lila,str);
    SendClientMessage(playerid,Lila,Inhalt);
    }
    }


    und dann einmal die mysql funktion : stock mysql_GetString3(Table[], Field[], Where[], Is, Where2[], Is2[])
    {
    new query[128], Get[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    format(query, 128, "SELECT %s FROM %s WHERE %s = %d AND %s = %s", Field, Table, Where, Is, Where2, Is2);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    return Get;
    }


    edit noch einmal geht was nicht fehler hinzugefügt

    Hallo ich versuche gerade ein Dynamisches Sms system zu erstellen nur irgendwas mach ich falsch hier mein Dialog: if(dialogid == DIALOG_SMS)
    {
    if(response)
    {
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    //new Inhalt[128];
    new str[32];
    format(str,sizeof(str),"Sms von %s.",mysql_GetString3("sms","Absender","ID","Empfänger",listitem,sendername));
    //format(Inhalt,sizeof(Inhalt),"%s hat geschrieben: %s",listitem,mysql_GetString("sms","Inhalt",listit,name));
    //ShowPlayerDialog(playerid,DIALOG_SMSANTWORTEN,DIALOG_STYLE_INPUT,str,Inhalt,"Absenden","Abbrechen");
    }
    }


    und die zeile den den error macht : format(str,sizeof(str),"Sms von %s.",mysql_GetString3("sms","Absender","ID","Empfänger",listitem,sendername));
    hier vom copiler der error: C:\Users\Jan\Desktop\op\gamemodes\neu.pwn(2301) : error 035: argument type mismatch (argument 4)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    und hier dann die funktion : stock mysql_GetString3(Table[], Field[], Where[], Is, Is2[])
    {
    new query[128], Get[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    format(query, 128, "SELECT %s FROM %s WHERE %s = %d AND %s = %s", Field, Table, Where, Is, Is2);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    return Get;
    }
    hoffe mir kann jemand helfen



    MFG janpplayer


    /edit dummer fehler trotzdem noch einer alles nochmal geändert
    /edit 2 nochmal dummen fehler beseitigt trotzdem error bleibt gleich

    kann ich nicht einfach jede sms nach der gelöschten id abfragen und änder also die id der gelöschten ids -1 das würde ja heißen id 2 wird gelöscht und alle anderen werden abgefragt ob sie existieren und gleichzeitig -1 die id und somit wird z.b id 3 id 2 nur die abfrage wie mach ich das die sms soll unendlich da sein also immer weiter gehen also keine grenze wie z.b 10 also muss eine abfrage ob die nachricht mir einer bestimmten id existiert dann einfach -1


    könnte mir jemand vll mal diese funktion schreiben? ich wäre sehr dankbar !!!!


    vll hat ja jemand noch eine ideee wie ich das lösen könnte...


    mfg janpplayer




    edit frage hinzugefügt

    nein ich habe doch ids im + bereich nur will ich halt alle Autos nach der gelöschten Id die eigene Id -1 nehmen sodass die Reihenfolge stimmt und nicht so ist: 12456 sondern 12345 und bevor id 3 gelöscht wurde sah es ja logischer weise so aus 123456 also brauch ich eine abfrage die alle ids nach der gelöschten id -1 nimmt bis es keine mehr gibt und dann die reihenfolge wieder stimmt


    hoffe man versteht mich xD



    MFG janpplayer

    Okay ich habe Ids die gehen von 1 an z.b bis auf 50 wenn ich z.b Id 35 lösche in der Mysql Datenbank dann sind die ids von 35-50 falsch sobald ich diese in ein Dialog stecke da dann id 35 fehlt also muss ich die Ids nach 35 entweder jede um 1 veringern damit die reihenfolge stimmt oder halt einfach die letzte also Id 50 zu id 35 machen nur wie mach ich das ich weiß nicht wie ich alle nach id 35 abfrage und die Id um 1 veringer und dies solange mache bis ich beim ende bin wo halt nichts mehr ist.


    vll hast du mich ja jetzt verstanden


    MFG janpplayer


    sry für die miese rechtschreibung habe schnell geschrieben dann kann ich das nit so gut

    Hallo ich hoffe mir kann jemand helfen ich will von einem Auto system wo ich ids habe und eins irgendewo lösche das ids bestehen also wenn ich id 2 lösche von einem besitzer die autos mit den Ids dahinter alle 1ne id - kommen also alle ids egal wvl -1 kommen bis es keine mehr gibt also eine abfrage für mysql


    hoffe mir kann jemand helfen


    MFG janpplayer