Beiträge von FoxHound

    Ich wolte mal fragen wie man eine bestimmte Zeile von einer Datei lesen kann.


    Bsp.:
    Ich habe ein File mit dem namen "dumbass.txt" und das ist der Inhalt:

    Code
    you are a dumbass
    you are not a dumbass
    we are the world
    we are a dumbass
    lölllll
    lol don't read this


    Will da direkt die Zeile 3 lesen ("we are the world").
    Wie mache ich das? ^^


    Peace'n'Lovez,
    FoxHound.

    Hey.
    Ich habe in die Wiki's geguckt, die Suchfunktion benutzt, etc.
    Habe aber keine Liste von diesen ganzen \r \n und so Zeichen und ihren Funktionen bekommen.
    Deswegen fand ich es nötig,über die Escape Sequenzen ein Thread zu erstellen:


    • \a
      Wenn ich das benutze kommt von meinem PC ein "Biep!"-Ton. Mehr weiß ich auch nicht.
    • \b
      Hat die Funktion von der Taste "Backspace". Also es löscht einen Zeichen vor sich selbst:


      Wenn wir das im Script so benutzen:
      print("Das e wird gelöscht: bre\badfish");
      Wird das in der Konsole so ausgegeben:

      Zitat

      Das e wird gelöscht: bradfish


    • \e
      Schreibt einen Pfeil der nach Links zeigt.


      print("Dieser Pfeil zeigt mich: \e
      Würde das hier ausgeben in der Konsole:

      Zitat

      Dieser Pfeil zeigt mich: <-


    • \f
      Schreibt das Venus Symbol:


      print("\f ist das Venus-Symbol");
      Würde das hier ausgeben:

      Zitat

      ist das Symbol von Weibern


    • \t
      Hat die gleiche Funktion von der Tabulator-Taste in Pawno:


      print("a \t- ich bin von 'a' ziemlich entfernt :-(");
      print("a - ich aber nicht, haha! >:-D");
      //PS: Ich habe kein '\n' benutzt da das ja unten erklärt wird und damit man es aufm ersten blick versteht
      So wird das hier in der Konsole ausgegeben:

      Zitat

      a - ich bin vom zeilenanfang weit entfernt
      a - ich aber nicht, haha! >:-D


    • \\
      Gibt einen ganz normalen '\' Zeichen aus (weil der Kompiler gibt ein Error wenn es alleine und ohne Zeichen benutzt wird)


      print("Ich bin Cool, ich habe ein '\\' Zeichen!");
      Das hier wird ausgegeben:

      Zitat

      Ich bin Cool, ich habe einen '\' Zeichen!


    • \v
      Schreibt das Mars-Symbol ^^
      So etwa:


      print("\v ist das Zeichen von Männern");
      So wird das hier ausgegeben:

      Zitat

      ist das Mars-Symbol.


    • \x
      Unterbricht die Eingabe in die Konsole.


      print("bread\xfish");
      Das hier wird ausgegeben:

      Zitat

      bread


    • \r
      Löscht alles was vor sich selbst kommt. Naja... :D


      print("Ich und \rMein Hühnchen!");
      Das wird dann ausgegeben :> :

      Zitat

      Mein Hühnchen!


    • \n
      Beginnt in eine neue Zeile zu schreiben:


      print("-Ich bin Cool!\n-Schön für dich!\n-Du also nicht? o.O");
      Das wird dann ausgegeben:

      Zitat

      -Ich bin Cool!
      -Schön für dich!
      -Du also nicht? 8|


    Ich hoffe ich konnte euch -auch wenn nur ein bisschen- etwas geben.
    Wenn ich was adden soll, einfach Post schreiben ^^
    Peace.

    Das ist das normalste was ich bisher gelesen hab ^^
    Nachdem du checkst ob der Spieler einen PArameter angegeben hat oder nicht, beendest du die Funktion nicht. So würd's funktionieren:
    COMMAND:kick(playerid,params[]) {
    new pID;
    if(!IsPlayerAdmin(playerid)) {
    return SendClientMessage(playerid,COLOR_WHITE,"Du bist kein Administrator");
    }
    if(sscanf(params,"u",pID)) { //HIER hat FoxHound einen "return" eingefügt
    return SendClientMessage(playerid,COLOR_WHITE,"Benutze: /kick [Name | ID]");
    }
    if(!IsPlayerConnected(pID)) {
    SendClientMessage(playerid,COLOR_WHITE,"Spieler konnte nicht gefunden werden");
    }
    Kick(pID);
    SendClientMessage(playerid,COLOR_WHITE,"Spieler wurde vom Server gekickt!");
    return 1;
    }

    Ich habe dich mit meinem Post net angegriffen, aber du musst es ja unbedingt.
    Ich sage es nochmal in einem ordentliche Ton im gegenteil zu dir: Die, die ".... Reallife" heissen, haben nicht alle den gleichen Namen.
    Ich habe dir nicht befohlen es umzubenennen, dazu habe ich kein recht (genau so wie du auch kein Recht hast mir zu sagen das ich erst denken soll).
    Ich habe es dir nur empfohlen.


    Was denkst du eigentlich?
    Sagen wir einer hat seinem Freund dieses Script empfohlen.
    Er gibt im SuFu "GangWars" ein und stoßt auf alles andere als deins?


    Naja, ist dir überlassen was du tun willst, wollte dich nur darauf aufmerksam machen und hab mein "Dankeschön" bekommen mit einem "Erst überlegen-->dann posten".


    Peace

    Lol aber echt.
    Die SuFu gibts net umsonst.


    [ GAMEMODE ] GangWars TDM


    Und dazu geben es noch genug Server die GangWars heißen.
    Wenn ich an deiner Stelle wäre, würde ich das GameMode umbenennen.
    Nicht nur wegen dem URL da oben, sondern wegen den x-mal vielen Servern mit diesem Namen wie "GangWars" und "MafiaWars"

    Hiho :)


    Ja ich hätte einen Vorschlag für die Signaturen.


    Man konnte im alten Forum ja große Signaturbilder haben.
    Meines war so 431 x 116 Pixel und 40-50 KB groß.


    Ja wie ihr wisst hat ImageShack die Bilder blockiert für die, die nicht registriert sind, deswegen musste ich mein Siggi woanders hochladen und mein Siggi aktualisieren.


    Aber das Problem ist, dass wenn ich auf "Absenden" klicke, steht dass meine Signatur zu groß sei.


    Deswegen schlage ich vor, die Maximale Signaturgröße auf 100 KB oder zu 75 KB zu limitieren (weil 530x200 Pixel sind schon ok, aber die KB limitierung sollte man bissl höher stellen).


    PS.: Für die URL "... ungelesene Beiträge" bedanke ich mich bei breadfish und den anderen die Downloads gepostet haben und Info's etc..


    Peace'n'Lovez,
    FoxHound.

    Naja nur mal meine Meinung dazu... :
    DeAMX ist nichts als ein unnütz.
    Versuch mal eine AMX datei zu DeAMX'n und versuch es zu compilen.


    Schon wenn du es schaffst das Script zu compilen, kannst du auch keine änderungen daran machen, da du das Script sowieso nicht verstehst.
    (abgesehen von kleinen Scripts die nur so ca. 500-750 zeichen haben)

    Mit dieser Funktion:


    stock StopPlayerVehicle(playerid)
    {
    new veh=GetPlayerVehicleID(playerid),Float:vPos[3],pseat;
    GetVehiclePos(veh,vPos[0],vPos[1],vPos[2]);
    pseat = GetPlayerVehicleSeat(playerid);
    RemovePlayerFromVehicle(playerid);
    SetVehiclePos(veh,vPos[0],vPos[1],vPos[2]);
    PutPlayerInVehicle(playerid,veh,pseat);
    }


    Edit: Code verbessert.

    Auch die Steckbriefe sind Weg, und diese ganzen Tabs die vorhin auch da waren.


    Ich glaube, breadfish weiß es dass die nicht mehr da sind, da er ja im Text der im blauen Box steht sagt, dass wir unsere Steckbriefe in den "Über Mich" Bereich im Profil kopieren sollen... ^^

    Achso ok danke, ich fixx es jetz :D
    Und ja, ich habs aufm HomeServer getestet und es funktioniert wunderbar.


    ToggleVehicleEngine


    Kleine, aber eine gute Funktion. Benutze ich auch selbst, dann muss ich auch net immer soviele Sachen schreiben.


    http://pastebin.com/WuqyW2fs
    stock ToggleVehicleEngine(vehicleid,toggle) {
    new data[7];
    GetVehicleParamsEx(vehicleid,data[0],data[1],data[2],data[3],data[4],data[5],data[6]);
    SetVehicleParamsEx(vehicleid,toggle,data[1],data[2],data[3],data[4],data[5],data[6]); }


    €dit:// Kleine Rechtschreibfehler gefixxt.


    €dit 2:// ToggleVehicleEngine.

    SetVehicleNumberPlateEx


    Da ja jeder ein Tutorial aufmacht (soviel ich bemerkt hab), oder danach fragt wie man Nummernschilder erstellt ohne Fahrzeuge zu respawnen, habe ich mal eine neue Funktion dafür gemacht:
    http://pastebin.com/jBY5Q3wK


    stock SetVehicleNumberPlateEx(veh, string[]) //bY FoxHound
    {
    new i=0,Float:vPos[4],vDmg[4],carMod[16],seat[MAX_PLAYERS]={-1,...};
    GetVehiclePos(veh,vPos[0],vPos[1],vPos[2]);
    GetVehicleZAngle(veh,vPos[3]);
    GetVehicleDamageStatus(veh,vDmg[0],vDmg[1],vDmg[2],vDmg[3]);
    for(i=0; i<GetMaxPlayers(); i++) {
    if(IsPlayerConnected(i) && IsPlayerInVehicle(i, veh)) {
    seat[i]=GetPlayerVehicleSeat(i); RemovePlayerFromVehicle(i); } }
    for(i=0; i<=13; i++) { carMod[i]=GetVehicleComponentInSlot(veh,i); }
    /**/SetVehicleNumberPlate(veh,string);
    SetVehicleToRespawn(veh);
    SetVehiclePos(veh,vPos[0],vPos[1],vPos[2]);
    SetVehicleZAngle(veh,vPos[3]);
    for(i=0; i<=13; i++) { AddVehicleComponent(veh,carMod[i]); }
    UpdateVehicleDamageStatus(veh,vDmg[0],vDmg[1],vDmg[2],vDmg[3]);
    for(i=0; i<GetMaxPlayers(); i++) {
    if(IsPlayerConnected(i) && seat[i]!=-1) {
    PutPlayerInVehicle(i,veh,seat[i]); } }
    }

    ALLE Spiele gehen, ausser die, die eine höhere Firmware als dein benötigen.


    @breadfish://
    Achso habs verstanden, man muss soviel RAM benutzen wie es nur geht, und da der WLAN-Schalter ja auch ne Menge RAM benutzt (soviel ich weiß)... ^^

    Also naja, z.B. wenn Sony 6.00 released, darfst du es bloß NICHT Updaten, sondern erst, wenn die CustomFirmware von 6.00 veröffentlicht werden.


    Das sage ich, da du dann die Spiele die z.B. auf 6.00 bissl später zocken kannst.


    Also mit einem Beispiel würde man das besser verstehen:
    z.B. du hast CFW 5.53, aber Sony hat 6.00 veröffentlicht.
    Und danach kommt ein Spiel für 6.00, und du hast es gekauft.
    Das Spiel kannst du erst spielen, wenn die Custom Firmware von 6.00 kommt.
    Verstehst du ? ^^
    Falls nicht, erklär ich dir das dann nochmal ;)


    @breadfish://
    Jo, ich konnte mein PSP 2 jahrelang net hacken aber nachdem ich ChickHEN gesehen hab, hatte ich genau die Firmware 5.03 und habs dann in ein paar Minuten sofort gehackt :D


    Das größte Problem ist aber, diesen beschädigten Bild zu öffnen, die man braucht um Homebrews mit OFW zu starten.