Hilfe beim Duty System

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
  • Ich möchte das eine Nachricht kommt: Polizist (playername) ist jetzt im Dienst
    und das wenn er schon im Dienst ist und nochmal /Duty macht das er dann aus dem Dienst ist
    Kann mir jemand dabei helfen :)


    Das habe ich schon gemacht.
    ocmd:pdd(playerid,params[])
    {
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist nicht bei der Polizei.");
    if(!IsPlayerInRangeOfPoint(playerid,3,215.5610,113.8491,1003.2188)) return SendClientMessage(playerid,WEIß,"Du bist nicht am Duty Punkt!");
    SetPlayerSkin(playerid,267);
    GivePlayerWeapon(playerid,3,1);
    GivePlayerWeapon(playerid,24,250);
    GivePlayerWeapon(playerid,29,500);
    SetPlayerArmour(playerid,100);
    return 1;
    }

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • new Duty[MAX_PLAYERS]
    if(Duty[playerid] == 0)
    {
    SetPlayerSkin(playerid,267);
    GivePlayerWeapon(playerid,3,1);
    GivePlayerWeapon(playerid,24,250);
    GivePlayerWeapon(playerid,29,500);
    SetPlayerArmour(playerid,100);
    Duty[playerid] = 1;
    }
    else if(Duty[playerid] == 1)
    {
    //bla
    Duty[playerid] = 0;
    }


    L.G.



  • Ich habe das Ganze jetzt so aber es waren ein paar Errors. Ich konnte alle lösen bis auf einen:


    ocmd:pdd(playerid,params[])
    {
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist nicht bei der Polizei.");
    if(!IsPlayerInRangeOfPoint(playerid,3,215.5610,113.8491,1003.2188)) return SendClientMessage(playerid,WEIß,"Du bist nicht am Duty Punkt!");
    if(Duty[playerid] == 0)
    SetPlayerSkin(playerid,267);
    GivePlayerWeapon(playerid,3,1);
    GivePlayerWeapon(playerid,24,250);
    GivePlayerWeapon(playerid,29,500);
    SetPlayerArmour(playerid,100);
    return 1;
    }
    else if(Duty[playerid] == 1)
    {
    Duty[playerid] = 0;
    }
    }


    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1126) : error 010: invalid function or declaration

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A


  • new Duty[MAX_PLAYERS];



    ocmd:pdd(playerid,params[])
    {
    new str[128],new off[128];
    GetPlayerName(playerid
    format(str,sizeof(str),"[POLIZEI]Der Polizist: %s ist in den Dienst gegangen.",SpielerName(playerid));
    format(off,sizeof(off),"[POLIZEI]Der Polizist: %s ist aus dem Dienst gegangen.",SpielerName(playerid));
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist nicht bei der Polizei.");
    if(!IsPlayerInRangeOfPoint(playerid,3,215.5610,113.8491,1003.2188)) return SendClientMessage(playerid,WEIß,"Du bist nicht am Duty Punkt!");
    if(Duty[playerid] == 0)
    {
    SetPlayerSkin(playerid,267);
    GivePlayerWeapon(playerid,3,1);
    GivePlayerWeapon(playerid,24,250);
    GivePlayerWeapon(playerid,29,500);
    SetPlayerArmour(playerid,100);
    SendMessageToAll(DEINEFARBE,str);
    Duty[playerid] = 1;
    }
    else
    {
    SendMessageToAll(DEINEFARBE,off);
    //Und die Anderen Sachen
    Duty[playerid] = 0;
    }
    return 1;
    }


    heyhooo
    Ich habe deins als Vorlage genommen, damit es schneller geht :)


  • Ich glaub das heißt SendMessageToAll und nicht SendClientMessageToAll, oder?



  • Danke:)
    Aber so bekomme ich diese Error:C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1116) : error 001: expected token: "-identifier-", but found "new"
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1117 -- 1118) : error 001: expected token: ",", but found "-identifier-"
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1119) : error 017: undefined symbol "off"
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1119) : error 017: undefined symbol "off"
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1119) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1119) : fatal error 107: too many error messages on one line

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • Danke
    Aber so bekomme ich diese Error:


    Du sollst das so kopieren :S:rolleyes:


    ocmd:pdd(playerid,params[])
    {
    new str[128],new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, MAX_PLAYER_NAME,Name);
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist nicht bei der Polizei.");
    if(!IsPlayerInRangeOfPoint(playerid,3,215.5610,113.8491,1003.2188)) return SendClientMessage(playerid,WEIß,"Du bist nicht am Duty Punkt!");
    if(Duty[playerid] == 0)
    {
    SetPlayerSkin(playerid,267);
    GivePlayerWeapon(playerid,3,1);
    GivePlayerWeapon(playerid,24,250);
    GivePlayerWeapon(playerid,29,500);
    SetPlayerArmour(playerid,100);
    format(str,sizeof(str),"[POLIZEI]Der Polizist: %s ist in den Dienst gegangen.",Name);
    Duty[playerid] = 1;
    }
    else if(Duty[playerid] == 1)
    {
    //Und die Anderen Sachen
    format(str,sizeof(str),"[POLIZEI]Der Polizist: %s ist aus dem Dienst gegangen.",Name);
    Duty[playerid] = 0;
    }
    return SendClientMessageToAll(DEINEFARBE,str);
    }



  • Danke aber ich kopiere nicht nur ich versuche zu verstehen


    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1116) : error 001: expected token: "-identifier-", but found "new"
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1117) : error 035: argument type mismatch (argument 2)
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1127) : error 017: undefined symbol "Name"
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1133) : error 017: undefined symbol "Name"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • new str[128], Name[MAX_PLAYER_NAME];


    Achso okay danke ich habe noch einen Error


    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1102) : error 035: argument type mismatch (argument 2)


    und 1 Frage: warum muss noch extra Name[MAX_PlAYER_NAME] gefragt werden. Warum reicht nicht MAX_PlAYER_NAME]


    EDIT der error ist in dieser Zeile:
    GetPlayerName(playerid, MAX_PLAYER_NAME,Name);

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • /E: Edit zu spät gesehen.

    und 1 Frage: warum muss noch extra Name[MAX_PlAYER_NAME] gefragt werden. Warum reicht nicht MAX_PlAYER_NAME]


    Zitat

    Note: A player's name can be up to 24 characters long (as of 0.3d R2).
    This is defined in a_samp as MAX_PLAYER_NAME.
    Strings to store names in should be made this size, plus one extra cell for the null terminating character.
    i.e. new pName[MAX_PLAYER_NAME+1];


    Quelle: http://wiki.sa-mp.com/wiki/GetPlayerName


    L.G.

  • C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1102) : error 035: argument type mismatch (argument 2)


    Zeile:


    GetPlayerName(playerid, MAX_PLAYER_NAME,Name);

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • Mach's so
    stock sName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    Kannst dann mit
    sName(playerid)aufrufen.


    bsp:
    new s[64];
    format(s,sizeof(s)," Mein Name ist %s", sName(playerid));


  • Also so?

    Spoiler anzeigen
    ocmd:pdd(playerid,params[])
    {
    new str[128], Name[MAX_PLAYER_NAME+1];
    GetPlayerName(playerid,name,sizeof(name));
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist nicht bei der Polizei.");
    if(!IsPlayerInRangeOfPoint(playerid,3,215.5610,113.8491,1003.2188)) return SendClientMessage(playerid,WEIß,"Du bist nicht am Duty Punkt!");
    if(Duty[playerid] == 0)
    {
    SetPlayerSkin(playerid,267);
    GivePlayerWeapon(playerid,3,1);
    GivePlayerWeapon(playerid,24,250);
    GivePlayerWeapon(playerid,29,500);
    SetPlayerArmour(playerid,100);
    format(str,sizeof(str),"[POLIZEI]Der Polizist: %s ist in den Dienst gegangen.",Name);
    Duty[playerid] = 1;
    }
    else if(Duty[playerid] == 1)
    {
    //Und die Anderen Sachen
    format(str,sizeof(str),"[POLIZEI]Der Polizist: %s ist aus dem Dienst gegangen.",Name);
    Duty[playerid] = 0;
    }
    return SendClientMessageToAll(WEIß,str);
    }


    Weil dann bekomme ich Errors :/
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1102) : error 017: undefined symbol "name"
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1102) : error 017: undefined symbol "name"
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1102) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Cedric\Eigene Dateien\Dropbox\samp03x_svr_R2_win32\gamemodes\reallife.pwn(1102) : fatal error 107: too many error messages on one line


    //E Die Errors sind in der 4 Zeile

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A