stock Funktion

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
  • stock PlayerActionForbidden(playerid)
    {
    if(IsPlayerAFK[playerid]) SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du bist AFK. Du kannst keine Aktion durchführen. Melde dich mit /back zurück!", "[WARNING] You are AFK. You can't take any action. Use /back to come back!");
    if(IsPlayerInDM[playerid]) SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du bist schon im DM! Benutze /cancel um das DM zu verlassen!", "[WARNING] You are already in a DM! Use /cancel to exit the DM!");
    if(!UseTeleports[playerid]) SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du kannst im Moment keine Teleports nutzen! (Kampf/Skin Selection/DM-Arena)", "[WARNING] Currently, you can't use teleports! (Fight/Skin Selection/DM-Arena)");
    return 1;
    }


    COMMAND:say(playerid, params[])
    {
    if(PlayerActionForbidden(playerid)) return 1;


    new string[128];
    if(pInfo[playerid][AdminLevel] == 0) return SendLanguageMessage(playerid, COLOR_RED, "[ERROR] Du bist kein Admin.", "[ERROR] You are not an admin.");
    if(pInfo[playerid][AdminLevel] > 0 && pInfo[playerid][AdminLevel] < 5) return SendLanguageMessage(playerid, COLOR_RED, "[ERROR] Du hast einen zu niedrigen Adminlevel, um diese Aktion auszuführen!", "[ERROR] Your admin level is too low to execute this action!");
    if(isnull(params)) return SendClientMessage(playerid, COLOR_RED, "[WARNUNG] Gebrauch: /say [Text].");
    format(string, sizeof(string), "*[ADMIN]: %s", params);
    return SendClientMessageToAll(COLOR_RED, string);
    }


    Damit möchte ich überprüfen, ob der Spieler einen CMD benutzen darf, oder nicht. Gebe ich ingame allerdings etwas ein, und angenommen, es wäre ihm erlaubt einen CMD zu nutzen, dann passiert nichts. Nehme ich die Abfrage raus, dann klappt alles wie gewohnt.

  • mach es mal so


    PHP
    stock PlayerActionForbidden(playerid)
    {
    	if(IsPlayerAFK[playerid]) SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du bist AFK. Du kannst keine Aktion durchführen. Melde dich mit /back zurück!", "[WARNING] You are AFK. You can't take any action. Use /back to come back!"), return 0;
     	if(IsPlayerInDM[playerid]) SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du bist schon im DM! Benutze /cancel um das DM zu verlassen!", "[WARNING] You are already in a DM! Use /cancel to exit the DM!"), return 0;
    	if(!UseTeleports[playerid]) SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du kannst im Moment keine Teleports nutzen! (Kampf/Skin Selection/DM-Arena)", "[WARNING] Currently, you can't use teleports! (Fight/Skin Selection/DM-Arena)"), return 0;
    	return 1;
    }


    Mit Freundlichen Grüßen
    Whitetiiger aka. Kaito-sensei
    P.s. Alle mit #IRONIE bestätigten Sätze von mir, sind als Ironie anzusehen.

  • Weil auch immer 1 zurück gegeben wird


    stock PlayerActionForbidden(playerid)
    {
    if(IsPlayerAFK[playerid]) return SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du bist AFK. Du kannst keine Aktion durchführen. Melde dich mit /back zurück!", "[WARNING] You are AFK. You can't take any action. Use /back to come back!");
    if(IsPlayerInDM[playerid]) return SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du bist schon im DM! Benutze /cancel um das DM zu verlassen!", "[WARNING] You are already in a DM! Use /cancel to exit the DM!");
    if(!UseTeleports[playerid]) return SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du kannst im Moment keine Teleports nutzen! (Kampf/Skin Selection/DM-Arena)", "[WARNING] Currently, you can't use teleports! (Fight/Skin Selection/DM-Arena)");
    return 0;
    }


    sollte SendLanguageMessage 1 zurück geben dann sollte alles funktionieren

  • oh auf das erste return hatte ich garnicht geachtet


    also so


    PHP
    stock PlayerActionForbidden(playerid)
    {
    	if(IsPlayerAFK[playerid])  SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du bist AFK. Du kannst keine Aktion durchführen. Melde dich mit /back zurück!", "[WARNING] You are AFK. You can't take any action. Use /back to come back!"), return 1;
     	if(IsPlayerInDM[playerid]) SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du bist schon im DM! Benutze /cancel um das DM zu verlassen!", "[WARNING] You are already in a DM! Use /cancel to exit the DM!"), return 1;
    	if(!UseTeleports[playerid]) SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du kannst im Moment keine Teleports nutzen! (Kampf/Skin Selection/DM-Arena)", "[WARNING] Currently, you can't use teleports! (Fight/Skin Selection/DM-Arena)"), return 1;
    	return 0;
    }

    Mit Freundlichen Grüßen
    Whitetiiger aka. Kaito-sensei
    P.s. Alle mit #IRONIE bestätigten Sätze von mir, sind als Ironie anzusehen.

  • return 0 ist return false also wenns nicht zutrifft und denn hab ich ja im befehl das so gemacht das wenn 0 das er nicht returnt
    und wenn du was machst kommt return 1 und nochmal return 1

    Mit Freundlichen Grüßen
    Whitetiiger aka. Kaito-sensei
    P.s. Alle mit #IRONIE bestätigten Sätze von mir, sind als Ironie anzusehen.

  • oh auf das erste return hatte ich garnicht geachtet


    also so


    PHP
    stock PlayerActionForbidden(playerid)
    {
    	if(IsPlayerAFK[playerid])  SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du bist AFK. Du kannst keine Aktion durchführen. Melde dich mit /back zurück!", "[WARNING] You are AFK. You can't take any action. Use /back to come back!"), return 1;
     	if(IsPlayerInDM[playerid]) SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du bist schon im DM! Benutze /cancel um das DM zu verlassen!", "[WARNING] You are already in a DM! Use /cancel to exit the DM!"), return 1;
    	if(!UseTeleports[playerid]) SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du kannst im Moment keine Teleports nutzen! (Kampf/Skin Selection/DM-Arena)", "[WARNING] Currently, you can't use teleports! (Fight/Skin Selection/DM-Arena)"), return 1;
    	return 0;
    }


    das was du davor gepostet hast war nicht falsch ^^
    Du hast das lediglich nur rum gedreht mal so als kleiner Tipp zu return



    return SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du kannst im Moment keine Teleports nutzen! (Kampf/Skin Selection/DM-Arena)", "[WARNING] Currently, you can't use teleports! (Fight/Skin Selection/DM-Arena)"),1;


    könntest du hier auch machen da der letzte wert zurück gegeben wird . SendClientMessage gibt den wert 1 zurück und dieser funktion SendLanguageMessage auch daher bräuchte man dein return 1 oder
    die vereinfachte form von mir nicht und kann somit auch return SendLanguageMessage(playerid, COLOR_RED, "[WARNUNG] Du kannst im Moment keine Teleports nutzen! (Kampf/Skin Selection/DM-Arena)", "[WARNING] Currently, you can't use teleports! (Fight/Skin Selection/DM-Arena)"); nutzen