Beitrag von hackedicht ()
Dieser Beitrag wurde vom Autor gelöscht ().
Also zuj aller erst: bewegliche TOre nicht animiert
Zeig mal z.b. 2 Befehle die du hast.
Dann zeig ich dir, wie die in einen Packst.
Ansonsten sagt dir "if" "else", "else if" und "GetPlayerPos" was?
Damit kannst du das machen
Abfragen ob er in der nähe von tor 1 ist wenn ja das öffnen
wenn er in der nähe von Tor 2 ist das öffnen pipapo
Hallo Hella,
das kannst du am einfachsten mit einer enum umsetzen.
Wenn du noch nie mit enums gearbeitet hast lohnt es sich auf jeden fall sich die mal anzugucken, kann man so gut wie immer benutzen.
Für den leichteren Einstieg geb ich dir einfach mal den Anfang.
du erstellst die enum mit allen relevanten informationen:
objekt id vom tor
xyz-koordinaten und rotation am anfang sowie für die endposition
ist das tor auf oder zu?
ggf. wer das tor öffnen darf und wie lange das ganze dauern soll
wenn dann jemand /tor eingibt kannst du ganz einfach alle tore mit einer for schleife durchgehen und gucken ob der spieler in der nähe eines tores ist und dieses dann zur endposition bewegen und nach kurzer zeit wieder zur anfangsposition
dcmd_tor(playerid, params)
{
for(new i=0; i<sizeof Tore; i++)
{
if(!IsPlayerInRangeOfPoint(playerid,5.0,Tor[xPos],Tor[yPos],Tor[zPos]) continue; //wenn der Spieler nicht in der nähe ist prüfe das nächste tor
if(!Tor[Closed]) MoveObject(Tor[Objekt],Tor[xPos],Tor[yPos],Tor[zPos],2.0); Tor[Closed] = 1; //wenn das tor offen ist fahre es zurück in die anfangsposition
if(Tor[Closed]) MoveObject(Tor[Objekt],Tor[xPos2],Tor[yPos2],Tor[zPos2],2.0); Tor[Closed] = 0; //wenn das tor geschlossen ist fahre es zur seite
}
}[i][i][i][i][i][i][i][i][i][i][i]
so oder so ähnlich könnte das ganze aussehen (aus dem kopf geschrieben)[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
Dann mach mal unter OnPlayerCommandText:
dcmd(tor,3,cmdtext);
statt dcmd_tor mach ocmd:tor
statt dcmd_tor mach ocmd:tor
Warum?
Er muss einfach bei OnPlayerCommandText das einfügen:
dcmd(tor,3,cmdtext);
Die 3 ist die Anzahl der Buchstaben vom Command (tor => 3)!
er hat doch oben geschrieben, dass er OCMD benutzt ... .
Hallo Hella,
So müsste es eigentlich klappen (ganz ohne Warnings)
//EDIT
Solltest du ocmd benutzen dann mach bitte statt COMMAND, ocmd rein.
Solltest du CreateObject nutzen dann mach das "Dynamic" weg!