Guten Tag,
Da ich seid gester Abend das Gangfight-System vom VRL-Script vom netten hav0K erweitern wollte und weitere Gebiete hinzufügen wollte, bin ich auf ein Problem gestoßen, dass ich bis jetzt noch nicht behoben habe.
Also Gebiete werden da so eingefügt:
new GangFight[MAX_GWZONES][e_GangWar] =
{
// zone min x, zone min y, zone max x, zone max y, flagx1, flagy1, flagz1, flagx2, flagy3, flagz3, warbelohnungtype (0 = geld, 1 = drogen, 2 = mats)
{"TROLOLO",-2989.536,-2942.825,-2989.536,-2942.825,2000.0,2000.0,2000.0,2000.0,2000.0,2000.0,0,0},//zone zum entbuggen der zone 1
{"Playa Del Seville", 2711.0, -1893.5, 2813.0, -1984.5, 2793.3938,-1944.2179,17.3203, 2744.6069, -1944.5182, 17.3203, 0, 1000},
{"Bauernhof", 1002.0, -416.5, 1214.0, -218.5,1058.8079,-343.7173,73.5514, 1019.4474,-291.0268,73.5506, 1, 1},
{"The Panopticon", -639.0, -227.5, -334.0, 114.5, -509.1426,-175.2468,76.5291, -548.2228,-63.4848,63.3477, 2, 100},
{"Doherty", -2203.0, -289.5, -2009.0, -76.5, -2151.7273,-234.5776,36.5156, -2143.7471,-257.5805,40.7195, 0, 1000},
{"Las Colinas",2632.0, -1057.5, 2427.0, -929.5, 2503.6563, -1023.0398, 70.0859, 2457.9243, -953.5612, 80.0850, 2, 1000},
{"Frachtschiff", -2523.0, 1523.5, -2299.0, 1563.5, -2474.4014,1548.6022,33.2273, -2307.5291,1545.2018,18.7734, 1, 1},
{"El Quebrados", -1642.0, 2504.5, -1349.0, 2738.5, -1496.2655,2603.5151,55.6875, -1407.3016,2657.0781,55.6875, 2, 100},
{"Flugzeug Friedhof", 45.0, 2385.5, 448.0, 2680.5, 365.3788,2536.9346,16.6647, 198.8640,2413.3540,16.4766, 0, 1000},
{"Golfplatz", 1100.0, 2720.5, 1534.0, 2884.5,1437.6875,2773.8901,28.3750,1182.5750,2773.2573,10.8125, 2, 100},
{"Las Barrancas", -937.0, 1400.5, -621.0, 1632.5,-794.1973,1547.7513,27.1172,-799.9917,1440.0303,13.7931, 0, 1000},
{"Foster Valley", -2161.0, -1002.5, -1926.0, -708.5,-2038.3596,-858.4894,32.1719,-1894.4445,-858.5732,32.0312, 1, 1},
{"Müllhalde", -1952.0, -1795.5, -1714.0, -1531.5,-1909.4561,-1670.1338,23.0156,-1853.7444,-1698.6061,40.8672, 2, 100},
{"Angel Pine", -2365.0, -2654.5, -1889.0, -2181.5,-2145.5544,-2407.4946,30.4688,-2065.0906,-2443.3157,30.6250, 0, 1000},
{"Montgomery", 1150.0, 121.5, 1440.0, 490.5,1325.8331,289.0239,20.0452,1238.4056,214.5491,19.5547, 1, 1},
{"LS Ocean Docks", 2373.0, -2695.5, 2528.0, -2356.5,2446.3748,-2548.9614,17.9107, 2509.5803,-2624.6577,13.6452,1, 1}
};
Danach unter:
#define MAX_GWZONES 16
enum e_GangWar{
warZoneName[30],
Float:warZoneMinX,
Float:warZoneMinY,
Float:warZoneMaxX,
Float:warZoneMaxY,
Float:warFlagX1,
Float:warFlagY1,
Float:warFlagZ1,
Float:warFlagX2,
Float:warFlagY2,
Float:warFlagZ2,
warBelohnungType,
warBelohnungVar,
warOwner,
warReady,
warAttacker,
warZoneID,
Text:warDraw[14],
warOwnerScore,
warAttackerScore,
warTime,
warStarted,
warPickup[2],
warCaptureTime[2],
warCapturedFlags[2],
warCapturedBy[2]
};
Es wurde auch alles auf den Mysql-Server erweitert unter script_gangwar und bis jetzt funktioniert alles. Das Gebiet wird makiert sowie auch die Flaggen sind richtig gesetzt.
Aber wenn ich jetzt ins Gebiet gehe und /gangfight eingebe steht im Chat, dass ich in keiner Gangfight Zone bin.
Es handelt sich hier um die Zonen: Las Colinas und Playa Del Seville
Hier nochmal der Aufbau vom /gangfight System, weil jedes alte Gangfight-Gebiet funktioniert, aber meine neuen eingefügten Gebiete nicht.
CMD:gangfight(playerid)
{
new string[128], gwzone = GetPlayerGangzone(playerid), gangs = 0;
if(!IsGang(Spieler[playerid][pFraktion]))return SendClientMessage(playerid, COLOR_GREY, "Du gehörst keiner Gang/Mafia an.");
if(Spieler[playerid][pRank] < 5)return SendClientMessage(playerid, COLOR_GREY, "Gangfights können erst ab Rang 5 gestartet werden.");
if(IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "Du darfst dich in keinem Fahrzeug befinden.");
if(gwzone == -1)return SendClientMessage(playerid, COLOR_GREY, "Du befindest dich in keiner Gangfight Zone.");
if(GangFight[gwzone][warOwner] == Spieler[playerid][pFraktion])return SendClientMessage(playerid, COLOR_GREY, "Dieses Gebiet gehört bereits deiner Fraktion.");
if(GangFight[gwzone][warAttacker] == Spieler[playerid][pFraktion])return SendClientMessage(playerid, COLOR_GREY, "Deine Fraktion greift dieses Gebiet bereits an.");
if(GangFight[gwzone][warTime] != 0 || GangFight[gwzone][warAttacker] != 0 ||GangFight[gwzone][warStarted] != 0)return SendClientMessage(playerid, COLOR_GREY, "Dieses Gebiet wird bereits umkämpft.");
if(IsPlayerInRangeOfPoint(playerid, 5.0, GangFight[gwzone][warFlagX1], GangFight[gwzone][warFlagY1], GangFight[gwzone][warFlagZ1]) ||
IsPlayerInRangeOfPoint(playerid, 5.0, GangFight[gwzone][warFlagX2], GangFight[gwzone][warFlagY2], GangFight[gwzone][warFlagZ2]))
{
if(GWisStarted4Fraktion[Spieler[playerid][pFraktion]] == 1)return SendClientMessage(playerid, COLOR_GREY, "Deine Fraktion bekämpft bereits ein Gebiet.");
if(GWisStarted4Fraktion[GangFight[gwzone][warOwner]] == 1)return SendClientMessage(playerid, COLOR_GREY, "Der Besitzer ist bereits in einem Gangfight.");
if(GangFight[gwzone][warOwner] == 0)
{
for(new i=0;i<GetMaxPlayers();i++)
{
if(IsLoggedIn(i))
{
if(Spieler[i][pFraktion] == Spieler[playerid][pFraktion])
{
TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][0]);
TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][1]);
TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][2]);
TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][3]);
TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][4]);
TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][5]);
TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][6]);
TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][7]);
TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][8]);
TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][9]);
TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][10]);
TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][11]);
TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][12]);
TextDrawHideForPlayer(i,GangFight[gwzone][warDraw][13]);
GameTextForPlayer(i,"~g~GEBIET EINGENOMMEN",4000,5);
}
GangFight[gwzone][warOwner] = Spieler[playerid][pFraktion];
GangFight[gwzone][warAttacker] = 0;
GangFight[gwzone][warAttackerScore] = 0;
GangFight[gwzone][warOwnerScore] = 0;
GangFight[gwzone][warStarted] = 0;
GangZoneShowForAll(GangFight[gwzone][warZoneID], GetZoneColor(Spieler[playerid][pFraktion]));
return 1;
}
}
}
for(new a=0;a<GetMaxPlayers();a++)
{
if(IsLoggedIn(a))
{
if(Spieler[a][pFraktion] == GangFight[gwzone][warOwner])
{
gangs++;
}
}
}
if(gangs < 1)return SendClientMessage(playerid, COLOR_GREY, "Es müssen mindestens 1 Gegner online sein.");
if(GangFight[gwzone][warReady] > 0)
{
format(string, sizeof(string), "Dieses Gebiet hat noch eine Sperre von %d Minuten.", (GangFight[gwzone][warReady]/60));
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
format(string, sizeof(string), "*Gangfight* Ein Gangfight auf das Gebiet %s wurde von %s (%s) gestartet.", GangFight[gwzone][warZoneName], GetName(playerid), GetFraktionName(Spieler[playerid][pFraktion]));
for(new a=0;a<GetMaxPlayers();a++)
{
if(IsLoggedIn(a))
{
if(Spieler[a][pFraktion] == 3 || Spieler[a][pFraktion] == 5 || Spieler[a][pFraktion] == 8 || Spieler[a][pFraktion] == 9)
{
SendClientMessage(a, COLOR_GANGFIGHTGREEN, string);
}
}
}
format(string, sizeof(string), "*Gangfight* Ein Gangfight auf das Gebiet %s wurde von %s (%s) gestartet.", GangFight[gwzone][warZoneName], GetName(playerid), GetFraktionName(Spieler[playerid][pFraktion]));
SendFraktionMessage(GangFight[gwzone][warOwner], COLOR_GANGFIGHTGREEN, string);
format(string, sizeof(string), "*Gangfight* Ein Gangfight auf das Gebiet %s wurde von %s (%s) gestartet.", GangFight[gwzone][warZoneName], GetName(playerid), GetFraktionName(Spieler[playerid][pFraktion]));
SendFraktionMessage(Spieler[playerid][pFraktion], COLOR_GANGFIGHTGREEN, string);
GangFight[gwzone][warAttacker] = Spieler[playerid][pFraktion];
GWisStarted4Fraktion[GangFight[gwzone][warOwner]] = 1;
GWisStarted4Fraktion[GangFight[gwzone][warAttacker]] = 1;
GangFight[gwzone][warAttackerScore] = 0;
GangFight[gwzone][warOwnerScore] = 20;
GangFight[gwzone][warCapturedFlags][0] = 0;
GangFight[gwzone][warCapturedFlags][1] = 0;
GangFight[gwzone][warCapturedBy][0] = 0;
GangFight[gwzone][warCapturedBy][1] = 0;
GangFight[gwzone][warCaptureTime][0] = 0;
GangFight[gwzone][warCaptureTime][1] = 0;
GangFight[gwzone][warTime] = 60;
GangFight[gwzone][warStarted] = 1;
format(string, sizeof(string), "~b~%s:~w~ %d/%d Punkte", GetFrakName(GangFight[gwzone][warOwner]), 0, MAX_GANGFIGHTSCORE);
TextDrawSetString(GangFight[gwzone][warDraw][3], string);
format(string, sizeof(string), "~b~%s:~w~ %d/%d Punkte", GetFrakName(GangFight[gwzone][warAttacker]), 0, MAX_GANGFIGHTSCORE);
TextDrawSetString(GangFight[gwzone][warDraw][4], string);
format(string, sizeof(string), "~y~verbl. Zeit: %d Min", GangFight[gwzone][warTime]);
TextDrawSetString(GangFight[gwzone][warDraw][5], string);
GangZoneFlashForAll(GangFight[gwzone][warZoneID], GetZoneColor(Spieler[playerid][pFraktion]));
if(IsPlayerInRangeOfPoint(playerid, 20.0, GangFight[gwzone][warFlagX1], GangFight[gwzone][warFlagY1], GangFight[gwzone][warFlagZ1]))
{
GangFight[gwzone][warCapturedFlags][0] = Spieler[playerid][pFraktion];
format(string, sizeof(string), "*Gangfight* Flagge A wurde von %s eingenommen.", GetName(playerid));
SendFraktionMessage(Spieler[playerid][pFraktion], COLOR_GANGFIGHTGREEN, string);
}
else if(IsPlayerInRangeOfPoint(playerid, 20.0, GangFight[gwzone][warFlagX2], GangFight[gwzone][warFlagY2], GangFight[gwzone][warFlagZ2]))
{
GangFight[gwzone][warCapturedFlags][1] = Spieler[playerid][pFraktion];
format(string, sizeof(string), "*Gangfight* Flagge B wurde von %s eingenommen.", GetName(playerid));
SendFraktionMessage(Spieler[playerid][pFraktion], COLOR_GANGFIGHTGREEN, string);
}
for(new i=0;i<GetMaxPlayers();i++)
{
if(IsLoggedIn(i))
{
if(Spieler[i][pFraktion] == GangFight[gwzone][warOwner])
{
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][0]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][1]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][2]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][3]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][4]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][5]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][6]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][7]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][8]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][9]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][10]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][11]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][12]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][13]);
}
if(Spieler[i][pFraktion] == Spieler[playerid][pFraktion])
{
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][0]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][1]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][2]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][3]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][4]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][5]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][6]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][7]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][8]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][9]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][10]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][11]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][12]);
TextDrawShowForPlayer(i, GangFight[gwzone][warDraw][13]);
}
}
}
}
return 1;
}
Ich würde mich sehr drüber freuen, wenn mir jemand helfen könnte den Fehler zu beheben.
Mit freundlichen Grüßen,
Keno