Also ich bin fast fertig mit meinem GF Edit, fehlt fast nur noch dieses Gangfight, und zwar möchte ich gerne die alten Gebiete löschen, und neue Gebiete daraus machen,
habe das schon über 20x mit immer neuen Gebieten genau so: /*MinX, MinY, MaxX, MaxY, CTFx, CTFy, CTFz*/ versucht, aber immer kam das selbe Problem, als ich /invade machte,
kam dann **Du bist in keinem Gebiet, obwohl man in einem Gebiet war, Die Gangzone (Farbe) war da, auch der /ctf war da, blos konnte man nicht /invade machen also Gangfight starten.
Vielleicht kennt ja jemand von euch das Problem, und kann mir weiter helfen, ich brauche wirklich dringende Hilfe, ist mir sehr wichtig, da am 6.6 der Serverstart ist und ich noch heute
diese Sache abschließen möchte.
Mit freundlichen Grüßen
Antalya07
Gangfight Problem - Bitte hilft mir
- Antalya07
- Geschlossen
- Erledigt
-
-
Wie fragste den ab ob er in der zone ist...?
-
Wie fragste den ab ob er in der zone ist...?
if(FightSystem[TempZone][fsOwnerFaction] == GetPlayerFaction(playerid) || FightSystem[TempZone][fsAttackFaction] == GetPlayerFaction(playerid))
{
if(IsPlayerInRangeOfPoint(playerid,5.0,FightSystem[TempZone][fsCTFx],FightSystem[TempZone][fsCTFy],FightSystem[TempZone][fsCTFz]))
{
if(FightSystem[TempZone][fsCTF][0] != -255)
{
if(GetPlayerFaction(FightSystem[TempZone][fsCTF][0]) != GetPlayerFaction(playerid))
SendClientMessage(playerid,FS_COL_GREY,"** Die Flagge wird von deinen Feinden erobert, töte sie zuerst!");
else
SendClientMessage(playerid,FS_COL_GREY,"** Deine Gang / Mafia erobert bereits die Flagge!");
return 1;
} -
Den stock einfügen:
stock IsPlayerInArea(playerid,Float:minX,Float:minY,Float:maxX,Float:maxY)
{
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
if(pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) return 1;
else return 0;
}if(FightSystem[TempZone][fsOwnerFaction] == GetPlayerFaction(playerid) || FightSystem[TempZone][fsAttackFaction] == GetPlayerFaction(playerid))
{
if(IsPlayerInArea(playerid,minx,miny,maxx,maxy)) //Zu der Zonen Pos ändern....
{
if(FightSystem[TempZone][fsCTF][0] != -255)
{
if(GetPlayerFaction(FightSystem[TempZone][fsCTF][0]) != GetPlayerFaction(playerid))
SendClientMessage(playerid,FS_COL_GREY,"** Die Flagge wird von deinen Feinden erobert, töte sie zuerst!");
else
SendClientMessage(playerid,FS_COL_GREY,"** Deine Gang / Mafia erobert bereits die Flagge!");
return 1;
} -
Den stock einfügen:
stock IsPlayerInArea(playerid,Float:minX,Float:minY,Float:maxX,Float:maxY)
{
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
if(pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) return 1;
else return 0;
}if(FightSystem[TempZone][fsOwnerFaction] == GetPlayerFaction(playerid) || FightSystem[TempZone][fsAttackFaction] == GetPlayerFaction(playerid))
{
if(IsPlayerInArea(playerid,minx,miny,maxx,maxy)) //Zu der Zonen Pos ändern....
{
if(FightSystem[TempZone][fsCTF][0] != -255)
{
if(GetPlayerFaction(FightSystem[TempZone][fsCTF][0]) != GetPlayerFaction(playerid))
SendClientMessage(playerid,FS_COL_GREY,"** Die Flagge wird von deinen Feinden erobert, töte sie zuerst!");
else
SendClientMessage(playerid,FS_COL_GREY,"** Deine Gang / Mafia erobert bereits die Flagge!");
return 1;
}Den stock einfügen:
stock IsPlayerInArea(playerid,Float:minX,Float:minY,Float:maxX,Float:maxY)
{
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
if(pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) return 1;
else return 0;
}if(FightSystem[TempZone][fsOwnerFaction] == GetPlayerFaction(playerid) || FightSystem[TempZone][fsAttackFaction] == GetPlayerFaction(playerid))
{
if(IsPlayerInArea(playerid,minx,miny,maxx,maxy)) //Zu der Zonen Pos ändern....
{
if(FightSystem[TempZone][fsCTF][0] != -255)
{
if(GetPlayerFaction(FightSystem[TempZone][fsCTF][0]) != GetPlayerFaction(playerid))
SendClientMessage(playerid,FS_COL_GREY,"** Die Flagge wird von deinen Feinden erobert, töte sie zuerst!");
else
SendClientMessage(playerid,FS_COL_GREY,"** Deine Gang / Mafia erobert bereits die Flagge!");
return 1;
}ah hatte ich schon, dann gehts garnicht
-
Schau mal, du weisst nichtmal was dieses "TempZone" bedeutet.
Das ist die ID der "current-Gangzone"Such nach dem stock GetPlayerFightZone oder sowas in der Art.
-
stock GetPlayerFightzone(playerid){
new Float:GangZone[3];
GetPlayerPos(playerid,GangZone[0],GangZone[1],GangZone[2]);
for(new fs;fs<sizeof(FightSystem);fs++){
if((GangZone[0] >= FightSystem[fs][fsMinX] && GangZone[0] <= FightSystem[fs][fsMaxX]) && (GangZone[1] >= FightSystem[fs][fsMinY] && GangZone[1] <= FightSystem[fs][fsMaxY]) && GangZone[2] <= 500)
return fs;
}return -255;
} -
Also, da wenn jemand nicht im Gebiet ist -255 returnt wird:
new TempZone = GetPlayerFightZone(playerid);
if(!TempZone != -255)
{
// code
}
else
{
// du bist nicht in einer gangzone
}Aber da ich denke mal eher das du die Gangzone Positions falsch gespeichert hast.
-
Nein! Habe alles richtig gesaved und alles richtig eingefügt! Trotzdem gehts nicht!
-
breadfish.de
Hat das Thema geschlossen.