Hey Community
so ich hab ne frage ich wollte wissen wie ich das mache also sobald man in einer Area kommt oder betretet soll ein Tor aufgehen also mit IsPlayerInRangeOfPoint oder so und der Spieler muss in der Fraktion sein
Bitte um hilfe
wo soll ich dass hinmachen?
- S K R I L L E X
- 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
-
-
Mache dir morgen ein titorial wenns dir recht ist
-
if (strcmp("/auf", cmdtext, true, 10) == 0)
{
if(isPlayerInFrakt(playerid,1);
{
if(IsPlayerInRangeOfPoint(playerid,10,xyz) return SendClientMessage(playerid,Farbe,"du bist nicht am Tor");
{
MoveObject(playerid,xyz);
SendClientMessage(playerid,Farbe,"Du hast das Tor aufgemacht!");
return 1;
}
else
{
SendClientMessage(playerid,Farbe,"Du bist nicht in der Fraktion");
return 1;
}
}
ist mim handy geschrieben -
meinst du wenn er in der nähe vom tor ist soll es automatisch aufgehen?
oder wenn er einen befehl eingibt soll das tor nur aufgehen wenn er in der nähe vom tor ist? -
Ich glaube er meint es iwie so:
If(IsPlayerInRangeOfPoint(playerid,ABSTAND;X,Y,Z-Achse);
{
if(IsPlayerMember(playerid,FRAKID);
{
MoveObject(Tor,X,Y,Z-Achse,GESCHWINDIGKEIT);
SetTimer
}
} -
Ich glaube er meint es iwie so:
If(IsPlayerInRangeOfPoint(playerid,ABSTAND;X,Y,Z-Achse);
{
if(IsPlayerMember(playerid,FRAKID);
{
MoveObject(Tor,X,Y,Z-Achse,GESCHWINDIGKEIT);
SetTimer
}
}jup genau so aber wo soll ich das hinmachen??
-
jup genau so aber wo soll ich das hinmachen??
Eventuell in einen Befehl?Mit freundlichem Gruss
Saitek | Timo -
[b]Du musst als erstes einen Timer machen, der überprüft ob playerid in einer Rang von Abstand ist, wenn ja öffnet er das Tor.
-
sry das ich dein versporchenes tutorial so spät mache hier ist der code:
forward Timer(playerid);
ocmd:auf(playerid,params[])
{
if(!IsPlayerInRangeOfPoint(playerid,ABSTAND;X,Y,Z-Achse))return SendClientMessage(playerid,ROT,"Du bist nicht nah!");
{
if(!IsPlayerMember(playerid,FRAKID))return SendClientMessage(playerid,ROT,"du bist nicht in der richtigen fraktion!");
{
MoveObject(Tor,X,Y,Z-Achse,GESCHWINDIGKEIT);
SetTimer("Timer",5000,0);
}
}
return 1;
}
public Timer(playerid)
{
MoveObject(Tor,X,Y,Z,Geschwind...);
return 1;
}
//edit natürlich musst du auch noch dein tor bei ongamemodeinit zeigen : tor = CreateObject
dass man weiss was sich bewegt und ganz oben musst du nich schreiben:
new tor;
//edit 2 warum macht ihr hinter isplayerinrangeofpoint ein semicolon was soll dass?und bei if (isplayermember
wenn man if schriebt kommt da hinter NIE ein semicolon -
Falls du wissen willst wie man ganz einfach Tore skriptest kannst du auch mal mein Tutorial anschauen
muss halt nur etwas anpassen um dies als Torsystem zu nutzen ist jedoch nicht viel.
Jedoch eine Perfekte basis ist geschaffen auch zukünftig einfach tore mit einer Linie hinzuzufügen
-
falss du das was ich dir geschickt habe nicht verstehst frag mich einfach nochmal
-
Also, er möchte, so wie ich es verstanden habe, das wenn ein Spieler bei X,Y,Z ist, dass das Tor oder was auch immer auf/zu geht
Also mach mal einen neuen Timer, mit ca. 30 Sekunden(Serverleistung undso).
Dann machst einfach For-Schleife:
for(new i = 0; i < MAX_PLAYERS; i++) {
if(IsPlayerConnected(i))
{
if(IsPlayerInRangeOfPoint(i,2.5,x,y,z) && IsPlayerInFrac(i,FRAKTIONSID))
{
//Hier kommt der ganze Mist rein, nur statt "playerid" "i" :D
}
}
}Mit freundlichen Grüßen,
Geronimo -
Ey ihr versteht mich nicht oder?
Ich meine wenn man in der nähe des tor ist geht es auf ohne command wenn man ich sag mal ein unsichtbares pcikup betreten geht das tor auf
-
Ich meine wenn man in der nähe des tor ist geht es auf ohne command wenn man ich sag mal ein unsichtbares pcikup betreten geht das tor auf
Und genau das hat geronimo55 dir gerade erklärt
-
Also, er möchte, so wie ich es verstanden habe, das wenn ein Spieler bei X,Y,Z ist, dass das Tor oder was auch immer auf/zu geht
Also mach mal einen neuen Timer, mit ca. 30 Sekunden(Serverleistung undso).
Dann machst einfach For-Schleife:
for(new i = 0; i < MAX_PLAYERS; i++) {
if(IsPlayerConnected(i))
{
if(IsPlayerInRangeOfPoint(i,2.5,x,y,z) && IsPlayerInFrac(i,FRAKTIONSID))
{
//Hier kommt der ganze Mist rein, nur statt "playerid" "i" :D
}
}
}Mit freundlichen Grüßen,
Geronimo
aber wo soll ich das hnmachen ganz unten im Script oder? -
aber wo soll ich das hnmachen ganz unten im Script oder?Ohje,
also du brauchst erst mal einen Timer oder?
Bau bei GameModeInit den Timer rein.
Dann brauchst du eine public.
public TIMERNAME{
//hier mein Code!
}Dann geht alles!
Die Public kannst da hin packen wo du deine Stocks hast, ansonsten ist es egal
MfG
Geronimo -
Ohje,
also du brauchst erst mal einen Timer oder?
Bau bei GameModeInit den Timer rein.
Dann brauchst du eine public.
public TIMERNAME{
//hier mein Code!
}Dann geht alles!
Die Public kannst da hin packen wo du deine Stocks hast, ansonsten ist es egal
MfG
Geronimodu hast du vielleicht skype? da kannste mir das ja vielleicht besser erklären
-
ok add mich lcp9
wenn du das nicht findest suche nach lcp9lcp9//sag mal wie du heisst bei skype?
-
du hast du vielleicht skype? da kannste mir das ja vielleicht besser erklären
Mit Teamviewer kann ich aber eingreifen, wenn du was verbaust
MfG
Geronimo -
ok add mich lcp9
wenn du das nicht findest suche nach lcp9lcp9//sag mal wie du heisst bei skype?
manialp -
breadfish.de
Hat das Thema geschlossen.