Hey Leute,
ich habe eine Frage,
undzwar würde ich gern eine Zone festlegen,
wenn da ein Object reingeschoben wird das sich dann ein Textdraw auf dem Screen verändert.
Kann mir da vielleicht jemand bei helfen ?
MfG
Das Brot
Reaktionszone erstellen !?
- [LiSA]Das Brot
- Geschlossen
- Erledigt
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
-
-
Bestimmte Objekte ?
Wenn ja kannste die Objectpos ja abfragen mir GetObjectPos
MfG.
Me -
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 -
Ja Denn Fußball dann so erstellen:
Fussball[1] = blablabla
Und dann Abfragen jede Sekunde oder so: GetObjectPos(Fussball[1],x,y,z)
-
Und wie mache ich das ?
(Ich hab grad erst so die Grundfunktionen und Grundlagen drin -
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 CompuPhase1 Error.
Ausserdem weiss ich nicht wie man dann den Textdraw erhöht... -
-
Ja den Radius musste selber bestimmen und die x,y,z Coordinaten vom Tor.
-
Wie jetzt ?`
Muss ich jetzt im Debug Modus in jeder Ecke des Tores /save machen ?
Oder wie ? -
Nein Am Besten In der Mitte Hinten im Tor. Dann Radius 3-5 und testen. Nicht das er vorm Tor Punkt bekommt
-
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 CompuPhase1 Error.
MfG
Das Brot -
breadfish.de
Hat das Thema geschlossen.