Beiträge von janpplayer

    so wie mach ich das jetzt weiter wie lad ich die variablen dann wenn ich das mit der while abfrage hab


    also meine frage ist jetzt wie lad ich das jetzt richtig weiter ? evtl ein beispiel... von einem anderen muss jetzt nicht speziefich für mich sein..


    stock LoadAllFraktions()
    {
    new mysql[30];
    format(mysql, sizeof (mysql), "SELECT * FROM fraktionen");//ORDER BY ÌD DESC
    mysql_query(mysql);
    mysql_store_result();
    new Get[2048];
    while(mysql_fetch_row(Get))
    {
    // hier die ganzen variablen
    F_Anzahl++;
    FId,
    FIddb,
    FName[MAX_FRACTION_LENGTH],
    FArt[24],
    FLowName[24],
    Rang[24],
    Rang2[24],
    Rang3[24],
    Rang4[24],
    Rang6[24],
    RangLeader[24],
    HatInt,
    Int,
    Virtualworld, // bis hier 14
    Float:Eingang[3],// 17
    Float:Ausgang[3],// 20
    Float:Eingang2[3],// 23
    Float:Ausgang2[3]// 26
    EingangInt,
    EingangVirtualWorld,
    AusgangInt,
    AusgangVirtualWorld,
    Eingang2Int,
    Eingang2VirtualWorld,
    Ausgang2Int,
    Ausgang2VirtualWorld,
    SaveboxEin,//35
    Savebox[3]//38
    }
    }
    MFG



    //edit noch paar sachen hinzugefügt
    // edit frage
    // edit verdäutlicht

    Weil dies ein Dynamisches Fraktionssystem werden sollte.


    Jetzt hänge ich nur daran das ich das nit hinkrieg mit dem Dummen Ids das selbe problem hatte ich schonmale..



    vll hat ja jemand ne idee wie man es anderes laden könnte außer eine for schleife mit MAX_FRAKTIONS?



    MFG

    Hallo wie lade ich perfekt z.b eine Fraktion aus der Mysql Datenbank weil wenn ich eine lösche besteht in der datenbank die id nicht mehr und bei laden vergisst er dann die weiteren das würde heißen


    Reihenfolge vor dem löschen: 12345


    Reihenfolge nach dem löschen: 1245


    dann hört mein system auf zu laden weil es fraktion 3 nicht findet darüber hinaus wird irgendwann mal eine max variable von 50 überschritten die dann höher geht da ich ja autoincredment nutze wird in der datenbank z.b die nur 51 geben aber die 50,49 nicht und dann funktioniert es nicht wie umgehe ich dieses problem?



    MFG

    also es soll in mein rang system


    es funktioniert so es ist eine liste der oberste ist der höchste und der niedrigste der tiefste rang


    Also z.b so:


    Ränge Bearbeiten
    Rang Hinzufügen
    Rang1
    Rang2
    Rang3


    es soll alles ingame passieren als leader wenn ich jetz dann kann ich das ja nicht statisch machen




    dies währe dann mein dialog :
    Ränge Bearbeiten\n\rRang Hinzufügen\n\rRang1\n\rRang2\n\rRang3\n\r


    hinterher würde er z.b so aussehen: Ränge Bearbeiten\n\rRang Hinzufügen\n\rRang1\n\rRan2\n\rRanggabc\n\rRang3\n\r


    also muss ich irgendwie berechnen wo hin das kopiert werden soll nur wie kann den string zählen bis ich an der stelle bin?


    kann ich mit strfind irgendwie verwenden um zu überprüfen an welcher stelle etwas steht?


    nur wie wende ich es an ?


    wenn ich einen beispiel string hab:


    Ränge Bearbeiten\n\rRang Hinzufügen\n\rRang1\n\rRang2\n\rRang3\n\r


    kann ich mit strfind abfragen wo "Rang2\n\r" steht? also an welcher stelle?


    da strfind irgendsone funktion hat nur ich weiß nicht wie ich die anwende (const string[],const sub[],bool:ignorecase=false,pos=0)
    const string[] The string you want to search in (haystack).
    const sub[] The string you want to search for (needle).
    ignorecase (optional) When set to true, the case doesn't matter - HeLLo is the same as Hello. When false, they're not the same.
    Position (optional) The offset to start searching from.



    Returns The number of characters before the sub string (the sub string's start position) or -1 if it's not found.




    //edit textlich verändert


    //edit nochmal verändert


    //edit funktion die evtl helfen kann

    danke.. jetzt bin ich ein stück weiter... das samp wiki und sa-mp.com ist ja down -.-


    jetzt muss ich nurnoch scharf nachdenken ... xD


    strins(string[], const substr[], pos, maxlength=sizeof string);


    quasi muss ich jetzt nurnoch die position finden wie mach ich dass nochmal?
    sry ich hab grad voll den blackout... :(


    MFG

    Hallo wie kann ich bei einem string etwas an einer bestimmten etwas einfügen hier mal ein beispiel..



    Abcdefg


    jetzt möchte ich vor dem c hinter dem b etwas einfügen so das z.b das j eigefügt sein soll hier mal beispiel:



    Abjcdefg so solls sein



    hoffe mir kann jemand helfen


    MFG



    janpplayer :)

    Hallo wie ersetze ich etwas in einem string genau an dieser stelle


    ich hab z.b einen string für einen dialog "Jan\n\rJan2\n\rJan3"


    jetzt möchte ich jan2 löschen und gegen einen anderen namen ersetzen wie mach ich das?


    also soll es dann so aussehen z.b "Jan\n\rTim\n\rJan3"


    und noch eine frage was bedeutet eigl \r nochmal habs vergessen finds auch nit im samp wiki unter showplayerdialog


    MFG janpplayer


    //edit erleuterung

    okay es funktioniert perfekt ...




    eine frage wie kann ich das jetzt machen das ich immer die nächste volle zahl aufrunde`?



    MFG


    //edit sehr komische rechtschreibung :D

    x,y,z sind koordinaten kennst du bestimmt von mathe x achse ,y achse und die z achse ist demnach die höhe quase wie breitengrade und soo nur halt x,y und z nur die höhe


    du gehst einfach in die nähe des objektes und machst /save tor das tor steht dafür damit du später erkennst das du das gespeichert hat da könnten ja auch noch mehr koordinaten drinnstehen


    so die Koordinaten sind die : wenn du das gespeicherte hast das so z.b aussieht: AddPlayerClass(277,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,0,0); // tor


    dann sind das die x,y,z : 1958.3783,1343.1572,15.3746,269.1425 die suchst du einfach in OnGameModeInit und wenn du welche gefunden hast die fast übereinstimmen können ja abweichen weil du ja nicht genau da stehst wo das objekt erstellt wurde


    dann guckst du einfach wenn es CreateObject(123,1234,5678,91011,.....); demnach währe 123 die Object ID und 1234,5678,91011 die x,y,z koordinaten und dann nimmst du einfach die object id und suchst sie bei google oder so und guckst ist es das tor und wenn ja löschst du einfach diese zeile ganz einfach



    MFG

    new Float:voll2;
    voll2 = (6 / strlen(fertigsms)) * 100;
    new volltxt[64];
    format(volltxt,sizeof(volltxt),"Vollfertig prozent: %f.",voll2);
    print(volltxt);


    leider immernoch nit es steht im print: Vollfertig prozent: 0.000000.


    MFG

    ja dann geh in die nähe des gates so nah wie möglich und dann mach ingame /save gate guck in eigene dateien in den samp ortner nach savepositons öffnest du mit textdokument dann guckst du dir die x,y,z achsen an und suchst nach einem gate was ungefär die koordinaten hat dann gehst du in pawn nach OnGameModeInit und suchst nach CreateObject und dann da die koordinaten vergleichen und prüfen ob sie ungefär übereinstimmen könnten am besten wär es wenn du die object id wüstest dann könntest du die auch prüfen dann halt diese zeile löschen und neu compilen.. hier noch mal: http://wiki.sa-mp.com/wiki/CreateObject


    MFG

    Geht trotzdem nicht wir immer 0.000000 angezeigt und ich machs ja so hab es jetzt so: new Float:voll2=6/strlen(fertigsms);
    new volltxt[64];
    voll2*=100;
    format(volltxt,sizeof(volltxt),"Vollfertig prozent: %f%.",voll2);



    MFG

    // edit so jetzt näher gekommen


    ich rechne jetzt so (650/100)strlen(...)


    aber ingame ist es 0 oder als Float 0.000000


    hier mal mein teil: new fertigsms[650];
    format(fertigsms,sizeof(fertigsms),"Zurück\nAnrufen\nSms Schreiben\nPosteingang\n%s",string);
    new Float:voll2=6/strlen(fertigsms);
    new volltxt[64];
    voll2*=100;
    format(volltxt,sizeof(volltxt),"Vollfertig prozent: %f%.",voll2);



    MFG

    aber ich möchte kein festen befehl haben kann ich denn abfragen ob das /c existiert und dann da hinter die for schleife und dann halt obs /cfraktion oder /ckeineahnung oder /cclub ...



    MFG

    geht leider nicht ... hab schon alles probiert...


    das problem ist das ich praktisch die for schleife nach der abfrage machen müsste oder etwas stimmt mit der abfrage nicht das die angibt das der befehl übereinstimmt obwohl es nicht so ist


    // edit hab es jetzt mal so aber geht immernoch nit : public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/r", true))
    {
    for(new i = 0; i < max_p; i++)
    if(IsPlayerConnected(i))
    {
    if(GetPVarInt(i,"Eingeloggt")==1)
    {
    SavePlayer(i);
    }
    }
    SetTimer("restart",5000,0);
    return 1;
    }
    if(!strcmp(cmdtext, "/handy") || !strcmp(cmdtext, "/h"))
    {
    Handy(playerid);
    return 1;
    }
    if(!strcmp(cmdtext,"/chatein",true))
    {
    format(CInfo[1][CKuerzel],24,"/fraktion");
    SendClientMessage(playerid,Lila,CInfo[2][CKuerzel]);
    return 1;
    }
    else for(new i = 1; i < MAX_CHATS; i++)
    {
    SendClientMessage(playerid,Rot,CInfo[i][CKuerzel]);
    if(!strlen(cmdtext))
    {
    return 0;
    }
    else
    {
    if(!strcmp(cmdtext,CInfo[i][CKuerzel],true))
    {
    SendClientMessage(playerid,Rot,"Blabla");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Diesen Befehl gibt es nicht.");
    }
    }
    return 0;
    }
    return 0;
    }
    // edit frage hinzugefügt


    geht das wenn ich als erstes abfrage ob z.b if(!strcmp(cmdtext, "/c", true))
    eingegeben wurde müsste ja dann mach ich das so das mit dem chat system immer erst /c(und dann da hinter der verschiedene text währe wie z.b fraktion oder f) hier ein beispiel /cf oder /cfraktion