Reaktionszone erstellen !?

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
  • Also ich möchte gerne einen Stein nehmen,
    und wenn dieser dann in ein ein Konstruktion aus Gittern geschoben wird(Soll ein Fussball Gamemode werden) dann soll sich die Anzeige auf dem Screen im Textdraw verändern...
    Allerdings brauche ich das 2 Mal,
    einmal für Team Rot und einmal für Team Blau....
    Dann muss sich halt auch die richtige Anzeige verändern.
    MfG
    Das Brot

  • stock IsPointInArea(Float:x, Float:y,Float:minx, Float:maxx, Float:miny, Float:maxy)
    {
    if (x > minx && x < maxx && y > miny && y < maxy) return 1;
    return 0;
    }
    //Dann sowas in der art
    new Float:x,Float:y,Float:z;
    GetObjectPos(ball,x,y,z);
    if(IsPointInArea(x,y,TOR_MINX,TOR_MAXX,TOR_MINY,TOR_MAXY) && z > TOR_MINZ && z < TOR_MAXZ)
    {
    //Ball ist im Tor
    }
    Das in einer Schleife o.ä. abfragen.


    TOR_MINX, TOR_MAXX, TOR_MINY, TOR_MAXY sind die Ecken des Tors (wie bei einer Gangzone).
    TOR_MINZ ist der untereste Punkt, TOR_MAXZ der höchste Punkt des Tors. Die Koordinaten musst du selbst eintragen.
    edit: kleiner Fehler ;D ungetestet

  • Ungetestet und ka obs geht xD


    new Fussball;
    new FussballTimer;
    forward TorTimer();


    FussballTimer=SetTimer("TorTimer",500,1);
    Fussball=CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance);



    public TorTimer()
    {
    new Float:x,Float:y,Float:z;
    GetObjectPos(Fussball,x,y,z);
    if(IsObjectInRangeOfTor(Fussball,Radius,TorPosx,TorPosy,TorPosz))
    {
    //Textdraw Erhöhen
    }
    return 1;
    }


    stock IsObjectInRangeOfTor(objectid,Float:radi,Float:fx,Float:fy,Float:fz)
    {
    new Float:posx, Float:posy, Float:posz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetObjectPos(objectid, posx, posy, posz);
    tempposx = (fx -posx);
    tempposy = (fy -posy);
    tempposz = (fz -posz);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    return 0;
    }

  • Danke für eure Antworten...
    Ich habe jetzt einfach mal Intelligent´s Code eingefügt,
    und die Coords vom Fussball eingetragen...
    Aber leider bekomme ich 2 Errors....
    Ausserdem verstehe ich das nicht ganz wo ich noch was einfügen muss und wie ich den Timer erhöhe...
    Könntet ihr mir das noch kurz erklären ?
    MfG
    Das Brot

  • 1. Welche Errors ?


    2. Dashier ganz oben im Script:


    new Fussball;
    new FussballTimer;
    forward TorTimer();


    3. Dashier bei OnGameModeInit


    FussballTimer=SetTimer("TorTimer",500,1);
    Fussball=CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance);


    4. Dashier ganz unten im Script:


    public TorTimer()
    {
    new Float:x,Float:y,Float:z;
    GetObjectPos(Fussball,x,y,z);
    if(IsObjectInRangeOfTor(Fussball,Radius,TorPosx,TorPosy,TorPosz))
    {
    //Textdraw Erhöhen
    }
    return 1;
    }


    stock IsObjectInRangeOfTor(objectid,Float:radi,Float:fx,Float:fy,Float:fz)
    {
    new Float:posx, Float:posy, Float:posz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetObjectPos(objectid, posx, posy, posz);
    tempposx = (fx -posx);
    tempposy = (fy -posy);
    tempposz = (fz -posz);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    return 0;
    }


    MfG:
    Me

  • Alles so gemacht wie du es gesagt hast,
    aber immernoch das:

    C:\Users\Juli\Documents\DTRLR\gamemodes\Nemes Pawn\Fussball.pwn(326) : error 017: undefined symbol "Radius"
    C:\Users\Juli\Documents\DTRLR\gamemodes\Nemes Pawn\Fussball.pwn(104) : warning 204: symbol is assigned a value that is never used: "FussballTimer"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    Ausserdem weiss ich nicht wie man dann den Textdraw erhöht...

  • Hmm...
    Ok,
    jetzt habe ich aber noch 3 Probleme....
    1.Wo muss ich das dann einfügen ?
    2.Wie stelle ich den Textdraw weiter ?
    3.Warum bekomme ich diesen Error+Warning ?
    C:\Users\Juli\Documents\DTRLR\gamemodes\Nemes Pawn\Fussball.pwn(325) : error 017: undefined symbol "Radius"
    C:\Users\Juli\Documents\DTRLR\gamemodes\Nemes Pawn\Fussball.pwn(103) : warning 204: symbol is assigned a value that is never used: "FussballTimer"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    MfG
    Das Brot