Beiträge von Dudalus

    Hallo


    Hab ein paar Frage, zu der Include und dem Filterscript:


    -Im Gamemode die JunkBuster.ic als Include laden ? Zudem als Filterscript beim Serverstart
    -Was hat es mit der JunkBuster_Client auf sich (Ist das eine alte Version) ?


    Nun jedoch mein Problem, wenn ich die neue JunkBuster.inc im Gamemod lade, kommt der strtok sei nicht definiert Fehler:


    new line[255],File:hausx = fopen(HAUS_DATEI,io_read),
    haus_index;
    if(hausx)
    {
    while(fread(hausx,line))
    {
    if(line[strlen(line)-2] == '\r')line[strlen(line)-2] = '\0';
    if(line[strlen(line)-1] == '\n')line[strlen(line)-1] = '\0';
    strmid(HausDaten[_cache_haus][Besitzer],strtok(line,haus_index,','),0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    strmid(HausDaten[_cache_haus][Mieter],strtok(line,haus_index,','),0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    HausDaten[_cache_haus][abfall] = 1;
    HausDaten[_cache_haus][mietbar] = strval(strtok(line,haus_index,','));
    HausDaten[_cache_haus][mietpreis] = strval(strtok(line,haus_index,','));
    HausDaten[_cache_haus][mietgeld] = strval(strtok(line,haus_index,','));
    HausDaten[_cache_haus][ax] = floatstr(strtok(line,haus_index,','));
    HausDaten[_cache_haus][ay] = floatstr(strtok(line,haus_index,','));
    HausDaten[_cache_haus][az] = floatstr(strtok(line,haus_index,','));
    HausDaten[_cache_haus][ix] = floatstr(strtok(line,haus_index,','));
    HausDaten[_cache_haus][iy] = floatstr(strtok(line,haus_index,','));
    HausDaten[_cache_haus][iz] = floatstr(strtok(line,haus_index,','));
    HausDaten[_cache_haus][interior] = strval(strtok(line,haus_index,','));
    HausDaten[_cache_haus][virtual_world] = strval(strtok(line,haus_index,','));
    HausDaten[_cache_haus][kosten] = strval(strtok(line,haus_index,','));
    HausDaten[_cache_haus][play_time] = strval(strtok(line,haus_index,','));
    HausDaten[_cache_haus][nicht_zum_kauf] = strval(strtok(line,haus_index,','));
    HausDaten[_cache_haus][verschlossen] = strval(strtok(line,haus_index,','));
    format(line,sizeof line,"Besitzer : %s\nMieter : %s\nScore : %d\nKosten : %d$",HausDaten[_cache_haus][Besitzer],HausDaten[_cache_haus][Mieter],HausDaten[_cache_haus][play_time],HausDaten[_cache_haus][kosten]);
    HausDaten[_cache_haus][lbl_haus] = Create3DTextLabel(line,(!HausDaten[_cache_haus][nicht_zum_kauf]) ? (0x00FF00FF) : (0xFF0000FF),HausDaten[_cache_haus][ax],HausDaten[_cache_haus][ay],HausDaten[_cache_haus][az],10.0,0,0);
    HausDaten[_cache_haus][pickid] = CreatePickup(1273,1,HausDaten[_cache_haus][ax],HausDaten[_cache_haus][ay],HausDaten[_cache_haus][az],0);
    HausDaten[_cache_haus][icon_id] = bCreateMapIcon(HausDaten[_cache_haus][ax],HausDaten[_cache_haus][ay],_,(HausDaten[_cache_haus][nicht_zum_kauf]) ? (32) : (31),0);
    haus_index = 0;
    _cache_haus++;
    }
    fclose(hausx);
    }


    Nun, ich habe mal in die Include geschaut und dort kein strtok entdeckt, also habe ich den strtok-Code in den Gamemod kopiert, doch dann kamen die Fehler beim oben genannten Code. Habe dann auch #pragma unused strtok rausgenommen, keine veränderung. Kann mir jemand helfen, wäre recht froh drum, da das neue JB8 recht geil tönt


    MfG dUDA


    //Edit Einrückung des Codes

    Hallo


    Tönt gut, nachher einbauen und testen. Finde es schön, dass es wieder Updates gibt (nach der Version 7 ein weiterer Lichtblick :D )


    @Evt Off Topic
    Ich weiss nicht ob das Off-Topic ist, sprich man sollte einen neuen Thread erstellen, aber wie kann ich die Badwordliste im Gamemod durchchecken (zB bei nem String). Kann ich den CheckBadWord Code in den GM kopieren ?
    PS: Wenn Off-Topic bitte nicht beachten/löschen ;)

    Hallo


    Zuerst kam eine kleiner Ernüchterung. Ich dachte, man könne den Inhalt einer Include auch im Hauptgamemode verwenden, ohne Errors zu bekommen, jedoch war/ist das anscheinend nicht so, denn ich bekomme Errors:


    C:\Users\Simon\Desktop\dudalusv245.pwn(2556) : error 017: undefined symbol "JB_Variables"
    C:\Users\Simon\Desktop\dudalusv245.pwn(2556) : warning 215: expression has no effect
    C:\Users\Simon\Desktop\dudalusv245.pwn(2556) : error 001: expected token: ";", but found "]"
    C:\Users\Simon\Desktop\dudalusv245.pwn(2556) : error 029: invalid expression, assumed zero
    C:\Users\Simon\Desktop\dudalusv245.pwn(2556) : 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.


    Im Gamemode:
    public OnPlayerText(playerid, text[])
    {
    if(JB_Variables[BAD_WORDS] && BadWordsCheck(text))
    {
    SendClientMessage(playerid,COLOR_RED,"JunkBuster: You are not allowed to use such words!");
    return 1;
    }
    return 1;
    }


    stock BadWordsCheck(text[])
    {
    new c,string[128];
    for(new i=0;i<strlen(text);i++)
    {
    if((text[i]>='a' && text[i]<='z') || (text[i]>='A' && text[i]<='Z'))
    {
    if(!c || (c && string[c-1]!=text[i]))
    {
    string[code=c]=text[i];
    c++;
    }
    }
    if(c>=sizeof(string))
    break;
    }


    for(new i=0;i<BadWordsCount;i++)
    if(strfind(string,BadWords[i],true)!=-1)
    return true;
    return false;
    }


    #define MAX_BAD_WORDS (100)



    Liegt es daran. das es als stock und nicht als Public definiert worden ist, oder ierre ich mich mit meinem Wissen, man könne ganz einfach aus die Funktionen einer Include zugreifen ?
    MfG dUDALUS


    Edit:Titel verbessert :)

    Hallo


    Mag die Zitate von Friedrich Dürrenmatt sehr, denn sie bringen es auf den Punkt:


    „Nichts kann rückgängig gemacht werden, was einmal gedacht wurde.“


    „Jeder Versuch eines Einzelnen, für sich zu lösen, was alle angeht, muss scheitern.“


    „Die Welt ist eine Tankstelle, an der das Rauchen nicht verboten ist.“


    Die ersten beide sind im Anhang mit seinen 11 oder 21 Thesen über den Sinn der Physik und Mathematik sowie dem Leben und der Gesellschaft allgemein zu finden. Alleine machen diese nicht viel Sinn, aber zusammen schockieren sie einem ;)
    MfG dUDA

    Hallo



    Ich hab jetzt grad irgendwie 200 Explosionen mit allen möglichen Koordinaten und so, um einen kleinen Brand zu verursachen, ewt lass ich es mit Timer nochmals hochgehen oder mach es so, dass wenn die Feuerwehr am Brandorteintrifft, sie einen Befehl eingeben und dann das Feuer halt irgendwie nochmals auflodert ;)

    Hallo


    Ich würde gerne per Befehl Feuer erstellen/brennen lassen. Ich habe also mal gegoogelt. Jedoch gibt es keine wirklich gute Lösung. Folgende Sachen sollten erfüllt sein:


    -Feuer kann mit Feuerlöscher gelöscht werden
    -Feuer kann mit Feuerwehrwagen/Wasserwerfer gelöscht werden


    Gibt es ein Feuer wie das vom Flammenwerfer, da dies recht gut passen würde ?
    MfG dUDA

    Hallo


    Ich finde es nicht wirklich gut. Du benutzt zB. 15 Zeichen lange oder noch längere 3DTexte, mach doch einfach, dass wenn der Spieler eine Zone betrifft, die Meldung kommt. Zudem hättest Du den Code verbessern sollen, da Du, wenn Du einen neuen Zoll erstellen willst, den betreffenden Code nochmals hinzufügen musst, das ist nicht der Sinn, arbeite "dynamischer", somit sparst Du ach extrem an Länge ;)



    5/10
    Es gibt schon viele Zollstationen im Forum, zudem finde ich, es sind einfach zu viele Stationen, es braucht meiner Meinung nach nur welche an den Übergängen.


    MfG dUDA

    Hallo



    Du kannst abfragen (anhand der ModelID), welcher Fahrzeugtyp das Fahrzeug ist und dann so den Führerschein abfragen. Hier hab ich mal meinen Code für die Fahrräder:


    stock FAHRRADCAR(carid)
    {
    if(GetVehicleModel(carid) == 481 || GetVehicleModel(carid) == 509 || GetVehicleModel(carid) == 510)
    {
    return true;
    }
    return false;
    }


    Und dann hier die Abfrage:


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(FAHRRADCAR(vehicleid))
    {
    SendClientMessage(playerid,COLOR_GREEN,"Dont drink and drive");
    }
    return 1;
    }


    Hoffe ich konnt dir etwas helfen ;)
    MfG dUDA

    Hallo


    Ich bin momentan an einem Businesssystem und ich komme nicht weiter. Ich will, dass wenn man Waren an das Business verkauft, verschiedene Preis bekommt. Dazu benutze ich einen Faktor welcher im Bereich von 2 bis 1.1 liegt. Die Menge, die der User verkauft, wird mit dem Faktor multipliziert und ihm dann als Geld gegeben. Nun bekomme ich aber Warnings , da mir nicht ganz klar ist, wie ich das handhaben muss. Mein Code sieht momentan so aus, jedoch frage ich mich, ob so ich einfach den Faktor reinschreiben kann:



    Das Ergebnis soll gerundet werden, deshalb benütze ich keinen Float-Wert :


    new geld = menge * 40;
    new menge, string[156];
    if(ShopInfo[shopid][ShopLager] > 90)
    {
    PlayerInfo[playerid][pWaren] -= menge;
    ShopInfo[shopid][ShopLager] += menge;
    new geld = menge * 1.1; //Zeile 9918
    GivePlayerMoney(playerid, geld);
    format(string, 128, "Du hast %d Pakete für insgesamt %d Dollars verkauft",menge, geld);
    SendClientMessage(playerid, COLOR_GREEN, string);
    return 1;
    }


    Warnings:


    C:\Users\Simon\Desktop\dudalusv243.pwn(9918 : warning 219: local variable "geld" shadows a variable at a preceding level

    Hallo


    Anscheinen ja.....leider, es gibt so ziemlich alle Arten von Hacks (Adminhacks). Werde mir wohl ein AC System anschauen oder es mal mit dem Wert abspeichern und das Wetter danach setzen testen. Ich habe irgendwo im Hinterkopf, dass es gl_realtime nur als .amx gibt, egal mal schauen.


    MfG dUDA

    Hallo


    Wir haben das Filterscript gl_realtime, welches die Zeit ändert. Nun haben aber so ein paar Idioten Freude daran, immer das Wetter zu ändern. Gibts da ne Gegenmassnahme. Dachte, evt. könne man , wenn Realtime das Wetter ändert in einen Wert reinschreiben und zB. all 10 Sekunden dieses Wetter setzen. Ist aber unnötig. Gibt es bessere Methoden ?



    MfG dUDA


    //Edit Rechtschreibung

    @DerTopSpieler
    Dann haste aber garantiert ein recht junges Zielpublikum und wirst schnell mal als Kiddy Server beschimpft.


    Was ich dazu meine, ist, dass Restarten die User recht nervt und gewisse Bugs auch. Zudem kannst Du nicht immer erwarten, dass sie Vorschläge zum Script machen, sondern Du musst teilweise auf sie zugehen, dann wird das auch etwas ;)
    Eben, GF kann anlocken, abe rauch abschrecken. Mit dieser Entscheidung grenzt Du bereits dein Publikum ein.


    MfG dUDA

    Könnte man dann nicht noch die Stadt Pripyiat (oder wie die heisst machen) und das berühmte Riesenrad (welches beim Maria Beach und in CoD MV steht/vorkommt) reinmachen. Mit einer Prise S.T.A.L.K.E.R wäre das doch mal was ?


    MfG dUDA