Beiträge von Bread

    Folgendes Problem:


    Ich will das man bei einem Dialog sein Geburtsjahr angeben muss:




    if(dialogid==DIALOG_AGE)
    {
    if(response==1)
    {
    if(sscanf("i",inputtext)){ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,"Anmelden - Schritt 2","Gib bitte deinen Geburstag an.\n~r~(Ungueltige Angabe)","Okay","Abbrechen");}
    else
    {
    if(inputtext<=1978 || inputtext==""){ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,"Anmelden - Schritt 2","Gib bitte deinen Geburstag an.\n(In Jahren bsp. 1996)","Okay","Abbrechen");}//Fehler Nummer 1
    else if(inputtext>=1979){ShowPlayerDialog(playerid,DIALOG_AGE_2,DIALOG_STYLE_LIST,"Anmelden - Schritt 2","Gib deinen Geburts Monat ein:\nJanuar\nFebruar\nMaerz\nApril\nMai\nJuni\nJuli\nAugust\nSeptember\nOktober\nNovember\nDezember","Okay","Abbrechen");}//Fehler Nummer 2
    }
    }
    else if(response==0){ShowPlayerDialog(playerid,DIALOG_AGE_ABBRECHEN,DIALOG_STYLE_MSGBOX,"Anmelden - Schritt 2 Abbrechen","ACHTUNG:\nWenn du diesen Schritt abbrichst wird dein Account geloescht und du musst dich neu Anmelden!","Okay","Abbrechen");}
    }


    Jedoch bekomme ich den Fehler "array must be indexed (variable "inputtext")" 2 mal, was mache ich falsch???

    Hallo ich habe heute gesehen das auf meinem Script das folgende nocht moeglich ist:


    Spoiler anzeigen
    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Sprich es wird durch ein AHK Script immer wieder gefischt


    Das AHK Script:

    Spoiler anzeigen
    F3::
    SendInput {t}/fish{enter}
    Sleep 1
    SendInput {t}/fish{enter}
    Sleep 1
    SendInput {t}/fish{enter}
    Sleep 1
    SendInput {t}/fish{enter}
    Sleep 1
    SendInput {t}/fish{enter}
    Sleep 1
    SendInput {t}/sell Fish Fish 1{enter}
    Sleep 1
    SendInput {t}/sell Fish Fish 2{enter}
    Sleep 1
    SendInput {t}/sell Fish Fish 3{enter}
    Sleep 1
    SendInput {t}/sell Fish Fish 4{enter}
    Sleep 1
    SendInput {t}/sell Fish Fish 5{enter}
    Sleep 1
    SendInput {t}/throwbackall{enter}
    Sleep 1
    return


    WIe kann man das fixxen? Einfach nen Anti Spam einbauen, den Job fischer entfernen ?


    Vlt. kann mir ja jemand Codeschnipsel fuer nen Anti Spam schicken oder kurz erklaeren wie man das macht.

    Ich hab schon bei den LSPD/SAPD Cars geguckt. Da sind ueberhaupt keine NRG's drinn.


    Keine Ahnung deswegen frag ich ja


    INCLUDES:
    #include <a_samp>
    #include <a_npc>
    #include <core>
    #include <float>
    #include <time>
    #include <dini>
    #include <file>
    #include <utils>
    #include <morphinc>
    #include <M_Bot>
    #include <streamer>
    #include <w_baum>
    #include <ocmd>
    #include <Desk>
    #include bfx_objects

    Guten Tag Breadfish,
    ich arbeite gerade daran ein GF umzuscripten, unter anderem habe ich schon Fraktionsfahrzeuge geaendert/entfernt/geaddet sowie neue Funktionen eingebaut.


    Doch bei den Fraktionscars bzw. bei den Cars ansich ist mir ein Problem aufgefallen:


    Es steht ueberall einfach Cars die keinen Sinn ergeben
    (z.B.: In der LSPD-Garage(3 Schwarz-Weisse NRG's) vor dem LSPD enbenfalls 3 schwarz weisse nrgs ein Comet in der FBI base und und und...


    Wisst ihr woran das liegt bzw wo die Cars liegen (also Script, Scriptfiles, etc.)


    vlt. hatte ja einer von euch das selbe Problem


    MfG


    xXSeXyBreaDXx

    Ich wollte in mein Script so etwas aehnliches wie bei Life of German einbauen:


    Es geht darum:


    Wenn sich ein Fraktions Member eine Waffe aus dem Waffenlager nimmt soll dies in eine Liste eingetragen werden, mein Code sieht so aus Funktionier abert nicht:


    Die Datei MUSS per Hand erstellt haben, was ich hier natuerlich getan habe.
    public OnGameModeInit()
    {
    if(!dini_Exists("waffenlager.txt"))
    {
    print("waffenlager.txt ist nicht vorhanden!");
    SendRconCommand("exit");
    }
    }


    ocmd:waffenlager(playerid,params[])
    {
    ShowPlayerDialog(playerid,0,DIALOG_STYLE_LIST,"Waffen Lager:","Desert Eagle\nMP5\nM4A1\nSniper\nRPG 7","Nehmen","Abbrechen");
    return 1;
    }


    Ja, ich weiss das man das mit Switch(listitem) und case(0/1/2/..):{} haette machen koennen aber wenns schnell gehe benutz ich halt die If-Abfragen


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==0)
    {
    if(response!=0)
    {
    new iToString[5];
    new String[128];
    new x[5]="1000";
    format(String,sizeof(String),"Fehler!");
    if(listitem==0)
    {
    format(String,sizeof(String),"Desert Eagle!");
    for(new i=0; i>1000; i++)
    {
    format(iToString,sizeof(iToString),"%i",i);
    if(!dini_Isset(Waffenlagerfile,iToString))
    {
    new WaffenText[264];
    format(WaffenText,264,"%s hat um %s Uhr am %s die Waffe >Desert Eagle< genommen!",GetNameOfPlayer(playerid),GetZeit(),GetDatum());
    print(WaffenText);
    dini_Set(Waffenlagerfile,iToString,WaffenText);
    return 1;
    }
    if(dini_Isset(Waffenlagerfile,iToString)){return 0;}
    if(dini_Isset(Waffenlagerfile,x))
    {
    dini_Remove(Waffenlagerfile);
    dini_Create(Waffenlagerfile);
    }
    }
    }
    if(listitem==1)
    {
    format(String,sizeof(String),"MP5!");
    }
    if(listitem==2)
    {
    format(String,sizeof(String),"M4A1!");
    }
    if(listitem==3)
    {
    format(String,sizeof(String),"Sniper!");
    }
    if(listitem==4)
    {
    format(String,sizeof(String),"RPG 7!");
    }
    SendClientMessage(playerid,weiss,String);
    }
    else
    {
    SendClientMessage(playerid,weiss,"Du hast das Waffenlager verlassen.");
    }
    }
    return 1;
    }



    Falls ihr noch die benutzten Stocks braucht:

    Spoiler anzeigen
    stock GetNameOfPlayer(playerid)
    {
    new PlayerName[MAX_PLAYER_NAME];
    if(IsPlayerConnected(playerid)){GetPlayerName(playerid,PlayerName,MAX_PLAYER_NAME);}
    else if(!IsPlayerConnected(playerid)){format(PlayerName,sizeof(PlayerName),"Fehler!");}
    return PlayerName;
    }

    Spoiler anzeigen
    stock GetZeit()
    {
    new Stunde, Minute, Sekunde;
    new String[128];
    gettime(Stunde,Minute,Sekunde);
    format(String,sizeof(String),"%i:%i:%i",Stunde,Minute,Sekunde);
    return String;
    }

    Spoiler anzeigen
    stock GetDatum()
    {
    new Jahr, Monat, Tag;
    new String[128];
    getdate(Jahr,Monat,Tag);
    format(String,sizeof(String),"%i:%i%i",Tag,Monat,Jahr);
    return String;
    }

    Ich hab heute seit langem mal wieder was gescriptet doch wenn ich jetzt den Server starte bekomme ich einen Fehler:



    Beim Compilen selbst werden im Script keine Fehler angezeigt.


    Der Fehler bekomme ich egal was ich mache, ob jetzt ein Script hier aus dem Forum oder ein eigenes...

    Ich hab einfach mal ein Beispiel fuer dich:
    Musst es dir ja nicht angucken ;)

    Spoiler anzeigen

    if(strcmp(cmdtext,"/report")==0)
    {
    new MaxReportFiles=100;
    new ReportFile[128];
    for(new i; i<MaxReportFiles; i++)
    {
    format(ReportFile,sizeof(ReportFile),"/report/report%i.txt",i);
    if(!dini_Exists(ReportFile))
    {
    dini_Create(ReportFile);
    dini_Set(/*Deine Daten und so*/)
    }
    }
    return 1;
    }

    Das ist jetzt bloed, der Server ist fuer Linux, habe aber WIndows, ergo bringt das auch nicht viel.


    So wie ich das jetzt sehe, liegt der fehler aber wahr. im Script