Gangzonen

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
  • Wie gespeichert?
    Die werden doch erst beim GameModeInit() erstellt?
    Und wenn du sie während dem Ablauf des Modes veränderst, musst du sie natürlich irgendwo in einer Datei / Datenbank speichern und beim Init daraus wieder laden.

  • public Fight_Close(){
    KillTimer(FightTimer[0]);
    KillTimer(FightTimer[1]);
    if(fexist("Fightzones.cfg")) fremove("Fightzones.cfg");
    new File:fFile=fopen("Fightzones.cfg",io_append),Content[64];
    for(new fs;fs<sizeof(FightSystem);fs++){
    if(FightSystem[fs][fsAttackFaction] != -255 && FightSystem[fs][fsFightTime]){
    GangZoneStopFlashForAll(FightSystem[fs][fsZoneID]);
    for(new i;i<MAX_PLAYERS;i++){
    if(IsPlayerConnected(i)){
    if(GetPlayerFaction(i) == FightSystem[fs][fsOwnerFaction] || GetPlayerFaction(i) == FightSystem[fs][fsAttackFaction]){
    TextDrawHideForPlayer(i,Fight);
    TextDrawHideForPlayer(i,FightUnderline);
    TextDrawHideForPlayer(i,FightSystem[fs][fsWinFaction]);
    TextDrawHideForPlayer(i,FightSystem[fs][fsLoseFaction]);
    TextDrawHideForPlayer(i,FightSystem[fs][fsWinKills]);
    TextDrawHideForPlayer(i,FightSystem[fs][fsLoseKills]);
    TextDrawHideForPlayer(i,FightSystem[fs][fsTime]);
    }
    }
    }
    }
    TextDrawDestroy(FightSystem[fs][fsWinFaction]);
    TextDrawDestroy(FightSystem[fs][fsLoseFaction]);
    TextDrawDestroy(FightSystem[fs][fsWinKills]);
    TextDrawDestroy(FightSystem[fs][fsLoseKills]);
    TextDrawDestroy(FightSystem[fs][fsTime]);
    GangZoneHideForAll(FightSystem[fs][fsZoneID]);
    GangZoneDestroy(FightSystem[fs][fsZoneID]);
    DestroyPickup(FightSystem[fs][fsFlag]);
    format(Content,sizeof(Content),"%d %d %d %d %d\r\n",FightSystem[fs][fsOwnerFaction],FightSystem[fs][fsAttackFaction],FightSystem[fs][fsKillsOfOwner],FightSystem[fs][fsKillsOfAttack],FightSystem[fs][fsFightTime]);
    fwrite(fFile,Content);
    }
    fclose(fFile);
    TextDrawDestroy(Fight);
    TextDrawDestroy(FightUnderline);
    return 1;
    }

  • Ich habe nicht auf gamemode int
    public Fight_Init(){
    Fight = TextDrawCreate(88.000000,244.000000,"Fight:~n~_~n~_~n~_~n~_~n~_");
    TextDrawUseBox(Fight,1);
    TextDrawBoxColor(Fight,0x00000066);
    TextDrawTextSize(Fight,102.000000,124.000000);
    TextDrawAlignment(Fight,2);
    TextDrawBackgroundColor(Fight,0xff000033);
    TextDrawFont(Fight,2);
    TextDrawLetterSize(Fight,0.499999,1.000000);
    TextDrawColor(Fight,0xffffffff);
    TextDrawSetOutline(Fight,1);
    TextDrawSetProportional(Fight,1);
    FightUnderline = TextDrawCreate(91.000000,274.000000,".");
    TextDrawAlignment(FightUnderline,2);
    TextDrawBackgroundColor(FightUnderline,0x000000ff);
    TextDrawFont(FightUnderline,3);
    TextDrawLetterSize(FightUnderline,14.799997,1.000000);
    TextDrawColor(FightUnderline,0xffffffff);
    TextDrawSetProportional(FightUnderline,1);
    TextDrawSetShadow(FightUnderline,1);
    if(!fexist("Fightzones.cfg")){
    new File:fFile=fopen("Fightzones.cfg",io_write);
    for(new fs;fs fwrite(fFile,"14 -255 0 0 0\r\n");
    fclose(fFile);
    }
    new File:fFile=fopen("Fightzones.cfg",io_read),Content[64],fs;
    while(fread(fFile,Content) && fs < sizeof(FightSystem)){
    FightSystem[fs][fsWinFaction] = TextDrawCreate(26.000000,256.000000," ");
    TextDrawSetProportional(FightSystem[fs][fsWinFaction],1);
    TextDrawAlignment(FightSystem[fs][fsWinFaction],0);
    TextDrawBackgroundColor(FightSystem[fs][fsWinFaction],0x000000ff);
    TextDrawFont(FightSystem[fs][fsWinFaction],2);
    TextDrawLetterSize(FightSystem[fs][fsWinFaction],0.199999,1.000000);
    TextDrawColor(FightSystem[fs][fsWinFaction],0xffffffff);
    TextDrawSetOutline(FightSystem[fs][fsWinFaction],1);
    FightSystem[fs][fsLoseFaction] = TextDrawCreate(26.000000,267.000000," ");
    TextDrawSetProportional(FightSystem[fs][fsLoseFaction],1);
    TextDrawSetOutline(FightSystem[fs][fsLoseFaction],1);
    TextDrawColor(FightSystem[fs][fsLoseFaction],0xffffffff);
    TextDrawFont(FightSystem[fs][fsLoseFaction],2);
    TextDrawLetterSize(FightSystem[fs][fsLoseFaction],0.199999,0.899999);
    TextDrawBackgroundColor(FightSystem[fs][fsLoseFaction],0x000000ff);
    TextDrawAlignment(FightSystem[fs][fsLoseFaction],0);
    FightSystem[fs][fsWinKills] = TextDrawCreate(107.000000,256.000000," ");
    TextDrawSetProportional(FightSystem[fs][fsWinKills],1);
    TextDrawSetOutline(FightSystem[fs][fsWinKills],1);
    TextDrawColor(FightSystem[fs][fsWinKills],0xffffffff);
    TextDrawSetShadow(FightSystem[fs][fsWinKills],1);
    TextDrawFont(FightSystem[fs][fsWinKills],2);
    TextDrawLetterSize(FightSystem[fs][fsWinKills],0.199999,1.000000);
    TextDrawBackgroundColor(FightSystem[fs][fsWinKills],0x000000ff);
    TextDrawAlignment(FightSystem[fs][fsWinKills],0);
    FightSystem[fs][fsLoseKills] = TextDrawCreate(107.000000,267.000000," ");
    TextDrawSetProportional(FightSystem[fs][fsLoseKills],1);
    TextDrawSetShadow(FightSystem[fs][fsLoseKills],1);
    TextDrawSetOutline(FightSystem[fs][fsLoseKills],1);
    TextDrawColor(FightSystem[fs][fsLoseKills],0xffffffff);
    TextDrawFont(FightSystem[fs][fsLoseKills],2);
    TextDrawLetterSize(FightSystem[fs][fsLoseKills],0.199999,1.000000);
    TextDrawBackgroundColor(FightSystem[fs][fsLoseKills],0x000000ff);
    TextDrawAlignment(FightSystem[fs][fsLoseKills],0);
    FightSystem[fs][fsTime] = TextDrawCreate(26.000000,286.000000," ");
    TextDrawColor(FightSystem[fs][fsTime],0xffffffff);
    TextDrawAlignment(FightSystem[fs][fsTime],0);
    TextDrawBackgroundColor(FightSystem[fs][fsTime],0x000000ff);
    TextDrawFont(FightSystem[fs][fsTime],2);
    TextDrawLetterSize(FightSystem[fs][fsTime],0.199999,0.899999);
    TextDrawSetProportional(FightSystem[fs][fsTime],1);
    StripNewLine(Content);
    sscanf(Content,"ddddd",FightSystem[fs][fsOwnerFaction],FightSystem[fs][fsAttackFaction],FightSystem[fs][fsKillsOfOwner],FightSystem[fs][fsKillsOfAttack],FightSystem[fs][fsFightTime]);
    FightSystem[fs][fsCTF][0] = -255;
    FightSystem[fs][fsCTF][1] = 0;
    FightSystem[fs][fsCTF][2] = 0;
    FightSystem[fs][fsLastFight] = 0;
    FightSystem[fs][fsZoneID] = GangZoneCreate(FightSystem[fs][fsMinX],FightSystem[fs][fsMinY],FightSystem[fs][fsMaxX],FightSystem[fs][fsMaxY]);
    FightSystem[fs][fsFlag] = CreatePickup(1314,1,FightSystem[fs][fsCTFx],FightSystem[fs][fsCTFy],FightSystem[fs][fsCTFz],-1);
    if(FightSystem[fs][fsFightTime] && FightSystem[fs][fsAttackFaction] != -255){
    new fsText[64];
    format(fsText,sizeof(fsText),"Verbl. Zeit: %d Minuten",FightSystem[fs][fsFightTime]);
    TextDrawSetString(FightSystem[fs][fsTime],fsText);
    if(FightSystem[fs][fsKillsOfOwner] > FightSystem[fs][fsKillsOfAttack]){
    format(fsText,sizeof(fsText),"~g~%s",GetFactionNameOfFaction(FightSystem[fs][fsOwnerFaction]));
    TextDrawSetString(FightSystem[fs][fsWinFaction],fsText);
    format(fsText,sizeof(fsText),"~g~%d Kills",FightSystem[fs][fsKillsOfOwner]);
    TextDrawSetString(FightSystem[fs][fsWinKills],fsText);
    format(fsText,sizeof(fsText),"~r~%s",GetFactionNameOfFaction(FightSystem[fs][fsAttackFaction]));
    TextDrawSetString(FightSystem[fs][fsLoseFaction],fsText);
    format(fsText,sizeof(fsText),"~r~%d Kills",FightSystem[fs][fsKillsOfAttack]);
    TextDrawSetString(FightSystem[fs][fsLoseKills],fsText);
    }
    else if(FightSystem[fs][fsKillsOfAttack] > FightSystem[fs][fsKillsOfOwner]){
    format(fsText,sizeof(fsText),"~g~%s",GetFactionNameOfFaction(FightSystem[fs][fsAttackFaction]));
    TextDrawSetString(FightSystem[fs][fsWinFaction],fsText);
    format(fsText,sizeof(fsText),"~g~%d Kills",FightSystem[fs][fsKillsOfAttack]);
    TextDrawSetString(FightSystem[fs][fsWinKills],fsText);
    format(fsText,sizeof(fsText),"~r~%s",GetFactionNameOfFaction(FightSystem[fs][fsOwnerFaction]));
    TextDrawSetString(FightSystem[fs][fsLoseFaction],fsText);
    format(fsText,sizeof(fsText),"~r~%d Kills",FightSystem[fs][fsKillsOfOwner]);
    TextDrawSetString(FightSystem[fs][fsLoseKills],fsText);
    }else{
    format(fsText,sizeof(fsText),"~y~%s",GetFactionNameOfFaction(FightSystem[fs][fsOwnerFaction]));
    TextDrawSetString(FightSystem[fs][fsWinFaction],fsText);
    format(fsText,sizeof(fsText),"~y~%d Kills",FightSystem[fs][fsKillsOfOwner]);
    TextDrawSetString(FightSystem[fs][fsWinKills],fsText);
    format(fsText,sizeof(fsText),"~y~%s",GetFactionNameOfFaction(FightSystem[fs][fsAttackFaction]));
    TextDrawSetString(FightSystem[fs][fsLoseFaction],fsText);
    format(fsText,sizeof(fsText),"~y~%d Kills",FightSystem[fs][fsKillsOfAttack]);
    TextDrawSetString(FightSystem[fs][fsLoseKills],fsText);
    }
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • des sind die zonen


    new FightSystem[][fsSyS]={
    /*MinX, MinY, MaxX, MaxY, CTFx, CTFy, CTFz*/
    {1040.630615, -1716.315795, 1144.630615, -1580.315795,1072.4016,-1619.3834,20.4583},//Kaufhaus
    {1853.246826,-1463.734863,1981.246826,-1351.734863,1893.2468,-1423.7349,10.3594},//stunt
    {2500.743652,-1443.229003,2580.743652,-1267.229003,2545.4724,-1434.2423,24.0019},//park
    {1828.318,-1938.465,2071.699,-1760.817,1958.6156,-1853.2424,4.3392},//Tanke
    {1828.0573,-2161.2705,1956.4136,-2057.7964,1924.0941,-2125.0146,13.5826},//Airport(LS)
    {1164.348388,-1153.130004,1260.348388,-1033.130004,1213.9235,-1080.2028,28.8640}, //neben bsn
    {812.488098,-2080.804199,852.488098,-1896.804199,836.4881,-2064.8042,12.8672}, //bei STRAND
    {791.747436,-1492.617797,919.747436,-1412.617797,831.7474,-1452.6178,13.6261}, //neben autohaus
    {333.171264,-1597.453491,437.171264,-1485.453491,397.2343,-1525.5581,32.2734}//Gucke
    };
    aber bei mir ist nur das problem wenn die zonen ein genommen werde nach dem server restart sind wie vor her bs balls gewinnt die zone aber ges gehört groven nach dem server restart geht
    des wieder groven street

  • Ich brauch keine Zeile. Es geht darum das bei dir die GangZones nicht erstellt werden.
    Diese müssten aber eigentlich in OnGameModeInit stehen, damit sie erstellt werden.
    Sobald du sie created hast (mit GangZoneCreate) musst du sie noch anzeigen (GangZoneShowForAll / ShowForPlayer).


    Schau einfach mal ob du das machst.

  • des sind die zonen


    new FightSystem[][fsSyS]={
    /*MinX, MinY, MaxX, MaxY, CTFx, CTFy, CTFz*/
    {1040.630615, -1716.315795, 1144.630615, -1580.315795,1072.4016,-1619.3834,20.4583},//Kaufhaus
    {1853.246826,-1463.734863,1981.246826,-1351.734863,1893.2468,-1423.7349,10.3594},//stunt
    {2500.743652,-1443.229003,2580.743652,-1267.229003,2545.4724,-1434.2423,24.0019},//park
    {1828.318,-1938.465,2071.699,-1760.817,1958.6156,-1853.2424,4.3392},//Tanke
    {1828.0573,-2161.2705,1956.4136,-2057.7964,1924.0941,-2125.0146,13.5826},//Airport(LS)
    {1164.348388,-1153.130004,1260.348388,-1033.130004,1213.9235,-1080.2028,28.8640}, //neben bsn
    {812.488098,-2080.804199,852.488098,-1896.804199,836.4881,-2064.8042,12.8672}, //bei STRAND
    {791.747436,-1492.617797,919.747436,-1412.617797,831.7474,-1452.6178,13.6261}, //neben autohaus
    {333.171264,-1597.453491,437.171264,-1485.453491,397.2343,-1525.5581,32.2734}//Gucke
    };
    aber bei mir ist nur das problem wenn die zonen ein genommen werde nach dem server restart sind wie vor her bs balls gewinnt die zone aber ges gehört groven nach dem server restart geht
    des wieder groven street

  • aber bei mir ist nur das problem wenn die zonen ein genommen werde nach dem server restart sind wie vor her bs balls gewinnt die zone aber ges gehört groven nach dem server restart geht
    des wieder groven street

    Sag das doch gleich.. Dann musst du eben beim Einnehmen speichern, wer sie eingenommen hat und beim Laden dann wieder richtig setzen.
    (Die Farbe z.B.)


    Einfach geht es, indem du die Daten in einer Datei speicherts (Dini, SII, DJson).
    Es geht natürlich auch mit einer Datenbank.
    Sieh dir dazu die Tutorials in der Tutorial-Section an.

  • also das problem ist nur wenn ich server restart mache werden die nicht gespeichert


    des ist mein fraktionenzone.cfg da werden degebiete gespeichert aber des passier nicht


    13 -255 0 0 0 // die 13 heist groven street id
    13 -255 0 0 0
    13 -255 0 0 0
    13 -255 0 0 0
    13 -255 0 0 0
    6 -255 0 0 0
    13 -255 0 0 0
    13 -255 0 0 0
    13 -255 0 0 0