Beiträge von Jens Lappenbusch

    Meine aber sowas, dass ich oben im Script Mit EINER Zeile eine ganze Gangzone erstellen kann.


    Also sowas:


    enum gebiet//Dies leitet eine genauere Beschreibung für einen Array ein.
    {
    gOwner,//Hier wird die Fraktionsid gespeichert, der das Gebiet im moment gehört
    Float:gMinX,//MinX - Koordinate für die Gangzone
    Float:gMinY,//MinY
    Float:gMaxX,//MaxX
    Float:gMaxY,//MaxY
    Float:gCheckX,//CheckX
    Float:gCheckY,//CheckY
    Float:gCheckZ,//CheckZ
    gOn,//Ob der Gangfight läuft
    gStatus,//Wieviel Prozent erobert
    gStand1,//Der Score für das Owner Team
    gStand2,//Score für die Angreifer
    gAngreifer//Hier wird die Fraktionsid gespeichert
    };
    new Gebiete[22][gebiet] = {//Erstellt eine Variable mit der Anzahl der Gebiete in der ersten [] angegeben und in der zweiten wird das Enum von oben eingefügt. (Dient zur genaueren Beschreibnung)
    {5,35.15625,2421.875,458.984375,2609.375,413.8684,2537.2888,19.1484,0,0,0,0,0},//Hier werden dann die Zonen erstellt, eigentlich alles auf 0 lassen, außer die Koordinaten...
    {5,93.75,1330.078125,289.0625,1490.234375,221.0299,1421.0905,10.5859,0,0,0,0,0},//Zone
    {5,-58.59375,1320.3125,52.734375,1421.875,-10.8091,1393.6879,9.1719,0,0,0,0,0},//Caravans
    {5,-412.109375,1500.0,-257.8125,1626.953125,-298.5329,1538.5736,75.5625,0,0,0,0,0},//Big Ear
    {5,-732.421875,914.0625,-650.390625,980.46875,-688.6170,938.4021,13.6328,0,0,0,0,0},//GRP Haus
    {5,-482.421875,2179.6875,-341.796875,2279.296875,-427.8325,2232.1704,42.4297,0,0,0,0,0},//Kleines Dorf
    {5,-621.09375,2541.015625,-509.765625,2644.53125,-551.7822,2593.9885,53.9348,0,0,0,0,0},//Fire Department
    {5,-810.546875,2740.234375,-730.46875,2783.203125,-778.9518,2745.5300,45.6877,0,0,0,0,0},//Motel
    {5,1025.390625,2894.53125,1085.9375,2992.1875,1048.8763,2908.3472,47.8231,0,0,0,0,0},//Oil Rafinery
    {5,-914.0625,1400.390625,-718.75,1623.046875,-731.2035,1546.0305,38.9973,0,0,0,0,0},//Kleine Stadt
    {5,-56.6406250000005,2333.984375,0.0,2384.765625,-24.1189,2346.4600,24.1347,0,0,0,0,0},//3 Häuser Stadt
    {5,56.640625,1769.53125,369.140625,2115.234375,247.4024,1858.8533,14.0840,0,0,0,0,0},//Area 51
    {0,521.484375,1197.265625,658.203125,1283.203125,588.6365,1246.8085,11.7188,0,0,0,0,0},//Fuel Depot
    {0,664.0625,1919.921875,728.515625,2005.859375,693.6661,1965.5092,5.5391,0,0,0,0,0},//Spread Ranch
    {0,513.671875,1628.90625,695.3125,1757.8125,673.1444,1706.3392,7.1875,0,0,0,0,0},//Gas Station
    {0,-1233.3984375,1790.0390625,-1163.0859375,1854.4921875,-1195.0190,1812.9248,41.8926,0,0,0,0,0},//Cluckin Bell
    {0,-1851.5625,1992.1875,-1784.1796875,2068.359375,-1820.5577,2045.7581,8.8870,0,0,0,0,0},//Electro Station
    {0,-345.703125,1289.0625,-290.0390625,1327.1484375,-310.4891,1303.4446,53.6643,0,0,0,0,0},//Fastfood BigEar
    {0,922.8515625,1631.8359375,999.0234375,1839.84375,944.0348,1733.0010,8.8516,0,0,0,0,0},//FBI Base
    {0,-1470.703125,1473.6328125,-1344.7265625,1520.5078125,-1391.8267,1482.0061,1.8672,0,0,0,0,0},//Delivery Ship
    {0,1362.3046875,1215.8203125,1511.71875,1842.7734375,1318.8658,1255.6735,14.2731,0,0,0,0,0},//Airport
    {0,960.9375,972.65625,1168.9453125,1168.9453125,1064.2294,1024.3446,10.1578,0,0,0,0,0}//Hospital
    };


    Nein ich nehm das System nicht, da es total verbuggt ist.


    Kennt einer ein gutes, wo man das SO erstellen kann ?


    Bzw. würde sich einer die Mühe machen, und dazu ein Tutorial erstellen ?


    MfG
    Me

    Hey, habe hier einen Bug.


    Habe ein Gangzonen System.
    Die Sache ist: Wenn ich in einer Zone bin, und 30Meter und näher von dem Checkpoint in der Zone entfernt bin, soll er angezeigt werden.


    Doch wenn ich in eine Zone gehe, wird nur Debug 1 und 2 ausgeführt, als bei ROT, "Debug"); das Goldene ist erstmal nicht wichtig.


    NUR bei der Ersten Zone die bei "Gebiete" eingetragen ist, werden alle Debug's ausgeführt, bei allen anderen, wenn ich da in die Zone gehe, passiert nichts.
    ABER sie werden erstellt, also ich sehe sie auf der Map.


    enum gebiet//Dies leitet eine genauere Beschreibung für einen Array ein.
    {
    gOwner,//Hier wird die Fraktionsid gespeichert, der das Gebiet im moment gehört
    Float:gMinX,//MinX - Koordinate für die Gangzone
    Float:gMinY,//MinY
    Float:gMaxX,//MaxX
    Float:gMaxY,//MaxY
    Float:gCheckX,//CheckX
    Float:gCheckY,//CheckY
    Float:gCheckZ,//CheckZ
    gOn,//Ob der Gangfight läuft
    gStatus,//Wieviel Prozent erobert
    gStand1,//Der Score für das Owner Team
    gStand2,//Score für die Angreifer
    gAngreifer//Hier wird die Fraktionsid gespeichert
    };
    new Gebiete[][gebiet] = {//Erstellt eine Variable mit der Anzahl der Gebiete in der ersten [] angegeben und in der zweiten wird das Enum von oben eingefügt. (Dient zur genaueren Beschreibnung)
    {5,35.15625,2421.875,458.984375,2609.375,413.8684,2537.2888,19.1484,0,0,0,0,0},//Hier werden dann die Zonen erstellt, eigentlich alles auf 0 lassen, außer die Koordinaten...
    {5,93.75,1330.078125,289.0625,1490.234375,221.0299,1421.0905,10.5859,0,0,0,0,0},//Zone
    {5,-58.59375,1320.3125,52.734375,1421.875,-10.8091,1393.6879,9.1719,0,0,0,0,0},//Caravans
    {5,-412.109375,1500.0,-257.8125,1626.953125,-298.5329,1538.5736,75.5625,0,0,0,0,0},//Big Ear
    {5,-732.421875,914.0625,-650.390625,980.46875,-688.6170,938.4021,13.6328,0,0,0,0,0},//GRP Haus
    {5,-482.421875,2179.6875,-341.796875,2279.296875,-427.8325,2232.1704,42.4297,0,0,0,0,0},//Kleines Dorf
    {5,-621.09375,2541.015625,-509.765625,2644.53125,-551.7822,2593.9885,53.9348,0,0,0,0,0},//Fire Department
    {5,-810.546875,2740.234375,-730.46875,2783.203125,-778.9518,2745.5300,45.6877,0,0,0,0,0},//Motel
    {5,1025.390625,2894.53125,1085.9375,2992.1875,1048.8763,2908.3472,47.8231,0,0,0,0,0},//Oil Rafinery
    {5,-914.0625,1400.390625,-718.75,1623.046875,-731.2035,1546.0305,38.9973,0,0,0,0,0},//Kleine Stadt
    {5,-56.6406250000005,2333.984375,0.0,2384.765625,-24.1189,2346.4600,24.1347,0,0,0,0,0},//3 Häuser Stadt
    {5,56.640625,1769.53125,369.140625,2115.234375,247.4024,1858.8533,14.0840,0,0,0,0,0}//Area 51
    /*{0,,,0,0,0,0,0},
    {0,,,0,0,0,0,0}*/
    };


    stock IsPlayerInGebietT(playerid)//Funktion bennen mit den jeweiligen Variablen oder auch Parameter genannt.
    {
    SendClientMessageToAll(ROT, "Debug 1");
    for(new i; i<sizeof(Gebiete); i++)//Damit wieder nach allen Zonen geschaut wird.
    {
    SendClientMessageToAll(ROT, "Debug 2");
    new Float:GetX,Float:GetY,Float:GetZ;//Neue Float Variablen erstellen, damit wir dort die Positionen des Spielers speichern können
    GetPlayerPos(playerid,GetX,GetY,GetZ);//Die Position des Spielers in den oben genannten Variablen speichern.
    //if(IsPlayerInRangeOfPoint(playerid, 5.0, Gebiete[i][gCheckX], Gebiete[i][gCheckY], Gebiete[i][gCheckZ]))
    if(Gebiete[i][gMinX] < GetX && Gebiete[i][gMaxX] > GetX && Gebiete[i][gMinY] < GetY && Gebiete[i][gMaxY] > GetY)//Hier wird abgefragt ob die Spielerkooridnanten in dem Bereich der Gangzone sind.
    {
    SendClientMessageToAll(ROT, "Debug 3");
    return i;//Hier wird die Gebietsid returned
    }
    return -1;//Wenn der nirgendwo drin ist wird halt -1 returned damit wir einen unterschied haben
    }
    return -1;//Siehe oben
    }


    forward IsPlayerInNaehe(playerid);//Funktion bennen mit den jeweiligen Variablen oder auch Parameter genannt.
    public IsPlayerInNaehe(playerid)//Funktion bennen mit den jeweiligen Variablen oder auch Parameter genannt.
    {
    SendClientMessageToAll(COLOR_GOLD, "Debug 1");
    for(new i;i<sizeof(Gebiete);i++)//Damit wieder nach allen Zonen geschaut wird.
    {
    if(IsPlayerInGebietT(playerid) > -1)
    {
    SendClientMessageToAll(COLOR_GOLD, "Debug 2");
    new Float:GetX,Float:GetY,Float:GetZ;//Neue Float Variablen erstellen, damit wir dort die Positionen des Spielers speichern können
    GetPlayerPos(playerid,GetX,GetY,GetZ);//Die Position des Spielers in den oben genannten Variablen speichern.
    SendClientMessageToAll(COLOR_GOLD, "Debug 3");
    if(IsPlayerInRangeOfPoint(playerid, 30.0, Gebiete[i][gCheckX], Gebiete[i][gCheckY], Gebiete[i][gCheckZ]))
    //if(Gebiete[i][gMinX] < GetX && Gebiete[i][gMaxX] > GetX && Gebiete[i][gMinY] < GetY && Gebiete[i][gMaxY] > GetY)//Hier wird abgefragt ob die Spielerkooridnanten in dem Bereich der Gangzone sind.
    {
    SendClientMessageToAll(COLOR_GOLD, "Debug 4");
    SetPlayerCheckpoint(playerid, Gebiete[i][gCheckX], Gebiete[i][gCheckY], Gebiete[i][gCheckZ], 2.0);
    }
    else
    {
    SendClientMessageToAll(COLOR_GOLD, "Debug 5");
    /*if(IsPlayerInGebiet(playerid))
    {
    if(!IsPlayerInRangeOfPoint(playerid, 30.0, Gebiete[i][gCheckX], Gebiete[i][gCheckY], Gebiete[i][gCheckZ]))
    {*/
    DisablePlayerCheckpoint(playerid);
    //}
    //}
    }
    }
    return -1;//Wenn der nirgendwo drin ist wird halt -1 returned damit wir einen unterschied haben
    }
    return -1;//Siehe oben
    }


    Hoffe ihr könnt mir dabei helfen.


    MfG
    Me

    Hey, dass soll eig. keine Filterscript Suche oder so sein.


    Aber kennt jemmand ein gutes Clan/Gruppen System mit Create, INvite, Leave und Kick(als Leader einen aus dem Clan) System ?


    Aber das ganze muss gespeichert werden.


    Egal ob Englisch oder Deutsch oder sonst was, schreib ich mir dann um.


    MfG
    Me

    Und an welcher stelle soll ich dann diese If Abfrage reintun ?
    Also die mit var == Variable ?
    Unter die Abfrage mit dem jeweiligen Key ?
    also:


    if(newkeys == KEY_FIRE)
    {
    var--;
    //hier die If Abfrage und bei KEY_HANDBRAKE dann ? ALso einfach nach var--; bzw. var++; ?
    }


    MfG
    Me

    Hey Breadis,


    Habe das Problem:


    Habe eine Klassenauswahl gemacht, für einen Battlefield SAMP Server.


    Wenn man rechte Maustaste drückt, kommt man eine Klasse nach rechts.
    Wenn man linke drückt, andersrum.


    Das Problem ist:
    Wenn ich rechte maustaste drücke, wird die Variable von 4 auf 5 gesetzt.


    Moment, irgendwie doch falsch^^


    Jedenfalls, wenn ich KLasse 1 bin, drücke ich 2x nach rechts, bzw. rechte maustaste, dann bin ich Klasse 3.
    Wenn ich dann linke einmal drücke, komme ich auf Klasse 4
    und wenn ich nochmal linke drücke geht es erst wieder zurück, also 3, 2, 1 etc.


    Wie beheben ?


    if(newkeys == KEY_HANDBRAKE)
    {
    if(ChooseClass[playerid] == 1)
    {
    ChooseClass[playerid] = 2;
    new string[1250];
    format(string, sizeof(string), "~r~2 ~w~Class");
    TextDrawSetString(CCClass[playerid], string);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 34, 1);
    SetPlayerAmmo(playerid, 34, 10);
    format(string, sizeof(string), "~r~Waffen: ~w~M4, Desert Eagle, Smoke Grenades~n~~b~Extras: ~w~Kann nicht auf der Minimap gesehen werden, spawnt mit vollem Level + 20 Armour~n~~g~Info: ~w~Gut gegen Infanterien und Bodentrupps.");
    TextDrawSetString(CCInfos[playerid], string);
    }
    else if(ChooseClass[playerid] == 2)
    {
    ChooseClass[playerid] = 3;
    new string[1250];
    format(string, sizeof(string), "~g~3 ~w~Class");
    TextDrawSetString(CCClass[playerid], string);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 31, 1);
    SetPlayerAmmo(playerid, 31, 1);
    format(string, sizeof(string), "~r~Waffen: ~w~M4, Desert Eagle, Smoke Grenades~n~~b~Extras: ~w~Kann nicht auf der Minimap gesehen werden, spawnt mit vollem Level + 20 Armour~n~~g~Info: ~w~Gut gegen Infanterien und Bodentrupps.");
    TextDrawSetString(CCInfos[playerid], string);
    }
    else if(ChooseClass[playerid] == 3)
    {
    ChooseClass[playerid] = 4;
    new string[1250];
    format(string, sizeof(string), "~g~4 ~w~Class");
    TextDrawSetString(CCClass[playerid], string);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 31, 1);
    SetPlayerAmmo(playerid, 31, 10);
    format(string, sizeof(string), "~r~Waffen: ~w~M4, Desert Eagle, Smoke Grenades~n~~b~Extras: ~w~Kann nicht auf der Minimap gesehen werden, spawnt mit vollem Level + 20 Armour~n~~g~Info: ~w~Gut gegen Infanterien und Bodentrupps.");
    TextDrawSetString(CCInfos[playerid], string);
    }
    else if(ChooseClass[playerid] == 4)
    {
    ChooseClass[playerid] = 5;
    new string[1250];
    format(string, sizeof(string), "~g~5 ~w~Class");
    TextDrawSetString(CCClass[playerid], string);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 31, 1);
    SetPlayerAmmo(playerid, 31, 10);
    format(string, sizeof(string), "~r~Waffen: ~w~M4, Desert Eagle, Smoke Grenades~n~~b~Extras: ~w~Kann nicht auf der Minimap gesehen werden, spawnt mit vollem Level + 20 Armour~n~~g~Info: ~w~Gut gegen Infanterien und Bodentrupps.");
    TextDrawSetString(CCInfos[playerid], string);
    }
    else if(ChooseClass[playerid] == 5)
    {
    ChooseClass[playerid] = 6;
    new string[1250];
    format(string, sizeof(string), "~g~6 ~w~Class");
    TextDrawSetString(CCClass[playerid], string);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 31, 1);
    SetPlayerAmmo(playerid, 31, 10);
    format(string, sizeof(string), "~r~Waffen: ~w~M4, Desert Eagle, Smoke Grenades~n~~b~Extras: ~w~Kann nicht auf der Minimap gesehen werden, spawnt mit vollem Level + 20 Armour~n~~g~Info: ~w~Gut gegen Infanterien und Bodentrupps.");
    TextDrawSetString(CCInfos[playerid], string);
    }
    else if(ChooseClass[playerid] == 6)
    {
    ChooseClass[playerid] = 1;
    new string[1250];
    format(string, sizeof(string), "~w~1 ~w~Class");
    TextDrawSetString(CCClass[playerid], string);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 31, 1);
    SetPlayerAmmo(playerid, 31, 10);
    format(string, sizeof(string), "~r~Waffen: ~w~M4, Desert Eagle, Smoke Grenades~n~~b~Extras: ~w~Kann nicht auf der Minimap gesehen werden, spawnt mit vollem Level + 20 Armour~n~~g~Info: ~w~Gut gegen Infanterien und Bodentrupps.");
    TextDrawSetString(CCInfos[playerid], string);
    }
    }
    if(newkeys == KEY_FIRE)
    {
    if(ChooseClass[playerid] == 1)
    {
    ChooseClass[playerid] = 6;
    new string[1250];
    format(string, sizeof(string), "~r~2 ~w~Class");
    TextDrawSetString(CCClass[playerid], string);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 34, 1);
    SetPlayerAmmo(playerid, 34, 10);
    format(string, sizeof(string), "~r~Waffen: ~w~M4, Desert Eagle, Smoke Grenades~n~~b~Extras: ~w~Kann nicht auf der Minimap gesehen werden, spawnt mit vollem Level + 20 Armour~n~~g~Info: ~w~Gut gegen Infanterien und Bodentrupps.");
    TextDrawSetString(CCInfos[playerid], string);
    }
    else if(ChooseClass[playerid] == 2)
    {
    ChooseClass[playerid] = 1;
    new string[1250];
    format(string, sizeof(string), "~g~3 ~w~Class");
    TextDrawSetString(CCClass[playerid], string);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 31, 1);
    SetPlayerAmmo(playerid, 31, 1);
    format(string, sizeof(string), "~r~Waffen: ~w~M4, Desert Eagle, Smoke Grenades~n~~b~Extras: ~w~Kann nicht auf der Minimap gesehen werden, spawnt mit vollem Level + 20 Armour~n~~g~Info: ~w~Gut gegen Infanterien und Bodentrupps.");
    TextDrawSetString(CCInfos[playerid], string);
    }
    else if(ChooseClass[playerid] == 3)
    {
    ChooseClass[playerid] = 2;
    new string[1250];
    format(string, sizeof(string), "~g~4 ~w~Class");
    TextDrawSetString(CCClass[playerid], string);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 31, 1);
    SetPlayerAmmo(playerid, 31, 10);
    format(string, sizeof(string), "~r~Waffen: ~w~M4, Desert Eagle, Smoke Grenades~n~~b~Extras: ~w~Kann nicht auf der Minimap gesehen werden, spawnt mit vollem Level + 20 Armour~n~~g~Info: ~w~Gut gegen Infanterien und Bodentrupps.");
    TextDrawSetString(CCInfos[playerid], string);
    }
    else if(ChooseClass[playerid] == 4)
    {
    ChooseClass[playerid] = 3;
    new string[1250];
    format(string, sizeof(string), "~g~5 ~w~Class");
    TextDrawSetString(CCClass[playerid], string);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 31, 1);
    SetPlayerAmmo(playerid, 31, 10);
    format(string, sizeof(string), "~r~Waffen: ~w~M4, Desert Eagle, Smoke Grenades~n~~b~Extras: ~w~Kann nicht auf der Minimap gesehen werden, spawnt mit vollem Level + 20 Armour~n~~g~Info: ~w~Gut gegen Infanterien und Bodentrupps.");
    TextDrawSetString(CCInfos[playerid], string);
    }
    else if(ChooseClass[playerid] == 5)
    {
    ChooseClass[playerid] = 4;
    new string[1250];
    format(string, sizeof(string), "~g~6 ~w~Class");
    TextDrawSetString(CCClass[playerid], string);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 31, 1);
    SetPlayerAmmo(playerid, 31, 10);
    format(string, sizeof(string), "~r~Waffen: ~w~M4, Desert Eagle, Smoke Grenades~n~~b~Extras: ~w~Kann nicht auf der Minimap gesehen werden, spawnt mit vollem Level + 20 Armour~n~~g~Info: ~w~Gut gegen Infanterien und Bodentrupps.");
    TextDrawSetString(CCInfos[playerid], string);
    }
    else if(ChooseClass[playerid] == 6)
    {
    ChooseClass[playerid] = 5;
    new string[1250];
    format(string, sizeof(string), "~w~1 ~w~Class");
    TextDrawSetString(CCClass[playerid], string);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 31, 1);
    SetPlayerAmmo(playerid, 31, 10);
    format(string, sizeof(string), "~r~Waffen: ~w~M4, Desert Eagle, Smoke Grenades~n~~b~Extras: ~w~Kann nicht auf der Minimap gesehen werden, spawnt mit vollem Level + 20 Armour~n~~g~Info: ~w~Gut gegen Infanterien und Bodentrupps.");
    TextDrawSetString(CCInfos[playerid], string);
    }
    }


    MfG
    Me