Beiträge von ENEF

    Ja okey!
    Habe nun Paar Errors und Warnings


    C:\Users\Tobi\Desktop\samp03z_svr_R1_win32\gamemodes\newrl.pwn(123) : warning 228: length of initialler exceeds size of the enum field
    C:\Users\Tobi\Desktop\samp03z_svr_R1_win32\gamemodes\newrl.pwn(123) : warning 213: tag mismatch
    C:\Users\Tobi\Desktop\samp03z_svr_R1_win32\gamemodes\newrl.pwn(123) : warning 213: tag mismatch
    C:\Users\Tobi\Desktop\samp03z_svr_R1_win32\gamemodes\newrl.pwn(123) : warning 213: tag mismatch
    C:\Users\Tobi\Desktop\samp03z_svr_R1_win32\gamemodes\newrl.pwn(123) : warning 213: tag mismatch
    C:\Users\Tobi\Desktop\samp03z_svr_R1_win32\gamemodes\newrl.pwn(123) : error 018: initialization data exceeds declared size
    C:\Users\Tobi\Desktop\samp03z_svr_R1_win32\gamemodes\newrl.pwn(142) : error 001: expected token: ",", but found "["
    C:\Users\Tobi\Desktop\samp03z_svr_R1_win32\gamemodes\newrl.pwn(142) : error 029: invalid expression, assumed zero
    C:\Users\Tobi\Desktop\samp03z_svr_R1_win32\gamemodes\newrl.pwn(142) : warning 215: expression has no effect
    C:\Users\Tobi\Desktop\samp03z_svr_R1_win32\gamemodes\newrl.pwn(142) : error 001: expected token: ";", but found "]"
    C:\Users\Tobi\Desktop\samp03z_svr_R1_win32\gamemodes\newrl.pwn(142) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.


    So schauts aus


    for(new Gateid = 0; Gateid < sizeof(Tore); Gateid++)
    {
    Tore[Gateid][TorID][0] = CreateObject(987, Tore[Gateid][CloseX][0], Tore[Gateid][CloseY][0], Tore[Gateid][CloseZ][0], Tore[Gateid][CloseRx][0],Tore[Gateid][CloseRy][0],Tore[Gateid][CloseRz][0]);//Army Oben
    Tore[Gateid][TorID][1] = CreateObject(987, Tore[Gateid][CloseX][1], Tore[Gateid][CloseY][1], Tore[Gateid][CloseZ][1], Tore[Gateid][CloseRx][1],Tore[Gateid][CloseRy][1],Tore[Gateid][CloseRz][1]); //SFPD
    }


    Und in dem Bereich die Warns/Errors.
    new Float:Tore[][Gates] = {
    {-1522.80005, 482.5, -0.4,"Das Tor schließt sich Automatisch nach 8 Sekunden", -1522.80005, 482.5, 6.2, 1, 1},
    {-1631.7, 688.20001, 3.4,"Das Tor schließt sich Automatisch nach 8 Sekunden",-1631.7, 688.20001, 8.5, 1, 2}
    };


    Jetzt muss ich hier ja alles von CreateObject einfügen oder?
    CreateObject(987, -1522.80005, 482.5, 6.2, 0, 0, 180);//Army Oben
    also nicht nur
    -1522.80005, 482.5, 6.2
    sondern
    -1522.80005, 482.5, 6.2, 0, 0, 180?


    //Edit
    Errors eingefügt

    Okay also so?
    Tore[Gateid][TorID][1] = CreateObject(987, Tore[Gateid][CloseX][0], Tore[Gateid][CloseY][0], Tore[Gateid][CloseZ][0], Tore[Gateid][CloseR][0]);//Army Oben
    Tore[Gateid][TorID][2] = CreateObject(980, Tore[Gateid][CloseX][1], Tore[Gateid][CloseY][1], Tore[Gateid][CloseZ][1], Tore[Gateid][CloseR][1]); //SFPD


    Und oben dann
    enum Gates {
    Float: OpenX,
    Float: OpenY,
    Float: OpenZ,
    Float: OpenR,
    Text[200],
    Float: CloseX,
    Float: CloseY,
    Float: CloseZ,
    Float: CloseR,
    Gateteam,
    TorID[4]
    };


    Und hier dann auch die Rotation oder?
    new Float:Tore[][Gates] = {
    {-1522.80005, 482.5, -0.4,"Das Tor schließt sich Automatisch nach 8 Sekunden", -1522.80005, 482.5, 6.2, 1, 1},
    {-1631.7, 688.20001, 3.4,"Das Tor schließt sich Automatisch nach 8 Sekunden",-1631.7, 688.20001, 8.5, 1, 2}
    };



    Das heißt so?
    Tore[Gateid][TorID][1] = CreateObject(987, Tore[Gateid][CloseX][0], Tore[Gateid][CloseY][1], Tore[Gateid][CloseZ][0], 180);//Army Oben
    Oder muss ich da jetzt noch ein 4tes Float hinzufügen?

    Hallo leute und sorry wenn ich nerve aber ich verzweifle bei meinem Gate system für Fraktionen!
    Ich wollte mal etwas Sparender Scripten also hab ich mich an sowas gewendet..
    Es funktioniert eigentlich alles, aber nicht so wie es sollte!
    Bei mir lassen sich die Tore mit H öffnen - Funktioniert!
    Doch das Tor geht zwar runter, doch es wird sozusagen kopiert und das eigentliche Tor bleibt einfach zu.
    Sobald ich nur1 Tor drin habe geht alles! doch sobald mehrere kommen geht es wieder nicht.


    Hier mein Code.


    //Gate System
    forward CloseTor(playerid);
    //____Gates____________
    enum Gates {
    Float: OpenX,
    Float: OpenY,
    Float: OpenZ,
    Text[200],
    Float: CloseX,
    Float: CloseY,
    Float: CloseZ,
    Gateteam,
    TorID[4]//Damit das System weiß welches es öffnen soll und vor welchem ich stehe
    };


    //___________Gates und Tore usw_________________________________________________
    //X Y Z to Open, Text, X Y Z to Close, Team, TorID
    new Float:Tore[][Gates] = {
    {-1522.80005, 482.5, -0.4,"Das Tor schließt sich Automatisch nach 8 Sekunden", -1522.80005, 482.5, 6.2, 1, 1},
    {-1631.7, 688.20001, 3.4,"Das Tor schließt sich Automatisch nach 8 Sekunden",-1631.7, 688.20001, 8.5, 1, 2}
    };


    for(new Gateid = 0; Gateid < sizeof(Tore); Gateid++)
    {
    Tore[Gateid][TorID][1] = CreateObject(987, -1522.80005, 482.5, 6.2, 0, 0, 180);//Army Oben
    Tore[Gateid][TorID][2] = CreateObject(980, -1631.7, 688.20001, 8.5, 0, 0, 0); //SFPD
    }


    if(newkeys & KEY_CROUCH) {
    for(new Gateid = 0; Gateid < sizeof(Tore); Gateid++) {
    if(IsPlayerInRangeOfPoint(playerid,20.0, Tore[Gateid][CloseX],Tore[Gateid][CloseY],Tore[Gateid][CloseZ])) {
    if(SpielerInfo[playerid][pTeam] == Tore[Gateid][Gateteam]) {
    MoveObject(Tore[Gateid][TorID], Tore[Gateid][OpenX], Tore[Gateid][OpenY], Tore[Gateid][OpenZ], 5);
    SendClientMessage(playerid,tortext, Tore[Gateid][Text]); }
    SetTimer("CloseTor", 8000, 0); }
    }
    }


    //_______Tore________//
    public CloseTor(playerid) {
    for(new Gateid = 0; Gateid < sizeof(Tore); Gateid++) {
    MoveObject(Tore[Gateid][TorID], Tore[Gateid][CloseX],Tore[Gateid][CloseY],Tore[Gateid][CloseZ],5.0); }
    return 1; }


    Habe ich irgendwie was falsch gemacht ?
    ich weiß nicht mehr weiter!


    MfG

    jetzt bekomm ich 4 Errors :p


    if(areaid == ADAC[0])
    C:\Users\Tobi\Desktop\samp03z_svr_R1_win32\gamemodes\newrl.pwn(596) : error 028: invalid subscript (not an array or too many subscripts): "ADAC"
    C:\Users\Tobi\Desktop\samp03z_svr_R1_win32\gamemodes\newrl.pwn(596) : warning 215: expression has no effect
    C:\Users\Tobi\Desktop\samp03z_svr_R1_win32\gamemodes\newrl.pwn(596) : error 001: expected token: ";", but found "]"
    C:\Users\Tobi\Desktop\samp03z_svr_R1_win32\gamemodes\newrl.pwn(596) : error 029: invalid expression, assumed zero

    Danke ich hatte einen Tippfehler in der CFG ! :)


    ich bekomme jetzt auch die Nachricht damit die Zone verlasse und betrete! Aber ich hab ja nirgends definiert damit nur in der ADAC Zone der text kommen soll, wie mache ich das?
    public OnPlayerEnterDynamicArea(playerid, areaid) {
    return SendClientMessage(playerid,-1,"Zone betreten");//hier
    }
    public OnPlayerLeaveDynamicArea(playerid, areaid) {
    return SendClientMessage(playerid,-1,"Zone verlassen");//hier auf 0
    }


    Muss ich da nicht noch was machen?

    Ich wollte mit dem Streamer Plugin Gangzonen erstellen, weil die ADAC Mitglieder in der Zone alle Fahrzeuge fahren dürfen..
    So jetzt kommen wir zu meinem ersten Problem..
    Wenn ich den Streamer aktiviere kackt mein Server ab..
    in der Log steht dann:
    [01:06:34] Script[gamemodes/newrl.amx]: Run time error 19: "File or function is not found"
    [01:06:34] Number of vehicle models: 0
    [01:06:43] Incoming connection: 127.0.0.1:59098


    hab im Script
    #include <streamer>
    und halt das Plugin in der Cfg.


    Wie kommt das zu stande ?


    Zweites Problem..


    Wie definier ich die Gangzonen ?
    ADAC = GangZoneCreate(-1877.083, -21.35266, -1799.829, 203.5103);//Das war die Gangzone
    // ADACZone[0] = CreateDynamicRectangle(-1877.083, -21.35266, -1799.829, 203.5103,-1,-1,-1);//Hab das einfach hier eingetragen, ist das richtig ?


    wär das so richtig?
    Und wenn der in die Zone kommt soll eine Variable auf 1 gestellt werden
    public OnPlayerEnterDynamicArea(playerid, areaid) {
    return SendClientMessage(playerid,-1,"Zone betreten");//hier
    }
    public OnPlayerLeaveDynamicArea(playerid, areaid) {
    return SendClientMessage(playerid,-1,"Zone verlassen");//hier auf 0
    }


    Und die variable soll nur auf 1 gestellt werden wenn er die ADAC Zone betritt!



    Wäre über hilfe erfreut.. :thumbup:

    Ne habe kein TV und das meiste wo stört ist, dass sich die Tore duplizieren und ich sogesehen nicht durchs tor fahren kann weil das vorhandene Tor nicht runter geht, sondern irgendwie ein neues gemacht wird und das dann runter geht aber das normale bleibt zu! bei beiden...
    Und wie soll ich das mit der Schranke machen? Irgendwie check ich jetzt nicht mehr durch..



    //keiner eine lösung?

    Habe es einigermaßen hinbekommen!
    Problem:
    Jetzt wird irgendwie ein neues Tor erstellt, dass zwar perfekt funktioniert aber es soll ja das vorhandene Tor runter gehen :/


    Und bei meiner Schranke hab ich gerade gemerkt, dass man da ja mit Rotation arbeitet und ich mit IsPlayerInRangeOfPoint abfrage ob er dort steht aber das funktioniert ja alles garnicht, weil ja bei der schranke nicht die XYZ Kords. "gespeichert" werden? Wie kann ich da jetzt am besten abfragen ob er in der nähe der schranke ist ?


    Hier aktueller code


    //___________Gates und Tore usw_________________________________________________
    //X Y Z to Open, Text, X Y Z to Close, Team, TorID, Torart (1 = Tor / 2 = Schranke)
    new Float:Tore[][Gates] = {
    {-1522.80005, 482.5, -0.4,"Das Tor schließt sich Automatisch nach 8 Sekunden", -1522.80005, 482.5, 6.2, 1, 1, 1},
    {-1631.7, 688.20001, 3.4,"Das Tor schließt sich Automatisch nach 8 Sekunden",-1631.7, 688.20001, 8.5, 1, 2, 1},
    {-0, 359.247, 90,"Das Tor schließt sich Automatisch nach 8 Sekunden", 0, 89.742, 90, 1, 3, 2}//Das ist die schranke da bekomme ich übrigens 5 Warns(Tag missachtet)
    };


    if(newkeys & KEY_CROUCH) {
    for(new Gateid = 0; Gateid < sizeof(Tore); Gateid++) {
    if(IsPlayerInRangeOfPoint(playerid,20.0, Tore[Gateid][CloseX],Tore[Gateid][CloseY],Tore[Gateid][CloseZ])) {
    if(Tore[Gateid][Torart] == 1) {
    if(SpielerInfo[playerid][pTeam] == Tore[Gateid][Gateteam]) {
    MoveObject(Tore[Gateid][TorID], Tore[Gateid][OpenX], Tore[Gateid][OpenY], Tore[Gateid][OpenZ], 5);
    SendClientMessage(playerid,tortext, Tore[Gateid][Text]); }
    SetTimer("CloseTor", 8000, 0); }
    else if(Tore[Gateid][Torart] == 2) {
    if(SpielerInfo[playerid][pTeam] == Tore[Gateid][Gateteam]) {
    SetObjectRot(Tore[Gateid][TorID], Tore[Gateid][OpenX],Tore[Gateid][OpenY],Tore[Gateid][OpenZ]);
    SendClientMessage(playerid,tortext, Tore[Gateid][Text]); }
    SetTimer("CloseSchranke", 8000, 0); }
    }
    }
    }


    und Publics


    //Gate
    public CloseTor(playerid) {
    for(new Gateid = 0; Gateid < sizeof(Tore); Gateid++) {
    MoveObject(Tore[Gateid][TorID], Tore[Gateid][CloseX],Tore[Gateid][CloseY],Tore[Gateid][CloseZ],5.0); }
    return 1; }
    public CloseSchranke(playerid) {
    for(new Gateid = 0; Gateid < sizeof(Tore); Gateid++) {
    SetObjectRot(Tore[Gateid][TorID], Tore[Gateid][CloseX],Tore[Gateid][CloseY],Tore[Gateid][CloseZ]); }
    return 1; }


    Würde sehr dankbar sein :)

    Hallo leute, lasst euch vom Titel nicht abschrecken.
    Ich wollte etwas Spaarender Scripten bzw ich habe es versucht und zwar wollte ich wenn man vor einem Tor ist, es mit der taste H öffnen kann, und dass aber auch nur wenn man dem jeweiligen Team angehört! Mittlerweile sieht das ganze so aus und ich check einfach nicht mehr weiter :/


    //Gate System
    forward CloseTor(playerid);
    forward CloseSchranke(playerid);
    //____Gates____________
    enum Gates {
    Float: OpenX,
    Float: OpenY,
    Float: OpenZ,
    Text[200],
    Float: CloseX,
    Float: CloseY,
    Float: CloseZ,
    Gateteam,
    TorID[2],
    Torart
    };


    //___________Gates und Tore usw_________________________________________________
    //X Y Z to Open, Text, X Y Z to Close, Team, TorID, Torart (1 = Tor / 2 = Schranke)
    new Float:Tore[][Gates] = {
    {-1522.80005, 482.5, -0.4,"Das Tor schließt sich Automatisch nach 8 Sekunden", -1522.80005, 482.5, 6.2, 0, 1, 1}
    //{-1522.80005, 482.5, 6.2,"Das Tor schließt sich Automatisch nach 8 Sekunden", -1522.80005, 482.5, -0.4, 0, 2, 2}
    };


    public OnGameModeInit()
    {
    for(new Gateid = 0; Gateid < sizeof(Tore); Gateid++)
    {
    Tore[Gateid][TorID][1] = CreateObject(987, -1522.80005, 482.5, 6.2, 0, 0, 180);//Army Oben
    }
    return 1;
    }


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
    if(oldkeys == 8)
    {
    if(IsPlayerInRangeOfPoint(playerid,Tore[playerid][CloseX],Tore[playerid][CloseY],Tore[playerid][CloseZ], 10.0)) {
    if(GetPVarInt(playerid, "Team") == Tore[playerid][Gateteam]) {
    if(Tore[playerid][Torart] == 1) {
    MoveObject(Tore[playerid][TorID], Tore[playerid][OpenX], Tore[playerid][OpenY], Tore[playerid][OpenZ], 5);
    SendClientMessage(playerid,COLOR_LIGHTBLUE, Tore[playerid][Text]);
    SetTimer("CloseTor", 8000, 0); }
    else if(Tore[playerid][Torart] == 2) {
    //Rotieren...
    SendClientMessage(playerid,COLOR_LIGHTBLUE, Tore[playerid][Text]);
    SetTimer("CloseSchranke", 8000, 0); }
    }
    }
    }
    return 1; }
    public CloseTor(playerid)
    {
    MoveObject(Tore[playerid][TorID], Tore[playerid][CloseX],Tore[playerid][CloseY],Tore[playerid][CloseZ],5.0);
    return 1;
    }
    public CloseSchranke(playerid)
    {
    //Rotieren...
    return 1;


    Wäre echt nett wenn ihr mir etwas helfenkönntet :)


    MfG

    Ich verstehe das Prinzip aber weiss nicht wie ich es anwenden soll, beziehungsweise wie ich damit arbeiten kann.
    Kannst du mir vielleicht ein beispiel machen ?
    Das wenn man ja in der Zone ist, damit das ADAC auch die Polizei Autos benutzen darf und wenn die Zone verlassen wird die Removet werden ..


    Wäre nett :p



    //UP

    Mein Problem ist nun gelöst!
    Ich habe bei mir einfach alle Sachen deinstalliert, die noch nicht da waren wo es noch ging ;)
    Danach hab ich versucht eine Systemwiederherstellung zu machen, die wurde aber abgebrochen und aufeinmal ging alles wieder!
    Ich hatte wohl ein Virus drauf. Danke für die Zahlreichen Antworten und viel Glück den andern.


    Thema erledigt