Warum dieser Warn?

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
  • C:\Users\user\Desktop\Server\gamemodes\Test.pwn(164) : warning 225: unreachable code
    C:\Users\user\Desktop\Server\gamemodes\Test.pwn(180) : warning 225: unreachable code
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Warnings.


    if (strcmp("/Pdt",cmdtext, true,10) == 0)
    {
    if(gTeam[playerid] == TEAM_COP)
    MoveObject(pdtuer,244.3699951,72.6800003,1003.8400269,2);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Cop!");
    return 1;
    }


    if (strcmp("/Pdz",cmdtext, true,10) == 0)
    {
    if(gTeam[playerid] == TEAM_COP)
    MoveObject(pdtuer,246.3600006,72.6699982,1003.8400269,2);//pdtürzu
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Ccp!");
    return 1;
    }






    if (strcmp("/zelleauf",cmdtext, true,10) == 0)
    {
    MoveObject(zelle1,266.2999878,82.4199982,998.7700195,2);
    return 1;
    }
    if (strcmp("/zellezu",cmdtext, true,10) == 0)
    {
    MoveObject(zelle1,266.2999878,82.4199982,1001.2299805,2);//zelle1zu
    return 1;
    }


    Was ist hier falsch?

    Mit freundlichen Grüßen
    Siepac

  • if (strcmp("/Pdt",cmdtext, true,10) == 0)
    {
    if(gTeam[playerid] == TEAM_COP)
    {
    MoveObject(pdtuer,244.3699951,72.6800003,1003.8400269,2);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Cop!");
    }
    return 1;
    }
    if (strcmp("/Pdz",cmdtext, true,10) == 0)
    {
    if(gTeam[playerid] == TEAM_COP)
    {
    MoveObject(pdtuer,246.3600006,72.6699982,1003.8400269,2);//pdtürzu
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Ccp!");
    }
    return 1;
    }


    Wegen den ganzen Returns

  • if (strcmp("/Pdt",cmdtext, true,10) == 0)
    {
    if(gTeam[playerid] == TEAM_COP)
    {
    MoveObject(pdtuer,244.3699951,72.6800003,1003.8400269,2);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Cop!");
    return 1;
    }
    }


    if (strcmp("/Pdz",cmdtext, true,10) == 0)
    {
    if(gTeam[playerid] == TEAM_COP)
    {
    MoveObject(pdtuer,246.3600006,72.6699982,1003.8400269,2);//pdtürzu
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Ccp!");
    return 1;
    }
    }

  • ok warns sind weg ich habe das nun mit timer gemacht find ich sowieso besser :)


    doch wie kann ich da machen das die nicht von überall geöffnet werden können sondern nur kurz davor?
    hier ein auszug vom befehl


    if (strcmp("/gate", cmdtext, true, 10) == 0)//den Befehl könnt ihr jederzeit beliebig ändern
    {
    if(gTeam[playerid] == TEAM_COP)
    {
    MoveObject(pdtuer, 244.3699951,72.6800003,1003.8400269,2.0);//Die 2.0 ist die Geschwindigkeit des Gates!
    SetTimer("GateClosetGate",5000,0);//Der Timer wird gestartet sobald der CMD verwendet wird!5000 ist die Zeit in Ms!
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Blau,"Du bist kein Cop");
    }
    }

    Mit freundlichen Grüßen
    Siepac

  • Gut das passt
    Ich habe jedoch eine Message durnter gesetzt falls der Player nicht in der nähe ist doch es kommt keine Message
    Warum?
    if (strcmp("/zelle1", cmdtext, true, 10) == 0)//den Befehl könnt ihr jederzeit beliebig ändern
    {
    if(gTeam[playerid] == TEAM_COP)
    {
    IsPlayerInRangeOfPoint(playerid,5,266.2999878,82.4199982,1001.2299805);
    MoveObject(zelle1, 266.2999878,82.4199982,998.7700195,2.0);//Die 2.0 ist die Geschwindigkeit des Gates!
    SetTimer("GateClosetGate",5000,0);//Der Timer wird gestartet sobald der CMD verwendet wird!5000 ist die Zeit in Ms!
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Blau,"du bist zu weit weg!");
    }
    }

    Mit freundlichen Grüßen
    Siepac

  • Du fragst ab, ob der Spieler ein Cop ist, und wenn er keiner ist kommt "Du bist nicht in der Nähe!"
    Hier empfehle ich mit "IsPlayerInRangeOfPoint" zu arbeiten. Das ist die Abfrage für die Position.



    if (strcmp("/zelle1", cmdtext, true, 10) == 0)//den Befehl könnt ihr jederzeit beliebig ändern
    {
    if(gTeam[playerid] == TEAM_COP)
    {
    if(IsPlayerInRangeOfPoint(playerid,5,266.2999878,82.4199982,1001.2299805))
    {
    MoveObject(zelle1, 266.2999878,82.4199982,998.7700195,2.0);//Die 2.0 ist die Geschwindigkeit des Gates!
    SetTimer("GateClosetGate",5000,0);//Der Timer wird gestartet sobald der CMD verwendet wird!5000 ist die Zeit in Ms!
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Blau,"du bist zu weit weg!");
    }
    }
    }


    Mit freundlichen Grüßen
    Saitek | Timo


    Du hast Probleme beim Programmieren oder mit deinem PC?
    Registriere Dich doch auf PC-Rat-Hilfeforum.de.
    Nach dem Registrieren musst du nur deine E-Mail-Adresse bestätigen,
    dann kann es auch schon losgehen. Also worauf wartest du?


    Erreichbar unter folgender E-Mail-Adresse
    support@pc-rat-hilfeforum.de

  • okey aber das verstehe ich jetzt nicht ganz


    Ich Frage ja mit if(gTeam[playerid] == TEAM_COP) 
    ab ob der Spieler cop ist
    bevor das tor sich öffnet frage ich ja noch ab ob der spieler in der nähe ist mit
    IsPlayerInRangeOfPoint(playerid,5,266.2999878,82.4199982,1001.2299805);
    dann habe ich ja ein else gesetzt
    bezieht sich das jetzt nur darauf ob der Spieler cop ist?
    falls ja wie mache ich das anders das es beides abfragt?

    Mit freundlichen Grüßen
    Siepac

  • IsPlayerInRangeOfPoint(playerid,5,266.2999878,82.4199982,1001.2299805)


    Das IsPlayerInRangeOfPoint gehört in eine Abfrage und ist kein Befehl!



    if(IsPlayerInRangeOfPoint(playerid,Radius,X,Y,Z))
    {
    //.... Das passiert, wenn er bei X, Y, Z ist.
    }
    else
    {
    //.... Das passiert, wenn er nicht dort ist.
    }


    Das andere hatte sich auf Cop bezogen.


    Mit freundlichen Grüßen
    Saitek | Timo


    Du hast Probleme beim Programmieren oder mit deinem PC?
    Registriere Dich doch auf PC-Rat-Hilfeforum.de.
    Nach dem Registrieren musst du nur deine E-Mail-Adresse bestätigen,
    dann kann es auch schon losgehen. Also worauf wartest du?


    Erreichbar unter folgender E-Mail-Adresse
    support@pc-rat-hilfeforum.de

  • okey jetzt bekomme ich jedoch einen error


    C:\Users\user\Desktop\Server\gamemodes\Test.pwn(163) : warning 225: unreachable code
    C:\Users\user\Desktop\Server\gamemodes\Test.pwn(163) : error 029: invalid expression, assumed zero
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    if (strcmp("/zelle1", cmdtext, true, 10) == 0)//den Befehl könnt ihr jederzeit beliebig ändern
    {
    if(gTeam[playerid] == TEAM_COP)
    {
    if(IsPlayerInRangeOfPoint(playerid,5,266.2999878,82.4199982,1001.2299805));
    {
    MoveObject(zelle1, 266.2999878,82.4199982,998.7700195,2.0);//Die 2.0 ist die Geschwindigkeit des Gates!
    SetTimer("GateClosetGate",5000,0);//Der Timer wird gestartet sobald der CMD verwendet wird!5000 ist die Zeit in Ms!
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Blau,"du bist zu weit weg!");
    }
    }
    }

    Mit freundlichen Grüßen
    Siepac

  • Was davon ist Zeile 163?


    if(IsPlayerInRangeOfPoint(playerid,5,266.2999878,82.4199982,1001.2299805));


    Weg mit dem Semikolon - das hat nix hinter einem if zu suchen! :D


    Mit freundlichen Grüßen
    Saitek | Timo


    Du hast Probleme beim Programmieren oder mit deinem PC?
    Registriere Dich doch auf PC-Rat-Hilfeforum.de.
    Nach dem Registrieren musst du nur deine E-Mail-Adresse bestätigen,
    dann kann es auch schon losgehen. Also worauf wartest du?


    Erreichbar unter folgender E-Mail-Adresse
    support@pc-rat-hilfeforum.de