Hallo Community,
Ich weiß nicht wie ich die GangZonen einer Fraktion zuweise...habe das RGR GangFightSystem..
Ich will es nicht auf ein Server oder so..doch ich will mal ein eigenes GangFightSystem erstellen und ich bräuchte deswegen ein bisschen Wissen im Bereich GangFightSystem..
Es würde reichen, wenn ihr nur diese beiden Fraktionen macht, dann hätte ich ein Beispiel und würde dann wissen wie es geht..
Bei mir gehört jede GangZone der "NoN-Gang"..unten sieht man, wo überall die NoN-Gang ist..
Wenn z. B. LCN eine Zone einnimmt dann kommt kein Gangfight zwischen zwei Fraktionen sondern Lcn gegen Non Gang und Non Gang ist nur ein Platzhalter sozusagen.
Ich weiß nicht wie ich die Zonen den Gangzonen zuordne
Als Beispiel würde die LCN & die Yakuza reichen..
FraktionsID von LCN & Yakuza:
Als Beispiel nehme ich mal die LCN & die Yakuza
Die Fraktion LCN hat die FraktionsID 1 & Yakuza hat die FraktionsID 2
Gebiete:
[pwn]new FightSystem[][fsSyS]={
/*MinX, MinY, MaxX, MaxY, CTFx, CTFy, CTFz*/
{107.258628,-294.362060,387.258636,41.637928,245.0961,-59.3343,1.5776},//LCNstammgebiet
{2181.905761,-121.477943,2549.905761,238.522064,2330.5730,-3.6591,26.5582},//Yakuzastammgebiet
};[/pwn]
Und hier sind Scriptinhalte, wo die "NoN-Gang" zu sehen ist:
[pwn]stock GetZoneColorOfFaction(Faction){
if(Faction == 1) return 0x000000CC; // La Cosa Nostra -> Alter Code: 0x00000095
else if(Faction == 2) return 0xFFFFFFCC; // Yakuza -> Alter Code: 0x9D9D9D95
} //war mal das hier drin: >> "else return 0xFFFFFF77; // NoN-Gang" << doch habe es gelöscht..
stock GetFactionNameOfFaction(Faction){
new FactionName[64];
if(Faction == 1) format(FactionName,sizeof(FactionName),"La Cosa Nostra");
else if(Faction == 2) format(FactionName,sizeof(FactionName),"Yakuza");
else format(FactionName,sizeof(FactionName),"NoN-Gang");
return FactionName;
}[/pwn]
[pwn] if(strcmp(cmdtext,"/invade",true)==0){
if(IsAFightFaction(GetPlayerFaction(playerid))){
for(new fs;fs if((FightSystem[fs][fsOwnerFaction] == GetPlayerFaction(playerid) && FightSystem[fs][fsFightTime])
FightSystem[fs][fsAttackFaction] == GetPlayerFaction(playerid))
return SendClientMessage(playerid,FS_COL_GREY,"** Deine Gang / Mafia ist bereits in einem Fight.");
}
new TempZone = GetPlayerFightzone(playerid);
if(TempZone != -255){
if(FightSystem[TempZone][fsOwnerFaction] == GetPlayerFaction(playerid))
return SendClientMessage(playerid,FS_COL_GREY,"** Man greift nicht seine eigenen Leute an.");
if(FightSystem[TempZone][fsFightTime]
FightSystem[TempZone][fsAttackFaction] != -255)
return SendClientMessage(playerid,FS_COL_GREY,"** In diesem Gebiet wird bereits geschossen.");
if(FightSystem[TempZone][fsLastFight]){
new fsText[178];
format(fsText,sizeof(fsText),"Ganggebiet: Dieses Ganggebiet wurde bereits Angegriffen, wartet noch: '%d' Minuten.",FightSystem[TempZone][fsLastFight]);
SendClientMessage(playerid,FS_COL_GREY,fsText);
return 1;
}
for(new fs;fs if(FightSystem[fs][fsOwnerFaction] == FightSystem[TempZone][fsOwnerFaction] && (FightSystem[fs][fsFightTime]
FightSystem[fs][fsAttackFaction] != -255))
return SendClientMessage(playerid,FS_COL_GREY,"Ganggebiet: Die Gang / Mafia der das Ganggebiet gehört hat bereits ein Kampf.");
}
new fsTextToOwner[255];
format(fsTextToOwner,sizeof(fsTextToOwner),">>> Bandenkrieg <<< | Ihr werdet von: %s angegriffen, setzt euch zur wehr!",GetFactionNameOfFaction(GetPlayerFaction(playerid)));
new fsName[MAX_PLAYER_NAME];
GetPlayerName(playerid,fsName,MAX_PLAYER_NAME);
new fsTextToAttack[255];
format(fsTextToAttack,sizeof(fsTextToAttack),">>> Bandenkrieg <<< | %s hat ein Kampf mit: %s begonnen, macht sie Platt!",fsName,GetFactionNameOfFaction(FightSystem[TempZone][fsOwnerFaction]));
new fsText[64];
format(fsText,sizeof(fsText),"~y~%s",GetFactionNameOfFaction(FightSystem[TempZone][fsOwnerFaction]));
TextDrawSetString(FightSystem[TempZone][fsWinFaction],fsText);
TextDrawSetString(FightSystem[TempZone][fsWinKills],"~y~00 Morde");
format(fsText,sizeof(fsText),"~y~%s",GetFactionNameOfFaction(GetPlayerFaction(playerid)));
TextDrawSetString(FightSystem[TempZone][fsLoseFaction],fsText);
TextDrawSetString(FightSystem[TempZone][fsLoseKills],"~y~00 Morde");
TextDrawSetString(FightSystem[TempZone][fsTime],"Verbl. Zeit: 3 Minuten");//ZEIT
for(new i;i if(IsPlayerConnected(i)){
GangZoneFlashForPlayer(i,FightSystem[TempZone][fsZoneID],GetZoneColorOfFaction(GetPlayerFaction(playerid)));
if(GetPlayerFaction(i) == FightSystem[TempZone][fsOwnerFaction]){
PlayerPlaySound(i,1058,0.0,0.0,0.0);
SendClientMessage(i,FS_COL_YELLOW,fsTextToOwner);
TextDrawShowForPlayer(i,Fight);
TextDrawShowForPlayer(i,FightUnderline);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinFaction]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinKills]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseFaction]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseKills]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsTime]);
}
if(GetPlayerFaction(i) == GetPlayerFaction(playerid)){
PlayerPlaySound(i,1058,0.0,0.0,0.0);
SendClientMessage(i,FS_COL_YELLOW,fsTextToAttack);
TextDrawShowForPlayer(i,Fight);
TextDrawShowForPlayer(i,FightUnderline);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinFaction]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinKills]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseFaction]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseKills]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsTime]);
}
}
}
FightSystem[TempZone][fsAttackFaction] = GetPlayerFaction(playerid);
FightSystem[TempZone][fsKillsOfOwner] = 0;
FightSystem[TempZone][fsKillsOfAttack] = 0;
FightSystem[TempZone][fsFightTime] = 3;//ZEIT in MINUTEN
FightSystem[TempZone][fsCTF][0] = -255;
FightSystem[TempZone][fsCTF][1] = 0;
FightSystem[TempZone][fsCTF][2] = 0;
return 1;
}return SendClientMessage(playerid,FS_COL_GREY,"** Du bist in keinem Gebiet!");
}else SendClientMessage(playerid,FS_COL_GREY,"** Du bist in keiner Gang / Mafia.");
return 1;
}[/pwn]
[pwn] if(strcmp(cmdtext,"/ctf",true)==0){
if(IsAFightFaction(GetPlayerFaction(playerid))){
new TempZone = GetPlayerFightzone(playerid);
if(TempZone != -255){
if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT)
return SendClientMessage(playerid,FS_COL_GREY,"** Du darfst das nur zu Fuß machen ...");
if(!FightSystem[TempZone][fsFightTime]
FightSystem[TempZone][fsAttackFaction] == -255)
return SendClientMessage(playerid,FS_COL_GREY,"** Hier gibt es nichts zu erobern.");
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;
}
FightSystem[TempZone][fsCTF][0] = playerid;
new fsName[MAX_PLAYER_NAME];
GetPlayerName(playerid,fsName,MAX_PLAYER_NAME);
new fsText[128];
format(fsText,sizeof(fsText),">>> Bandenkrieg <<< | %s hat begonnen die Flagge zu erobern!",fsName);
for(new i;i<MAX_PLAYERS;i++){
if(IsPlayerConnected(i)){
if(GetPlayerFaction(i) == FightSystem[TempZone][fsOwnerFaction]
GetPlayerFaction(i) == FightSystem[TempZone][fsAttackFaction]){
PlayerPlaySound(i,1058,0.0,0.0,0.0);
SendClientMessage(i,FS_COL_YELLOW,fsText);
}
}
}
}else SendClientMessage(playerid,FS_COL_GREY,"** Du bist nicht in der nähe der Flagge!");
}else SendClientMessage(playerid,FS_COL_GREY,"** Du bist nicht in diesem Fight verwickelt ...");
}else SendClientMessage(playerid,FS_COL_GREY,"** Du bist in keinem Gebiet!");
}else SendClientMessage(playerid,FS_COL_GREY,"** Du bist in keiner Gang / Mafia.");
return 1;
}[/pwn]
Hoffe diese Scriptinhalte reichen..wenn nicht kann ich ja das Script schicken..wäre so am einfachsten..
Danke im Voraus
MfG
Ich weiß nicht wie ich die GangZonen einer Fraktion zuweise...habe das RGR GangFightSystem..
Ich will es nicht auf ein Server oder so..doch ich will mal ein eigenes GangFightSystem erstellen und ich bräuchte deswegen ein bisschen Wissen im Bereich GangFightSystem..
Es würde reichen, wenn ihr nur diese beiden Fraktionen macht, dann hätte ich ein Beispiel und würde dann wissen wie es geht..
Bei mir gehört jede GangZone der "NoN-Gang"..unten sieht man, wo überall die NoN-Gang ist..
Wenn z. B. LCN eine Zone einnimmt dann kommt kein Gangfight zwischen zwei Fraktionen sondern Lcn gegen Non Gang und Non Gang ist nur ein Platzhalter sozusagen.
Ich weiß nicht wie ich die Zonen den Gangzonen zuordne
Als Beispiel würde die LCN & die Yakuza reichen..
FraktionsID von LCN & Yakuza:
Als Beispiel nehme ich mal die LCN & die Yakuza
Die Fraktion LCN hat die FraktionsID 1 & Yakuza hat die FraktionsID 2
Gebiete:
[pwn]new FightSystem[][fsSyS]={
/*MinX, MinY, MaxX, MaxY, CTFx, CTFy, CTFz*/
{107.258628,-294.362060,387.258636,41.637928,245.0961,-59.3343,1.5776},//LCNstammgebiet
{2181.905761,-121.477943,2549.905761,238.522064,2330.5730,-3.6591,26.5582},//Yakuzastammgebiet
};[/pwn]
Und hier sind Scriptinhalte, wo die "NoN-Gang" zu sehen ist:
[pwn]stock GetZoneColorOfFaction(Faction){
if(Faction == 1) return 0x000000CC; // La Cosa Nostra -> Alter Code: 0x00000095
else if(Faction == 2) return 0xFFFFFFCC; // Yakuza -> Alter Code: 0x9D9D9D95
} //war mal das hier drin: >> "else return 0xFFFFFF77; // NoN-Gang" << doch habe es gelöscht..
stock GetFactionNameOfFaction(Faction){
new FactionName[64];
if(Faction == 1) format(FactionName,sizeof(FactionName),"La Cosa Nostra");
else if(Faction == 2) format(FactionName,sizeof(FactionName),"Yakuza");
else format(FactionName,sizeof(FactionName),"NoN-Gang");
return FactionName;
}[/pwn]
[pwn] if(strcmp(cmdtext,"/invade",true)==0){
if(IsAFightFaction(GetPlayerFaction(playerid))){
for(new fs;fs if((FightSystem[fs][fsOwnerFaction] == GetPlayerFaction(playerid) && FightSystem[fs][fsFightTime])

return SendClientMessage(playerid,FS_COL_GREY,"** Deine Gang / Mafia ist bereits in einem Fight.");
}
new TempZone = GetPlayerFightzone(playerid);
if(TempZone != -255){
if(FightSystem[TempZone][fsOwnerFaction] == GetPlayerFaction(playerid))
return SendClientMessage(playerid,FS_COL_GREY,"** Man greift nicht seine eigenen Leute an.");
if(FightSystem[TempZone][fsFightTime]

return SendClientMessage(playerid,FS_COL_GREY,"** In diesem Gebiet wird bereits geschossen.");
if(FightSystem[TempZone][fsLastFight]){
new fsText[178];
format(fsText,sizeof(fsText),"Ganggebiet: Dieses Ganggebiet wurde bereits Angegriffen, wartet noch: '%d' Minuten.",FightSystem[TempZone][fsLastFight]);
SendClientMessage(playerid,FS_COL_GREY,fsText);
return 1;
}
for(new fs;fs if(FightSystem[fs][fsOwnerFaction] == FightSystem[TempZone][fsOwnerFaction] && (FightSystem[fs][fsFightTime]

return SendClientMessage(playerid,FS_COL_GREY,"Ganggebiet: Die Gang / Mafia der das Ganggebiet gehört hat bereits ein Kampf.");
}
new fsTextToOwner[255];
format(fsTextToOwner,sizeof(fsTextToOwner),">>> Bandenkrieg <<< | Ihr werdet von: %s angegriffen, setzt euch zur wehr!",GetFactionNameOfFaction(GetPlayerFaction(playerid)));
new fsName[MAX_PLAYER_NAME];
GetPlayerName(playerid,fsName,MAX_PLAYER_NAME);
new fsTextToAttack[255];
format(fsTextToAttack,sizeof(fsTextToAttack),">>> Bandenkrieg <<< | %s hat ein Kampf mit: %s begonnen, macht sie Platt!",fsName,GetFactionNameOfFaction(FightSystem[TempZone][fsOwnerFaction]));
new fsText[64];
format(fsText,sizeof(fsText),"~y~%s",GetFactionNameOfFaction(FightSystem[TempZone][fsOwnerFaction]));
TextDrawSetString(FightSystem[TempZone][fsWinFaction],fsText);
TextDrawSetString(FightSystem[TempZone][fsWinKills],"~y~00 Morde");
format(fsText,sizeof(fsText),"~y~%s",GetFactionNameOfFaction(GetPlayerFaction(playerid)));
TextDrawSetString(FightSystem[TempZone][fsLoseFaction],fsText);
TextDrawSetString(FightSystem[TempZone][fsLoseKills],"~y~00 Morde");
TextDrawSetString(FightSystem[TempZone][fsTime],"Verbl. Zeit: 3 Minuten");//ZEIT
for(new i;i if(IsPlayerConnected(i)){
GangZoneFlashForPlayer(i,FightSystem[TempZone][fsZoneID],GetZoneColorOfFaction(GetPlayerFaction(playerid)));
if(GetPlayerFaction(i) == FightSystem[TempZone][fsOwnerFaction]){
PlayerPlaySound(i,1058,0.0,0.0,0.0);
SendClientMessage(i,FS_COL_YELLOW,fsTextToOwner);
TextDrawShowForPlayer(i,Fight);
TextDrawShowForPlayer(i,FightUnderline);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinFaction]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinKills]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseFaction]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseKills]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsTime]);
}
if(GetPlayerFaction(i) == GetPlayerFaction(playerid)){
PlayerPlaySound(i,1058,0.0,0.0,0.0);
SendClientMessage(i,FS_COL_YELLOW,fsTextToAttack);
TextDrawShowForPlayer(i,Fight);
TextDrawShowForPlayer(i,FightUnderline);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinFaction]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsWinKills]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseFaction]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsLoseKills]);
TextDrawShowForPlayer(i,FightSystem[TempZone][fsTime]);
}
}
}
FightSystem[TempZone][fsAttackFaction] = GetPlayerFaction(playerid);
FightSystem[TempZone][fsKillsOfOwner] = 0;
FightSystem[TempZone][fsKillsOfAttack] = 0;
FightSystem[TempZone][fsFightTime] = 3;//ZEIT in MINUTEN
FightSystem[TempZone][fsCTF][0] = -255;
FightSystem[TempZone][fsCTF][1] = 0;
FightSystem[TempZone][fsCTF][2] = 0;
return 1;
}return SendClientMessage(playerid,FS_COL_GREY,"** Du bist in keinem Gebiet!");
}else SendClientMessage(playerid,FS_COL_GREY,"** Du bist in keiner Gang / Mafia.");
return 1;
}[/pwn]
[pwn] if(strcmp(cmdtext,"/ctf",true)==0){
if(IsAFightFaction(GetPlayerFaction(playerid))){
new TempZone = GetPlayerFightzone(playerid);
if(TempZone != -255){
if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT)
return SendClientMessage(playerid,FS_COL_GREY,"** Du darfst das nur zu Fuß machen ...");
if(!FightSystem[TempZone][fsFightTime]

return SendClientMessage(playerid,FS_COL_GREY,"** Hier gibt es nichts zu erobern.");
if(FightSystem[TempZone][fsOwnerFaction] == 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;
}
FightSystem[TempZone][fsCTF][0] = playerid;
new fsName[MAX_PLAYER_NAME];
GetPlayerName(playerid,fsName,MAX_PLAYER_NAME);
new fsText[128];
format(fsText,sizeof(fsText),">>> Bandenkrieg <<< | %s hat begonnen die Flagge zu erobern!",fsName);
for(new i;i<MAX_PLAYERS;i++){
if(IsPlayerConnected(i)){
if(GetPlayerFaction(i) == FightSystem[TempZone][fsOwnerFaction]

PlayerPlaySound(i,1058,0.0,0.0,0.0);
SendClientMessage(i,FS_COL_YELLOW,fsText);
}
}
}
}else SendClientMessage(playerid,FS_COL_GREY,"** Du bist nicht in der nähe der Flagge!");
}else SendClientMessage(playerid,FS_COL_GREY,"** Du bist nicht in diesem Fight verwickelt ...");
}else SendClientMessage(playerid,FS_COL_GREY,"** Du bist in keinem Gebiet!");
}else SendClientMessage(playerid,FS_COL_GREY,"** Du bist in keiner Gang / Mafia.");
return 1;
}[/pwn]
Hoffe diese Scriptinhalte reichen..wenn nicht kann ich ja das Script schicken..wäre so am einfachsten..
Danke im Voraus
MfG
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Scriptbeginner ()