problem mit Tore

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
  • Guten tag.
    Ich habe mir ein Tor gescriptet, welches mit dem befehl /auf auf geht und mit /zu wieder zu geht.


    new Gate;


    public OnGameModeInit()


    Gate = CreateObject(980, 785.21752929688, -1152.5002441406, 25.338731765747, 0, 0, 91.309509277344);



    if (strcmp(cmdtext, "/auf", true)==0)
    {
    MoveObject(Gate,785.19549560547, -1152.5858154297, 19.337205886841);//da wo es hin soll
    return 1;
    }
    if (strcmp(cmdtext, "/zu", true)==0)
    {
    MoveObject(Gate,785.21752929688, -1152.5002441406, 25.338731765747);//wo es hin soll wenns zu geht
    return 1;
    }


    raus kommen 2 warnungen:

    C:\Users\Simon Siggelkow\Desktop\Pawno\gamemodes\simon.pwn(386) : warning 202: number of arguments does not match definition
    C:\Users\Simon Siggelkow\Desktop\Pawno\gamemodes\simon.pwn(391) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Warnings.


    vllt wisst ihr welchen mist cih da gemacht habe =)

  • Code
    if (strcmp(cmdtext, "/auf", true)==0)
    {
    MoveObject(Gate,785.19549560547, -1152.5858154297, 19.337205886841,1);
    return 1;
    }
    if (strcmp(cmdtext, "/zu", true)==0)
    {
    MoveObject(Gate,785.21752929688, -1152.5002441406, 25.338731765747, 1);
    return 1;
    }


    so geht es
    die hinteren zahlen...sind die geschwindigkeit wie schnell es auf/zu geht ;)


    ps: wie geht es das das ganze...also der quellcoad farbig ist? :D

  • kriegste das auch mit einem timer hin?
    mit /tor öffnen und nach 10 sekunden schließtes sich wieder?
    und! man kann das Tor überall öffnen! was muss dazu/weg damit ich es nur in der nähe des tores öffnen kann

  • wo genau soll SetTimer hin?


    if (strcmp(cmdtext, "/auf", true)==0)
    {
    MoveObject(Gate,785.19549560547, -1152.5858154297, 19.337205886841,4);
    SendClientMessage(playerid,0x00FFFFFF," Das Tor wird geöffnet, mit /zu schließt es sich wieder!");
    return 1;
    }
    if (strcmp(cmdtext, "/zu", true)==0)
    {
    MoveObject(Gate,785.21752929688, -1152.5002441406, 25.338731765747, 4);
    SendClientMessage(playerid,0x00FFFFFF," Das Tor wird geschlossen!");
    return 1;
    }


  • MOVE_INTERVALL 4000 // selber setzen ,wenns nötig ist ;)
    enum hstruk
    {
    Float:stx,
    Float:sty,
    Float:stz,
    Float:dtx,
    Float:dty,
    Float:dtz,
    bool:statex,
    idstate
    }
    new GateStruktur[][hstruk] = {
    {...}, // Werte ergänzen ( X,Y,Z , Ziel X, Ziel Y, Ziel Z, false,-1 )
    {...}
    };


    if (strcmp(cmdtext, "/tor", true)==0)
    {
    for(new i = 0;i<sizeof(GateStruktur);i++)
    {
    if(!IsPlayerInRangeOfPoint(playerid,4.5,GateStruktur[i][stx],GateStruktur[i][sty],GateStruktur[i][stz]))continue;
    if(!GateStruktur[i][statex])
    {
    MoveObject(GateStruktur[i][idstate],GateStruktur[i][dtx],GateStruktur[i][dty],GateStruktur[i][dtz]);
    GateStruktur[i][statex] = true;
    SetTimerEx("GateTimer",MOVE_INTERVALL,0,"i",i);
    }
    else
    {
    MoveObject(GateStruktur[i][idstate],GateStruktur[i][stx],GateStruktur[i][sty],GateStruktur[i][stz]);
    GateStruktur[i][statex] = false;
    }
    }
    return 1;
    }


    forward GateTimer(gt);
    public GateTimer(gt)
    {
    MoveObject(GateStruktur[gt][idstate],GateStruktur[gt][stx],GateStruktur[gt][sty],GateStruktur[gt][stz]);
    return 1;
    }


    Sollte einfacher sein, so lässt sich mit tor das jeweilige Tor in der nähe je nach dem ob es zu ist oder offen wieder schließen & Öffnen.

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


    Einmal editiert, zuletzt von BlackFoX ()

  • klappt =) danke


    Nun muss ich nur noch wissen wo und was ich dazu scripten muss, damit man nicht überall sondern nur in der nähe und eventuell auch ne sknn abfrage, also skein 1-5 sind ballas, skins 6-10 gs, dann muss der spieler skinn 1-5 haben um das tor zu öffnen (als beispiel).
    aber wichtiger ist erstma das man nich von ganz SA aus das tor in der letzten ecke öffnen kann.

    Einmal editiert, zuletzt von Simon ()

  • if (strcmp(cmdtext, "/auf", true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid, Range(Distanz), X, Y, Z))
    {
    MoveObject(Gate,785.19549560547, -1152.5858154297, 19.337205886841,4);
    SendClientMessage(playerid,0x00FFFFFF," Das Tor wird geöffnet, mit /zu schließt es sich wieder!");
    //Hier SetTimer
    return 1;
    }
    return 1;
    }



    Das gleiche dan mit "/zu"

  • z.B.


    Die Koords wo die/das Tor steht/stehen fügste ein.


    Range(Distanz) ehm ist halt die Distanz von den Koordinaten zu dir. 7.0 ich weis nicht wie viel das InGame ist aber kanns ja rumtesten.

  • if (strcmp(cmdtext, "/tor", true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 7.0, 785.19549560547, -1152.5858154297, 19.337205886841))
    {
    MoveObject(Gate,785.19549560547, -1152.5858154297, 19.337205886841,4);
    SendClientMessage(playerid,0x00FFFFFF," Das Tor wird geöffnet, mit /zu schließt es sich wieder!");
    SetTimer("TorZu",10000,4);
    return 1;
    }

    return 1;
    }


    C:\Users\Simon Siggelkow\Desktop\Pawno\gamemodes\simon.pwn(412) : warning 217: loose indentation
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.


    dat bekomme ich da raus, was habe ich da falsch gemacht?

    Einmal editiert, zuletzt von Simon ()