CNDG
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.


Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  SuchenSuchen  Neueste BilderNeueste Bilder  AnmeldenAnmelden  LoginLogin  

 

 2 Laserschüsse Festlegen

Nach unten 
+3
Bowserkoopa
Simsi
YoCed
7 verfasser
AutorNachricht
YoCed
Vizeadmiral
Vizeadmiral
YoCed


Männlich Alter : 28
Ort : Rheine
Anmeldedatum : 23.05.09

2 Laserschüsse Festlegen Empty
BeitragThema: 2 Laserschüsse Festlegen   2 Laserschüsse Festlegen EmptyFr Sep 18, 2009 10:28 pm

Also, ich mache grade ein Szen, so etwas ähnliches wie das Strategie-Spiel von Toastbrot, da gibts son X-Wing, und der kann ja auf beiden Seiten, also links und rechts schießen, Also habe ich zwei so "Schießer" auf der linken und rechten seite erstellt, nur schießt er immer noc vom Offset aus.
Hier mal das script des X-Wings:
Code:
#strict

local ZielX;
local ZielY;
local x;

local Granate;

local Leben;
local Geschwindigkeit;
local Power;
local Nachladen;
local Reichweite;
local Waffe;

func Initialize() {
 
  CreateObject(C5_K,10,-5,GetOwner())->SetAction("Festhalten",this);
  CreateObject(C5_K,-10,-5,GetOwner())->SetAction("Festhalten",this);
 
  SetAction("Fly");
 
  Leben=TLive();
  Geschwindigkeit=TSpeed();
  Power=TPower();
  Nachladen=TReload();
  Reichweite=TRange();
  Waffe=TWeapon();
 
  ScheduleCall(this,"Stop",10);
 
  return(1);
}

func Stop(){
ZielX=GetX();
ZielY=GetY();
}

public func IsSoldier(){return(true);}

public func Damage(){if(GetDamage(this)>200)Explode(20);}

protected func ControlCommand(szCommand, pTarget, iTx, iTy, pTarget2, Data){

Goto(iTx,iTy);
}

func Goto(x,y){
ZielX=x+RandomX(-40,40);
ZielY=y+RandomX(-40,40);
}



func Search(){


var angle;
angle=Angle(GetX(),GetY(),ZielX,ZielY);
SetR(angle);
angle-=90;

if(Distance(GetX(),GetY(),ZielX,ZielY)>10){
        SetXDir(Cos(angle,Geschwindigkeit));
        SetYDir(Sin(angle,Geschwindigkeit));}


}





 
func TLive(){return(50);}
func TSpeed(){return(25);}
func TPower(){return(0);}
func TReload(){return(0);}
func TRange(){return(0);}
func TWeapon(){return(SH10);}



Und hier die des "Schießers":
Code:
#strict



func Search(){


var target;
if(target=FindTarget(220))Shot(target);
}


func FindTarget(int Range){
return(FindObject2(
            Find_Or(Find_Func("IsSoldier"),Find_Func("IsBuilding")),
            Find_Distance(Range),
            Find_Hostile(GetOwner(GetActionTarget()))
            ));
}

public func AttachTargetLost()
{
  RemoveObject();
}

func Shot(object target){
var angle,shot;
angle=Angle(GetX(),GetY(),GetX(target),GetY(target));
SetR(angle);

shot=CreateObject(SH10,0,0,GetOwner(GetActionTarget()));

shot->Set(angle);

Sound("Pistol"); 

}

Sorry Toastbrot, dieses script ist noch wie deins, aber das wird noch geändert.
Nach oben Nach unten
Simsi
Staatssekretär
Staatssekretär
Simsi


Männlich Alter : 31
Ort : Vaihingen/Enz
Anmeldedatum : 30.03.08

2 Laserschüsse Festlegen Empty
BeitragThema: Re: 2 Laserschüsse Festlegen   2 Laserschüsse Festlegen EmptyFr Sep 18, 2009 11:17 pm

