[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
  • 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

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


    Font, Farbe, Hintergrundfarbe etc vergessen^^


    Ach muss das alles vorhanden sein? Ich dachte da gibt es Standartwerte oder so. Whoops. Danke jedenfalls. :D
    Edit: Nein funktioniert nicht.


  • Was genau soll ich darunter verstehen?


    "Streamed in" heißt doch im Prinzip nur, dass das Fahrzeug für mich sichtbar ist, oder? Und das ist es nämlich definitiv.




    Mir ist das eben auch aufgefallen, geht aber trotzdem nicht. Hätte mich auch gewundert, da die Vehicle ID unter 5 ist und so in meinen MAX_PLAYERS Bereich fällt.


    Es gibt aber nen kleines Update dazu: Ich kann dynamisch gespawnte Fahrzeuge Ingame (per CreateVehicle) abschleppen, statische Fahrzeuge allerdings nicht. Egal ob ich die von der DB per AddStaticVehicle oder CreateVehicle lade. 8|

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen