[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Das die Leute immer für ihre Sachen werben müssen :whistling:
    Nein danke :) ,ich werde es mir gleich mal anschauen. Ner nur zum mitschreiben, damit ich auch was daraus lernen kann.
    Ich muss nicht für id,x,y,z eine neue Zeile machen, damit ichs letztendlich optimal auslesen lassen kann??

    KleineHilfe 2.0

  • Ich muss nicht für id,x,y,z eine neue Zeile machen, damit ichs letztendlich optimal auslesen lassen kann??


    Ja, du kannst das alles in 1ne Zeile packen ;)
    Das heißt nicht "optimal" sondern "optional" :D


    PS: Ist angepasst, das Problem in dem Fall ist nur, du musst n PW mitspeichern lassen, schreib einfach immer da wo pw[] steht eine "1" hin und dann passt das ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Ja, du kannst das alles in 1ne Zeile packen ;)
    Das heißt nicht "optimal" sondern "optional" :D


    PS: Ist angepasst, das Problem in dem Fall ist nur, du musst n PW mitspeichern lassen, schreib einfach immer da wo pw[] steht eine "1" hin und dann passt das ;)


    mfg. :thumbup:


    So, dann versuche ich mich mal dort zurecht zu finden.
    optimal im Sinne ohne großen Aufwand & oder Probleme(Dini+Floats) .
    Ich probier dein "Schnick-Schnack" mal aus, dank dir :thumbup:

    KleineHilfe 2.0

  • hey Leute ,
    ich wollte ein Anti C-Bug rein machen. Den habe ich ins Script übernommen :D


    Doch da komme ich nicht weiter :
    public OnFilterScriptExit()
    {
    for(new playerid = 0; playerid < MAX_PLAYERS; playerid++) if(IsPlayerConnected(playerid)) ResetPlayerTimers(playerid);
    return 1;
    }


    Ich weis das OnFilterScriptExit() zu OnGameModeExit() wird. Nun weis ich nicht was ich machen soll, ich bekomme diesen Error :


    C:\Users\Aimen\Desktop\German Street Light - NEW v1.1\gamemodes\GSL.pwn(17640) : error 010: invalid function or declaration


    Kann mir einer da Helfen ? :D

  • Saphire


    Du hast iwo ne Variable falsch deklariert oder eine nicht vorhandene Funktion genutzt.
    Hast du im Script auch ResetPlayerTimers(playerid); stehen?

    Die Kritik an anderen hat noch keinem die eigene Leistung erspart.

    – Noël Coward

  • hey Leute ,
    ich wollte ein Anti C-Bug rein machen. Den habe ich ins Script übernommen


    Was willst du denn da bitte resetten?


    Kannst mich gerne mal per PN anschreiben, denn zeig ich dir wie man nen kleines Anticbug System schreibt, gerne auch mit Arenenbeschärnkung.
    MFG


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • Kennt jemand zufällig eine Methode, um alle Timer per Funktion in einem Public ausführen zu lassen? Wäre das sinnvoll mit Eingangsvariablen zu machen?


    Auf Dauer kommen doch recht viele Timer im Script zusammen und nehmen relativ viel Platz weg.

  • Warum kommen viele Timer zusammen? mal eben so geht das alles nicht.


    Für viele Tore zum Beispiel.


    Nein, ich meinte eine Methode um nicht immer einen neuen public erstellen zu müssen. Das man da eventuell einen public mit einer Eingangsvariable erstellt, die die Timernummer angibt. Im Public selbst wird dann nur im Switch was hinzugefügt, und dann wird dementsprechend die Eingangsvariable in den Timer mit reingegeben.


  • Joa, das war mir bewusst. Ich frage mich nur, ob die Methode mit der Eingangsvariable mehr Ressourcen verbraucht als wenn ich jeden Public einzeln erstellen würde.


    Danke für die Antworten. :)

  • Help,bin noch Anfänger:



    stock GetJobName(job)
    {
    new jobname[10];
    switch(job)
    {
    case JOB_COP: format(jobname,sizeof(jobname),"Cop");
    case JOB_TRUCKER: format(jobname,sizeof(jobname),"Trucker");
    case JOB_DRIVER: format(jobname,sizeof(jobname),"Fahrer");
    case JOB_REINIG: format(jobname,sizeof(jobname),"Cleaner");
    default: format(jobname,sizeof(jobname),"-");
    }
    return jobname;
    }


    Was fehlt da?Ich denke eine Klammer aber wo soll ich die setzen?


    error 029: invalid expression, assumed zero



  • Welche Zeile?

  • Warum funktioniert das Anhängen eines Fahrzeugs nicht? Bin nun seit einer Stunde drann aber egal wie ich das Problem angehe, es funktioniert einfach nicht...


    if(newkeys & KEY_ACTION)
    {
    if(GetJob(playerid) == MECHANIKER && GetJobVeh(GetPlayerVehicleID(playerid)) == MECHANIKER)
    {
    new vehid,
    Float:vehx,
    Float:vehy,
    Float:vehz;

    for(new i; i < MAX_PLAYERS; i++)
    {
    if(!IsValidVehicle(i)) continue;
    GetVehiclePos(i, vehx, vehy, vehz);
    if(IsPlayerInRangeOfPoint(playerid, 5.0, vehx, vehy, vehz))
    vehid = i;
    }
    AttachTrailerToVehicle(vehid,GetPlayerVehicleID(playerid));
    }
    }

  • Warum funktioniert das Anhängen eines Fahrzeugs nicht? Bin nun seit
    einer Stunde drann aber egal wie ich das Problem angehe, es funktioniert
    einfach nicht...

    sollte so normal funktionieren was mir aufgefallen ist das du MAX_PLAYERS dafür benutzt ich weiß ja nicht an welchem auto du dich befindest sollte es eine höhere id hat als du auch womöglich MAX_PLAYERS definiert hast , das wäre ein grund warum es nicht geht oder das du nicht nah genug am auto ist daher den radius erhöhen.
    new i, Float:Pos[3],veh= GetPlayerVehicleID(playerid);
    for(; i < MAX_VEHICLES; ++i){
    if(!IsValidVehicle(i)) continue;
    GetVehiclePos(i,Pos[0],Pos[1],Pos[2]);
    if(IsPlayerInRangeOfPoint(playerid,10.0,Pos[0],Pos[1],Pos[2]) && i != veh){
    AttachTrailerToVehicle(i,veh);
    break;
    }
    }

  • new Text:cmds;


    public OnGameModeInit()
    {
    /* Text/3D Text */

    cmds = TextDrawCreate(240.0,580.0,"/teles, /regeln, /health, /armor, /repair, /god, /autogod, \n/kill, /help, /report");
    TextDrawUseBox(cmds,1);


    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/cmds", cmdtext, true, 10) == 0)
    {
    TextDrawShowForPlayer(playerid,cmds);
    return 1;
    }


    Warum zeigt er nichts an? :S