Tore automatisch öffnen und Fraktionen?

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
  • Hi,


    ich habe erst mit scripten angefangen, und suche jetzt ein Tutorial wie man Fraktionen anlegt und bestimte Tore nur von bestimmten Fraktionen öffnen lassen kann. Die Tore sollen wenn man herankommt sich automatisch öffnen und anschliesend wieder schließen.


    Hoffe ihr könnt mir dabei weiter helfen.


    Grüße
    Wolfman

  • Eine neue Public Funktion machen. (forward Torcheck(playerid) public Torcheck(playerid) )
    Dadrüber einen Timer laufen lassen (SetTimerEx("Torcheck", 1000, true, "i", playerid);
    Abfragen ob er in der nähe des Tores ist. ( IsPlayerInRangeOfPoint )
    Abfragen ob er in der Fraktion ist ( if(DEINE ABFRAGE) == frakid )
    Wenn ja Tor moven lassen( MoveObject )

  • hey schau mal, vieleicht ist es ja so einfacher
    1.Definiren wie die public

    Code
    forward Tore();


    Dea machen wir ganz oben hin Unter den adnren forward oda unter den include
    2.Definiren wir die Tore
    new FFWTor[2];
    Ebenfalls ganz oben unter den news
    3.Skripten wir den Befehl
    ocmd:fwtor(playerid,params[])
    {
    if(fraktion(playerid,1))//ob du in der Fraktion bist
    if(IsPlayerInRangeOfPoint(playerid,10,-1631.6999511719, 688.5, 16.6999998092651))//Ob du in der nähe das Toren bist
    {
    SendClientMessage(playerid,GELB, "[Feuerwehr]Das Tor ist offen.");//die Naricht die kommt wen du /fwtor Eingibst
    SendClientMessage(playerid,GELB, "[Feuerwehr]Das Tor schließt In 10 Sekunden automatisch.");//die Naricht die kommt wen du /fwtor Eingibst
    MoveObject(FFWTor[0],X,Y,Z,5.0);//die 5.0 ist die Geschwindigkeit
    SetTimer("Tore",10000,0);//hier kannst du einstellen wann sich das Tor schlissen soll
    }
    else
    {
    SendClientMessage(playerid,ROT, "[Feuerwehr]Du bist nicht am Tor!?") //wen man nicht in der nähe das Tores ist


    }
    else
    {
    SendClientMessage(playerid,ROT,"[Feuerwehr]Du bist Kein Feuerwehrmann!?");//wen man nicht in der Fraktion ist
    }
    return 1;
    }


    3.nun setzen wir die public

    public Tore()
    {


    MoveObject(FFWTor[0],X, Y,Z,5.0);//die Koordinaten Die du Oben eingegeben hast
    return 1;
    }


    Fertig


    das sollte den so aussehn
    ocmd:pdtor(playerid,params[])
    {
    if(fraktion(playerid,1))
    if(IsPlayerInRangeOfPoint(playerid,10,-1631.6999511719, 688.5, 16.6999998092651))
    {
    SendClientMessage(playerid,GELB, "[Feuerwehr]Das Tor ist offen.");
    SendClientMessage(playerid,GELB, "[Feuerwehr]Das Tor schließt In 10 Sekunden automatisch.");
    MoveObject(FFWTor[0],-1631.6999511719, 688.5, 16.6999998092651,4);
    SetTimer("Tore",10000,0);
    }
    else
    {
    SendClientMessage(playerid,ROT, "[Feuerwehr]Du bist Nicht am Tor!?");


    }
    else
    {
    SendClientMessage(playerid,ROT,"[Feuerwehr]Du bist Kein Beamter!?");


    return 1;
    }


    public Tore()
    {
    MoveObject(FFWTor[0], -1631.6999511719, 688.5, 8.6999998092651, 3);
    return 1;
    }


    hoffe hab nix vergessen :D

  • Er hats echt eindeutig beschrieben, der Timer wird beim Connect eröffnet und du hast ein Public:


    public Torcheck(playerid){
    if(IsPlayerInRageOfPoint(playerid, float:range, f:x, f:y, f:z)){
    if(IsPlayerInFrak(playerid, FRAKID)){ //Die abfrage muss nach deinem Fraksystem bestimmt werden.
    MoveObeject(Tor...);
    }
    }
    }


    //Edit kif war schnella :§