Jump to content
Unity Insider Forum

Teams


Player894

Recommended Posts

vorab ne frage hast du schon die möglichkeit das du auf freund und feind schießen kannst

 

hä?

teambeschuss sollte aus sein, falls du das meinst

 

ich hab das beispielprojekt mal modifiziert

naja, hätt ich nicht tun solln...

es passiert jetzt gar nichts mehr

und gibt nicht mal fehlermeldungen!!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Falls du "Tatsächliche Kugeln" also Rigidbodys benutzt, einfach bei OnCollision das Team abfragen und wissen, aus welchem Lauf die Kugel stammt, ansonsten halt im Raycast schauen worauf man denn da so zielt :P

 

Gruß Usche

 

PS.:

Bei solchen äußerst allgemeinen Fragen, tendiert man übrigens dazu nicht zu antworten, da man gerne unterstellt, dass sich der Fragensteller nicht wirklich Mühe gegeben hat, sich selbst mit der Frage zu beschäftigen ;)

Versuche in Zukunft selbst etwas auf die Beine zu stellen, und wenn du dann konkrete Fragen hast, ist man auch eher bereit dir weiterzuhelfen :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mal so aus Spazz...

 

statische List<string> TeamNames oder TeamColors ...

 

 

Pseudocode:

 

public class Player : MonoBehaviour
{
public string MyName = "blubb";
public string MyTeamName = "bla";
void Start()
{

MyTeamName = "MyTeamName Blaa";

if(!TeamNames.Contains(MyTeamName ))
TeamNames.Add(MyTeamName );
}
}

public class Bullet : MonoBehaviour
{
public string MyTeamName = "";

// wird beim spawnen gesetzt!
public void SetTeamName(string tn)
{
MyTeamName = tn;
}

void OnTriggerEnter(Colider c)
{

if(!c.gameObject.GetComponent<Player>()) return;

var otherPlayer = c.gameObject.GetComponent<Player>();

/// friendly fire ausschliessen
if(otherPlayer.MyTeamName  != MyTeamName)
{
  p.DoDamage(10);
}

}

}

 

nur mal quick and dirty... muss man natürlich noch optimieren! Sascha meckert bestimmt gleich über die überprüfung des strings ;)

Die Idee dahinter ist natürlich, nicht für jedes Team einen Tag zu vergeben... was zwar auch möglich wäre, aber nicht so flexibel ist wie der string. Wenn man jetzt noch ganz cool ist, kann man das mit nem dict machen und dort den Teamnamen als Key und im Value die Teamfarbe speichern... kann man... muss man aber nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

PlayerPrefs.SetString("myPlayerTeam", "0");//=kein team

PlayerPrefs.SetString("myPlayerTeam", "1");//=team1

PlayerPrefs.SetString("myPlayerTeam", "2");//=team2

 

:D

 

http://forum.unity-c...dpost__p__32888

 

bekommt nun eine teamauswahl:

 

Tmg_MP_Egoshooter_Minimal-unity4-with-TEAMS.unitypackage (57.7 MB)

https://mega.co.nz/#...2wrlc4kVJqChlaQ

 

du spawnst als

 

a_* wenn du in team a bist :)

 

b_* wenn du in team b bist :)

 

einfach wie im posting

http://forum.unity-c...dpost__p__32888

zu lesen abarbeiten

 

wenn der "ladescreen" bei 0% bleibt hast du zu 99% die 2 scenen nicht in buildsettings gezogen :)

mainscene 0

testlevel 1

 

playersettings : run in background aktivieren !! dann rennt das spiel auch bei inaktivem fenster

 

PS : keinen namen kein team :)

 

nun sollte es ja wirklich einfach sein zu testen ob freund oder feind :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Falls du "Tatsächliche Kugeln" also Rigidbodys benutzt, einfach bei OnCollision das Team abfragen und wissen, aus welchem Lauf die Kugel stammt, ansonsten halt im Raycast schauen worauf man denn da so zielt :P

 

Gruß Usche

 

PS.:

Bei solchen äußerst allgemeinen Fragen, tendiert man übrigens dazu nicht zu antworten, da man gerne unterstellt, dass sich der Fragensteller nicht wirklich Mühe gegeben hat, sich selbst mit der Frage zu beschäftigen ;)

Versuche in Zukunft selbst etwas auf die Beine zu stellen, und wenn du dann konkrete Fragen hast, ist man auch eher bereit dir weiterzuhelfen :)

 

ok, vielleicht habe ich mich nicht ganz klar ausgedrückt.

ich wollte eigentlich 3 objekte haben: ich, freund, feind

leider weiß ich nicht genau, wie ich bei anderen anstatt dem "ICH" ein "FREUND" oder "FEIND" - Objekt setzen kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...