Beiträge von Equ

    SetPVarInt(playerid,"Mats",GetPVarInt(playerid,"Mats") -= strval(inputtext));
    Du hattest eine Klammer vergessen zu schließen :thumbup:


    Bekomme trotzdem ein Fehler:



    C:\Users\jresi_000\Desktop\RL\gamemodes\SCRScript.pwn(16589) : error 022: must be lvalue (non-constant)
    C:\Users\jresi_000\Desktop\ RL\gamemodes\SCRScript.pwn(16589) : error 001: expected token: ";", but found ")"
    C:\Users\jresi_000\Desktop\ RL\gamemodes\SCRScript.pwn(16589) : error 029: invalid expression, assumed zero
    C:\Users\jresi_000\Desktop\RL\gamemodes\SCRScript.pwn(16589) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    Hier mal der Gesamte Code:




    if(dialogid == DIALOG_YAKUZAMATSIMPORT)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid, DIALOG_YAKUZABANK,DIALOG_STYLE_LIST,"Yakuza Bank","Geld Einzahlen\nGeld Abheben\nMats Importieren\nMats Exportieren\nKokain Importieren\nKokain Exportieren\nLSD Importieren\nLSD Exportieren\nHaschisch Imporiteren\nHaschisch Exportieren\nKontostand","Okay","Abbrechen");
    return 1;
    }
    else
    {
    new string2[140];
    if(GetPVarInt(playerid,"Mats") < strval(inputtext)) return SendClientMessage(playerid,DUNKELROT," So viele Mats hast du nicht bei dir");
    YakuzaMats += strval(inputtext);
    SetPVarInt(playerid,"Mats",GetPVarInt(playerid,"Mats") -= strval(inputtext));
    format(string2,sizeof(string2),""#HWEIS"Du hast "#HGRUN"%d "#HWEIS"Mats in das Fraktionslager gepackt",strval(inputtext));
    SendClientMessage(playerid,WEIS,string2);
    FraktionsKasseSpeichern();
    return 1;
    }
    }

    Haha, macht doch nichts ^^
    Aber so Funktioniert es, danke euch beiden :)


    Ich auch, habe noch nicht mal richtig gefrühstückt :wacko:

    So habe ich es auch schon gehabt, funktioniert nicht:
    Kommt nur die Fehlermeldung.


    if(rot != 90 || rot != 180 || rot != 270 || rot != 360) return SendClientMessage(playerid,ORANGE,"Es sind nur Rotationen von 90 180 270 oder 360 erlaubt!");


    Und was meinst mit Rotation 0, muss ich da etwas bestimmtes beachten? :D
    Weil Rotation ROT-Z = 0 ist das selbe wie ROT-Z = 360

    Moin,



    Ich habe mal eine kleine frage, und zwar.
    Habe ich ein Dynamisches ATM - System gescriptet das Problem dabei ist nur, das bei der Rotations Angabe.
    Man jede Zahl auswählen kann, ich möchte aber das man NUR die Zahl 90, 180, 270 und 360 nehmen kann.


    Ich Poste euch mal hier meinen Code rein:



    ocmd:catm(playerid,params[])
    {
    if(PlayerDaten[playerid][pAdminlevel] != 2000)return SendClientMessage(playerid,DUNKELROT," Du hast kein Zugriff auf diesen Befehl!");
    {
    if(PlayerDaten[playerid][pTutorial] == 1)return SendClientMessage(playerid,ORANGE," Du bist noch in der Einführung!");
    if(PlayerDaten[playerid][pLogin] == 0)return SendClientMessage(playerid,ORANGE ," Du bist nicht Eingeloggt!");
    new text[16], Float:x,Float:y,Float:z,string[110], rot;
    if(sscanf(params,"s[16]i",text, rot)) return SendClientMessage(playerid,ORANGE,"Benutzung: /catm [Name] [Rotation: 90, 180, 270, 360]");
    if(rot == 90 || rot == 180 || rot == 270 || rot == 360) // Hier habe ich es so schon versucht, aber bringt nichts mache ich da etwas Falsch?
    if(strlen(text) > 16)return SendClientMessage(playerid,DUNKELROT,"Der Text darf Maximal nur 16 Zeichen enthalten!");
    GetPlayerPos(playerid,x,y,z);
    format(string,sizeof(string),"Geldautomat an: "#HWEIS"X: "#HROT"%f "#HWEIS"Y: "#HROT"%f "#HWEIS"Z: "#HROT"%f "#HWEIS"Erstellt.",x,y,z);
    SendClientMessage(playerid, WEIS, string);
    SetPlayerPos(playerid,x,y,z+2);
    CATM(x,y,z,text, rot);
    }
    return 1;
    }

    Ich bin nun wieder auf der Suche nach Aufträge, hier nochmal Informationen wie ihr mich erreichen könnt:
    [tabmenu]


    [tab='Kontakt Möglichkeiten','http://www.unser-kreis-pinneberg.de/wcf/icon/partnerL.png']
    Ihr könnt mich auf folgenden Instanzen erreichen:
    Skype - Equ_Res
    PN - KLICK
    Steam - equuillibrium
    [/tabmenu]

    Hast du die Include auch in den richtigen Pawno-Ordner -> Includes gepackt?
    Du musst es in den Pawno-Ordner packen, welches Pawno du auch benutzt..

    Gut ich danke dir erstmal!


    So es funktioniert jetzt alles soweit ich habe jetzt mal die Zufalls Funktion eingefügt,
    und es scheint zu funktionieren, nur ist das auch wirklich sicher? das es nur 1x die gleiche Zahl geben kann?


    CODE:



    stock CrewCreate(playerid, name[])
    {
    new Crewdatei[64];
    for(new crewid=1;crewid<MAX_CREWS;crewid++)
    {
    new randnr = random(100);
    format(Crewdatei,50,"/Crews/%s.ini",name);
    if(dini_Exists(Crewdatei))
    dini_Create(Crewdatei);
    dini_Set(Crewdatei,"Crewleiter", SpielerName(playerid));
    if(AvailableNR(randnr))dini_IntSet(Crewdatei,"CrewNR", randnr); //Checkt ob die Zahl verfügbar ist ( sehe Funktion unten )
    else //Neue Nummer generieren und abfragen
    return LoadCrew(crewid, name);
    }
    return 1;
    }


    stock LoadCrew(crewid, name[])
    {
    new Crewdatei[64]; format(Crewdatei,50,"/Crews/%s.ini",name);
    if(!fexist(Crewdatei))return 0;
    format(CrewInfo[crewid][Crewname],32,"%s",name);
    format(CrewInfo[crewid][CrewLeader],32,"%s",dini_Get(Crewdatei,"Crewleiter"));
    return CrewInfo[crewid][CrewID] = dini_Int(Crewdatei,"CrewNR");
    }


    stock AvailableNR(nr){
    new dir:dHandle = dir_open("./scriptfiles/Crews/");
    new item[40], type,datei[20];
    while(dir_list(dHandle, item, type))
    {
    if(type == FM_FILE)
    {
    format(datei,20,"/Crews/%s",item);
    if(dini_Int(datei,"CrewNR") == nr)return false; // Hier steht 'nr' müsste da nicht hin 'randnr' ?
    else return true;
    }
    }
    return dir_close(dHandle);
    }


    Grüße

    randnr habe ich noch nicht erstellt gehabt ^^
    Und der Filemanager funktioniert nicht. Ich hab das Include + Plugin in die jeweiligen ordner gepackt,
    und auch im Script Included, aber bekomme diese Fehlermeldung:


    fatal error 100: cannot read from file: "filemanager"

    Du kannst es auch anders machen..
    Was speicherst du alles in der Datei? ( wofür du nun eine zufällige Nummer usw brauchst )


    //E: Und wie lässt du es im Script laden?

    Ich brauche nur eine Nummer bzw Mehrere aber halt 1Nr für mein Crew System, um später zuzuordnen welcher Spieler in welcher Crew ist.


    so schaut es derzeit aus, mit Erstellen/Laden aus, speichern habe ich auch noch nicht gemacht:



    stock CrewCreate(playerid, name[])
    {
    new Crewdatei[64];
    for(new crewid=1;crewid<MAX_CREWS;crewid++)
    {
    format(Crewdatei,50,"/Crews/%s.ini",name);
    format(CrewInfo[crewid][Crewname],32,"%s",dini_Get(Crewdatei,"CrewNR"));
    if(!fexist(Crewdatei))
    {
    dini_Create(Crewdatei);
    dini_Set(Crewdatei,"Crewname",name);
    dini_Set(Crewdatei,"Crewleiter", SpielerName(playerid));
    dini_Set(Crewdatei,"CrewNR", randnr);
    return LoadCrew(crewid, name);
    }
    }
    return 1;
    }


    stock LoadCrew(crewid, name[])
    {
    new Crewdatei[64];
    format(Crewdatei,50,"/Crews/%s.ini",name);
    {
    if(!fexist(Crewdatei))return 0;
    {
    format(CrewInfo[crewid][Crewname],32,"%s",dini_Get(Crewdatei,"Crewname"));
    format(CrewInfo[crewid][CrewLeader],32,"%s",dini_Get(Crewdatei,"Crewleiter"));
    {


    }
    }
    }
    return 1;
    }


    Moin,



    Ich habe mal eine Frage und zwar, möchte ich eine Nummer generieren lassen nur gibt es da ein kleines Problemchen
    wie Überprüfe ich ob es diese Nummer schon gibt?
    Mir würde es wirklich weiter helfen wenn mir einer, ein kleinen Code posten würde wie es so auszusehen hat.
    Mein Dateisystem basiert auf DINI.



    Grüße

    Dieser Code wird mir nichts bringen da du:


    format(datei,75,"/Crews/%s.ini", name);




    Mit einem 'string' arbeitest, ich habe die Datei aber als Integer angegeben/erstellt.
    Um später besser zu zuordnen wie viele Crews es gibt, und um diese später wie ich es gewohnt bin auszulesen.


    Ich benötige Bloß nur die Funktion mit welcher man das alles bewältigen kann, mehr verlang ich nicht :D

    So ich habe jetzt mal ein wenig rum gebastelt und ...
    Es geht immer noch nicht :D



    Es kann doch wohl nicht zu schwer sein, eine Abfrage zu machen die überprüfen soll ob es den Crewnamen schon gibt oder NICHT :(


    Hier mein neuer Code:


    ocmd:crewerstellen(playerid, params[])
    {
    for(new crewid=1;crewid<MAX_CREWS;crewid++)
    {
    if(PlayerDaten[playerid][pEinfuerung] == 1)return SendClientMessage(playerid,ORANGE," Du bist noch in der Einführung!");
    if(PlayerDaten[playerid][pLogin] == 0)return SendClientMessage(playerid,ORANGE ," Du bist nicht Eingeloggt!");
    {
    new name[32], Crewdatei[50];
    format(Crewdatei,50,"/Crews/%d.ini",crewid);
    if(sscanf(params,"s[32]", name)) return SendClientMessage(playerid,ORANGE," Benutzung: /crewerstellen [Crewname]");
    if(strlen(name) > 32)return SendClientMessage(playerid,ROT," Der Crewname darf Maximal nur 32 Zeichen groß sein!");
    if(!strcmp(dini_Get(Crewdatei,"Crewname"),name,false))
    {
    new string[90];
    format(string, sizeof(string), "SYSTEM: Die Crew mit dem Namen %s wurde erfolgreich erstellt!", name);
    SendClientMessage(playerid, GRUN, string);
    SendClientMessage(playerid, ORANGE, "• CREW SYSTEM •");
    SendClientMessage(playerid, ORANGE, " Lade nun Leute mit /ceinladen, in deiner Crew ein!");
    CrewCreate(name);
    return 1;
    }
    else
    {
    SCM(playerid, ORANGE, " Gibts schon!");
    return 1;
    }
    }
    }
    return 1;
    }



    Ich hoffe es kann mir einer mal weiter helfen, ich zerbreche langsam aber sicher dran :D

    Der Befehl will irgendwie noch nicht ganz.
    Die Crews werden zwar erstellt wie gewollt, nur kann man immer noch ein Crewnamen nehmen der aber eigentlich schon Vergeben ist.


    Code:




    ocmd:crewerstellen(playerid, params[])
    {
    if(PlayerDaten[playerid][pEinfuerung] == 1)return SendClientMessage(playerid,ORANGE," Du bist noch in der Einführung!");
    if(PlayerDaten[playerid][pLogin] == 0)return SendClientMessage(playerid,ORANGE ," Du bist nicht Eingeloggt!");
    //if(PlayerDaten[playerid][pCrewCreated] == 1)return SendClientMessage(playerid, ORANGE, " Du hast bereits eine Crew erstellt!");
    //if(PlayerDaten[playerid][pLevel] == 25)return SendClientMessage(playerid, ORANGE, " Um eine Crew erstellen zu können benötigst du Level 25!");
    //if(PlayerDaten[playerid][pGeld] < 75000)return SendClientMessage(playerid, ORANGE, " Zum erstellen einer Crew wird 75.000$ benötigt!");
    new Crewname[32], Crewpfad[32];
    if(sscanf(params, "s[32]", Crewname))return SendClientMessage(playerid, ORANGE, "/createcrew [Wie soll deine Crew heißen?(MAX 32 Zeichen])]");
    format(Crewpfad,sizeof(Crewpfad),"/Crews/%i.ini", CrewID++);
    {
    if(strcmp(dini_Get(Crewpfad,"Crewname"),Crewname,true)==0)
    {


    new string[90];
    format(string, sizeof(string), "SYSTEM: Die Crew mit dem Namen %s wurde erfolgreich erstellt!", Crewname);
    SendClientMessage(playerid, GRUN, string);
    SendClientMessage(playerid, ORANGE, "• CREW SYSTEM •");
    SendClientMessage(playerid, ORANGE, " Lade nun Leute mit /ceinladen, in deiner Crew ein!");
    PlayerDaten[playerid][pCrewLeader] = 1;
    PlayerDaten[playerid][pCrewCreated] = 1;
    dini_Create(Crewpfad);
    dini_Set(Crewpfad,"Crewleiter",SpielerName(playerid));
    dini_Set(Crewpfad,"Crewname", Crewname);
    }
    else
    {
    new string[90];
    format(string, sizeof(string), "FEHLER: Die Crew mit dem Namen %s Existiert bereits!", Crewname);
    SendClientMessage(playerid, ROT, string);


    }
    }
    return 1;
    }

    Nein, Was ich wissen will ist wie frage ich etwas AUS einer DATEI ab nicht die DATEI SELBST
    Also deutlicher kann ich mich wirklich nicht ausdrücken ..


    Syno
    Ich weiß .. Ich sagte ja auch schon es ist Falsch da ich NICHT weiss wie/welche Abfrage man dafür benötigt ..


    Grüße

    Nein das Problem ist ganz einfach, ich komme nicht weiter


    Ich will nicht die CrewID auslesen sondern den NAMEN der Crew.
    Aber nur wie Lese ich diesen aus? ^^


    Weil so wäre es ja Falsch:



    format(Crewpfad,sizeof(Crewpfad),"/Crews/%i.ini", CrewID++);
    {
    if(dini_Int(Crewpfad,"Crewname"))
    {


    }
    }


    Grüße

    Moin



    Ich habe mal eine kurze Frage und zwar, komme ich gerade nicht weiter ..
    Ich möchte halt abfragen ob der Crewname schon vergeben ist, nur blicke ich da nicht ganz durch..
    Hoffe ihr könnt mir da weiter helfen ^^



    Code:



    ocmd:crewerstellen(playerid, params[])
    {
    if(PlayerDaten[playerid][pEinfuerung] == 1)return SendClientMessage(playerid,ORANGE," Du bist noch in der Einführung!");
    if(PlayerDaten[playerid][pLogin] == 0)return SendClientMessage(playerid,ORANGE ," Du bist nicht Eingeloggt!");
    //if(PlayerDaten[playerid][pCrewCreated] == 1)return SendClientMessage(playerid, ORANGE, " Du hast bereits eine Crew erstellt!");
    //if(PlayerDaten[playerid][pLevel] == 25)return SendClientMessage(playerid, ORANGE, " Um eine Crew erstellen zu können benötigst du Level 25!");
    //if(PlayerDaten[playerid][pGeld] < 75000)return SendClientMessage(playerid, ORANGE, " Zum erstellen einer Crew wird 75.000$ benötigt!");
    new Crewname[32], Crewpfad[32];
    if(sscanf(params, "s[32]", Crewname))return SendClientMessage(playerid, ORANGE, "/createcrew [Wie soll deine Crew heißen?(MAX 32 Zeichen])]");
    format(Crewpfad,sizeof(Crewpfad),"/Crews/%i.ini", CrewID++);
    {
    if(dini_Int(Crewpfad,"Crewname"))
    {
    new string[90];
    format(string, sizeof(string), "FEHLER: Die Crew mit dem Namen %s Existiert bereits!", Crewname);
    SendClientMessage(playerid, ROT, string);
    }
    else
    {
    new string[90];
    format(string, sizeof(string), "SYSTEM: Die Crew mit dem Namen %s wurde erfolgreich erstellt!", Crewname);
    SendClientMessage(playerid, GRUN, string);
    SendClientMessage(playerid, ORANGE, "• CREW SYSTEM •");
    SendClientMessage(playerid, ORANGE, " Lade nun Leute mit /ceinladen, in deiner Crew ein!");
    PlayerDaten[playerid][pCrewLeader] = 1;
    PlayerDaten[playerid][pCrewCreated] = 1;
    if(!fexist(Crewpfad))
    {
    dini_Create(Crewpfad);
    dini_Set(Crewpfad,"Crewleiter",SpielerName(playerid));
    dini_Set(Crewpfad,"Crewname", Crewname);
    }
    }
    }
    return 1;
    }

    Moin,



    Ich habe mal eine Frage, und zwar ist es irgendwie möglich,
    jeden Befehl den ich mit OCMD geschrieben habe herauszufinden?


    Weil ich habe nicht gerade wenig Befehle und würde da nämlich alle einfach mal irgendwie auflisten Lassen.




    Grüße