Ingame kommt immer die Message"Kein Gegner online" auch wenn gegner online sind
if(ispassenger == 0)
{
if(vehicleid == PDVehs[1] || vehicleid == BVehs[1])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))//Hier editier !!
{
new Cops;
new Bloods;
if(IsPlayerConnected(i))
{
if(sSpieler[i][Gang] == 1)
{
Cops += 1;
}
if(sSpieler[i][Gang] == 2)
{
Bloods += 1;
}
}
if(sSpieler[playerid][Gang] == 1)
{
if(Bloods == 0)
{
SendClientMessage(playerid,COLOR_RED,"Es sind keine Gegner online");
TogglePlayerControllable(playerid,0);
TogglePlayerControllable(playerid,1);
return 1;
}
}
if(sSpieler[playerid][Gang] == 2)
{
if(Cops == 0)
{
SendClientMessage(playerid,COLOR_RED,"Es sind keine Gegner online");
TogglePlayerControllable(playerid,0);
TogglePlayerControllable(playerid,1);
return 1;
}
}
}
}
}
}
diese If Abfragen sind fehlerhaft, bitte um hilfe
if(Bloods == 0)
if(Cops == 0)
Es funktioniert einfach nicht bitte um hilfe
- Goech
- Geschlossen
- Erledigt
-
-
Hi
Vereinfach den Code mal etwas. Du fragst zum Beispiel 2 Mal IsPlayerConnected ab. Machs mal so
if(ispassenger == 0)
{
if(vehicleid == PDVehs[1] || vehicleid == BVehs[1])
{
new Cops;
new Bloods;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))//Hier editier !!
{
//new Cops;
//new Bloods;
if(sSpieler[i][Gang] == 1)
{
Cops += 1;
}
if(sSpieler[i][Gang] == 2)
{
Bloods += 1;
}
}
}
if(sSpieler[playerid][Gang] == 1)
{
if(Bloods == 0)
{
SendClientMessage(playerid,COLOR_RED,"Es sind keine Gegner online");
TogglePlayerControllable(playerid,0);
TogglePlayerControllable(playerid,1);
return 1;
}
}
if(sSpieler[playerid][Gang] == 2)
{
if(Cops == 0)
{
SendClientMessage(playerid,COLOR_RED,"Es sind keine Gegner online");
TogglePlayerControllable(playerid,0);
TogglePlayerControllable(playerid,1);
return 1;
}
}
}
}Und dann darfste Cops und Bloods nicht in der Schleife haben, da sie sonst nach jedem Durchlauf resettet werden
Edit Ferner darfste erst am Ende prüfen, ob jemand online (Wenn = Cops/Bloods online sind Meldung) ist, also nimm die Abfrage ob Cops/Bloods on sind aus der MAX_PLAYERS SchleifeDone, aber ich würds auch so machen, dass er ne Meldung bekommt, wenn kein Cop on ist und er aber Bloods ist -
Er sollte seine abfragen drausen haben
if(ispassenger == 0){
if(vehicleid == PDVehs[1] || vehicleid == BVehs[1]){
new Cops,Bloods,i=0;
for(; i < MAX_PLAYERS; i++){
if(IsPlayerConnected(i)){
switch(sSpieler[i][Gang]){
case 1:Cops++;
case 2:Bloods++;
}
}
}
switch(sSpieler[playerid][Gang){
case 1:{
if(Bloods == 0){
SendClientMessage(playerid,COLOR_RED,"Es sind keine Gegner online");
TogglePlayerControllable(playerid,0);
TogglePlayerControllable(playerid,1);
return 1;
}
}
case 2:{
if(Cops == 0){
SendClientMessage(playerid,COLOR_RED,"Es sind keine Gegner online");
TogglePlayerControllable(playerid,0);
TogglePlayerControllable(playerid,1);
return 1;
}
}
}
}
}und bei deinen zwei abfragen
if(sSpieler[i][Gang] == 1)if(sSpieler[i][Gang] == 2)
kannst du else if verwenden oder case
das gilt auch für die unteren
-
Edit : Es Funktiert jz weil ich mal if(sSpieler[playerid][Gang] == 1) aus der schleife genommen danke ihr 2
-
breadfish.de
Hat das Thema geschlossen.