Code:
shot=CreateObject(SH10,0,0,GetOwner(GetActionTarget()));
Mach da mal anstatt 0,0 die relativen Koordinaten zum Offset rein.
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

2 Laserschüsse Festlegen Empty
BeitragThema: Re: 2 Laserschüsse Festlegen   2 Laserschüsse Festlegen EmptySa Sep 19, 2009 12:43 pm

am besten noch ne Richtungsabfrage ala


if(GetDir(pObject) == DIR_Left) CreateObject(SH10,10,-5,GetOwner(GetActionTarget()));
if(GetDir(pObject) == DIR_Right) CreateObject(SH10,-10,-5,GetOwner(GetActionTarget()));
Nach oben Nach unten
Paperkoopa
Brigadegeneral
Brigadegeneral
Paperkoopa


Männlich Alter : 27
Ort : Bayern
Anmeldedatum : 17.06.09

2 Laserschüsse Festlegen Empty
BeitragThema: Re: 2 Laserschüsse Festlegen   2 Laserschüsse Festlegen EmptySo Sep 20, 2009 11:32 am

wenn ich das richtig verstanden habe dann könnte es doch gehn das objekt einfach nach dem 1. schuß zu drehen und dann nach dem 2. wieder zurück (nur eben so schnell dass keiner es sieht)
Nach oben Nach unten
Toastbrot
Kadett
Kadett
Toastbrot


Männlich Anmeldedatum : 10.03.09

2 Laserschüsse Festlegen Empty
BeitragThema: Re: 2 Laserschüsse Festlegen   2 Laserschüsse Festlegen EmptySo Sep 20, 2009 7:58 pm

da sich das Raumschiff um 360° drehen kann musst du mit hilfe des Sinus und Kosiniuses des Raumschiffes die X und y-Koordinaten der Schüsse berechnen.
Für den ersten Schuss: CreateObject(SH10,Sin(GetR()+90),Cos(GetR()+90),GetOwner(GetActionTarget()))
Du musst den Parametern für die X und y Koordinate natürlich noch den Abstand hinzuzählen den das "Kanonenrohrt" zur Raumschiffmitte hat und für den weiten Schuss musst du nur über die x und y Achse Spiegeln.
Nach oben Nach unten
Extremclonk
Staatsrat
Staatsrat
Extremclonk


Männlich Ort : Am Anti-Spam-Limes
Anmeldedatum : 19.01.09

2 Laserschüsse Festlegen Empty
BeitragThema: Re: 2 Laserschüsse Festlegen   2 Laserschüsse Festlegen EmptySo Sep 20, 2009 8:19 pm

Es ist einfacher hierfür GetVertex zu benutzen, braucht zwar einen Vertex an der passenden Stelle, aber der Vertex dreht sich mit daher vieeel simpler.
Nach oben Nach unten
YoCed
Vizeadmiral
Vizeadmiral
YoCed


Männlich Alter : 28
Ort : Rheine
Anmeldedatum : 23.05.09

2 Laserschüsse Festlegen Empty
BeitragThema: Re: 2 Laserschüsse Festlegen   2 Laserschüsse Festlegen EmptySo Sep 20, 2009 9:00 pm

Hm, also dann CreateObject(SH10,GetVertex(1,0),GetVertex(1,1)) und CreateObject(SH10,GetVertex(2,0),GetVertex(2,1)), oder?
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

2 Laserschüsse Festlegen Empty
BeitragThema: Re: 2 Laserschüsse Festlegen   2 Laserschüsse Festlegen EmptySo Sep 20, 2009 9:18 pm

Naja dann kommt der Schuss aus dem 1sten Vertex raus aber gedreht wird der Schuss dadurch nicht.
Nach oben Nach unten
http://www.gamer95.npage.de/
Gesponserte Inhalte





2 Laserschüsse Festlegen Empty
BeitragThema: Re: 2 Laserschüsse Festlegen   2 Laserschüsse Festlegen Empty

Nach oben Nach unten
 
2 Laserschüsse Festlegen
Nach oben 
Seite 1 von 1

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Sonstiges :: Scripthilfe-
Gehe zu: