OChat

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Ehmm Hey Könnte mir jemand sagen was hier falsch ist ?


    ocmd:o(playerid,params[])
    {
    new string[128];
    if(sscanf(params,"s",string))return SendClientMessage(playerid,COLOR_GREY,"Nutze: /o [MESSAGE]");
    if(isPlayerAnAdmin(playerid,1))
    {
    format(string,sizeof(string),"{B9FF00}(( Supporter %s : %s ))",SpielerName(playerid),string);
    }
    if(isPlayerAnAdmin(playerid,500))
    {
    format(string,sizeof(string),"{EBFF00}(( Moderator %s : %s ))",SpielerName(playerid),string);
    }
    if(isPlayerAnAdmin(playerid,1000))
    {
    format(string,sizeof(string),"{FFC800}(( High-Supporter %s : %s ))",SpielerName(playerid),string);
    }
    if(isPlayerAnAdmin(playerid,1500))
    {
    format(string,sizeof(string),"{FFA000}(( Admin %s : %s ))",SpielerName(playerid),string);
    }
    if(isPlayerAnAdmin(playerid,2000))
    {
    format(string,sizeof(string),"{FF6E00}(( High-Admin %s : %s ))",SpielerName(playerid),string);
    }
    if(isPlayerAnAdmin(playerid,2011))
    {
    format(string,sizeof(string),"{FF0069}(( Stellv.Porjektleiter %s : %s ))",SpielerName(playerid),string);
    }
    if(isPlayerAnAdmin(playerid,2012))
    {
    format(string,sizeof(string),"{FF0019}(( Projektleiter %s : %s ))",SpielerName(playerid),string);
    }
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }


    hier das kommt wenn ich /o eingebe



    P.s Könnte mir jemand sagen wie ich ein command (ocmd oder strcmp) mache der den ochat an macht oder aus macht :P ?

  • Versuch es so.
    ocmd:o(playerid,params[])
    {
    new string[128];
    if(sscanf(params,"s",string))return SendClientMessage(playerid,COLOR_GREY,"Nutze: /o [MESSAGE]");
    if(isPlayerAnAdmin(playerid,2012))
    {
    format(string,sizeof(string),"{FF0019}(( Projektleiter %s : %s ))",SpielerName(playerid),string);
    }
    else if(isPlayerAnAdmin(playerid,2011))
    {
    format(string,sizeof(string),"{FF0069}(( Stellv.Porjektleiter %s : %s ))",SpielerName(playerid),string);
    }
    else if(isPlayerAnAdmin(playerid,2000))
    {
    format(string,sizeof(string),"{FF6E00}(( High-Admin %s : %s ))",SpielerName(playerid),string);
    }
    else if(isPlayerAnAdmin(playerid,1500))
    {
    format(string,sizeof(string),"{FFA000}(( Admin %s : %s ))",SpielerName(playerid),string);
    }
    else if(isPlayerAnAdmin(playerid,1000))
    {
    format(string,sizeof(string),"{FFC800}(( High-Supporter %s : %s ))",SpielerName(playerid),string);
    }
    else if(isPlayerAnAdmin(playerid,500))
    {
    format(string,sizeof(string),"{EBFF00}(( Moderator %s : %s ))",SpielerName(playerid),string);
    }
    else if(isPlayerAnAdmin(playerid,1))
    {
    format(string,sizeof(string),"{B9FF00}(( Supporter %s : %s ))",SpielerName(playerid),string);
    }
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }

  • Ich würde es ja mal so versuchen


    ocmd:o(playerid,params[])
    {
    new string[128];
    if(sscanf(params,"s",string))return SendClientMessage(playerid,COLOR_GREY,"Nutze: /o [MESSAGE]");
    if(isPlayerAnAdmin(playerid,1))
    {
    format(string,sizeof(string),"{B9FF00}(( Supporter %s : %s ))",SpielerName(playerid),string);
    }
    else if(isPlayerAnAdmin(playerid,500))
    {
    format(string,sizeof(string),"{EBFF00}(( Moderator %s : %s ))",SpielerName(playerid),string);
    }
    else if(isPlayerAnAdmin(playerid,1000))
    {
    format(string,sizeof(string),"{FFC800}(( High-Supporter %s : %s ))",SpielerName(playerid),string);
    }
    else if(isPlayerAnAdmin(playerid,1500))
    {
    format(string,sizeof(string),"{FFA000}(( Admin %s : %s ))",SpielerName(playerid),string);
    }
    else if(isPlayerAnAdmin(playerid,2000))
    {
    format(string,sizeof(string),"{FF6E00}(( High-Admin %s : %s ))",SpielerName(playerid),string);
    }
    else if(isPlayerAnAdmin(playerid,2011))
    {
    format(string,sizeof(string),"{FF0069}(( Stellv.Porjektleiter %s : %s ))",SpielerName(playerid),string);
    }
    else if(isPlayerAnAdmin(playerid,2012))
    {
    format(string,sizeof(string),"{FF0019}(( Projektleiter %s : %s ))",SpielerName(playerid),string);
    }
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }
    Warum else if?
    Ich glaube mal(hab lang nemma gescriptet) du willst abfragen wo er is(vom rang her).
    Du bist mit 100% Projektleiter, somit haste alle.
    Mit else if(isPlayerAnAdmin blabla bla fragst du ab, wenn er kein alevel 1 ist, kann ers nicht, wenn er alevel 1 is kann er nur das erste.
    wenn er alevel 2011 hat, fragt er alle ab. is spieler adminlevel 1? nein drüber. also lässt er das aus. bis zu deinem Adminlevel..


    Wenn ichs Falsch erkläre, sagts richtige, aber so hab ichs bei mir auch.^^


    //edit: Spikes war schneller -.-

  • Wenn du mit /o chatten willst dann benutze den hier xD
    if(strcmp(cmd, "/ooc", true) == 0 || strcmp(cmd, "/o", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht Eingeloggt !");
    return 1;
    }
    if(PlayerInfo[playerid][pMuted] == 1)
    {
    SendClientMessage(playerid, TEAM_CYAN_COLOR, " Du kannst nicht sprechen, du bist gemutet !");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, 0xFFE600FF, "NUTZUNG: (/o)oc [ooc chat]");
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] >= 4)
    {
    format(string, sizeof(string),"((*%d Admin %s: %s))", PlayerInfo[playerid][pAdmin], sendername, result);
    }
    else if(PlayerInfo[playerid][pAdmin] == 0 && (noooc))
    {
    format(string, sizeof(string), "(( %s: %s))", sendername, result);
    }
    else if(PlayerInfo[playerid][pAdmin] == 2000)
    {
    format(string, sizeof(string), "((%d Owner %s: %s))", 0xD70000FF,PlayerInfo[playerid][pSupporter], sendername, result);
    }
    else return 1;
    OOCOff(COLOR_OOC,string);
    Log("OA-Chat.txt",string);
    }
    return 1;
    }

  • Zeig mal dein IsPlayerAdmin?
    Vielleicht mal versucht nach jeder if() Abfrage zu returnen, damit nicht mehrere Ränge in Frage kommen?;)

  • Ich würde es so machen


    ocmd:o(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,0xFFFFFF,"Du drafst den Befehl nicht benutzen.");
    new string[128];
    if(sscanf(params,"s",string))return SendClientMessage(playerid,COLOR_GREY,"Nutze: /o [MESSAGE]");
    if(isPlayerAnAdmin(playerid,2012))
    {
    format(string,sizeof(string),"{FF0019}(( Projektleiter %s : %s ))",SpielerName(playerid),string);
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,2011))
    {
    format(string,sizeof(string),"{FF0069}(( Stellv.Porjektleiter %s : %s ))",SpielerName(playerid),string);
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,2000))
    {
    format(string,sizeof(string),"{FF6E00}(( High-Admin %s : %s ))",SpielerName(playerid),string);
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,1500))
    {
    format(string,sizeof(string),"{FFA000}(( Admin %s : %s ))",SpielerName(playerid),string);
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,1000))
    {
    format(string,sizeof(string),"{FFC800}(( High-Supporter %s : %s ))",SpielerName(playerid),string);
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,500))
    {
    format(string,sizeof(string),"{EBFF00}(( Moderator %s : %s ))",SpielerName(playerid),string);
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,1))
    {
    format(string,sizeof(string),"{B9FF00}(( Supporter %s : %s ))",SpielerName(playerid),string);
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }
    }

  • stock isPlayerAnAdmin(playerid,rang)
    {
    if(PlayerInfo[playerid][Adminlevel]>=rang)return 1;
    return 0;
    }


    ps. wenn ich nun ochat benutze steht da supporter:.... aber normal müsste da projektleiter stehen


    //Edit


    C:\Users\Kokosnuss\Desktop\Complett Neuer Server\gamemodes\Maple.pwn(829) : warning 209: function "ocmd_o" should return a value
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.

  • Weil in deinem Stock >= steht.
    Wenn du == machst, ist es behoben.

  • Der warning kommt Spikes wenn ich deins nehme


    C:\Users\Kokosnuss\Desktop\Complett Neuer Server\gamemodes\Maple.pwn(829) : warning 209: function "ocmd_o" should return a value
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.

  • Die Warning kommt, weil falls keine Abfrage zutrifft, muss er ja trotzdem returnen!

  • ocmd:o(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,0xFFFFFF,"Du drafst den Befehl nicht benutzen.");
    new string[128];
    if(sscanf(params,"s",string))return SendClientMessage(playerid,COLOR_GREY,"Nutze: /o [MESSAGE]");
    if(isPlayerAnAdmin(playerid,2012))
    {
    format(string,sizeof(string),"{FF0019}(( Projektleiter %s : %s ))",SpielerName(playerid),string);
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,2011))
    {
    format(string,sizeof(string),"{FF0069}(( Stellv.Porjektleiter %s : %s ))",SpielerName(playerid),string);
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,2000))
    {
    format(string,sizeof(string),"{FF6E00}(( High-Admin %s : %s ))",SpielerName(playerid),string);
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,1500))
    {
    format(string,sizeof(string),"{FFA000}(( Admin %s : %s ))",SpielerName(playerid),string);
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,1000))
    {
    format(string,sizeof(string),"{FFC800}(( High-Supporter %s : %s ))",SpielerName(playerid),string);
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,500))
    {
    format(string,sizeof(string),"{EBFF00}(( Moderator %s : %s ))",SpielerName(playerid),string);
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }
    else if(isPlayerAnAdmin(playerid,1))
    {
    format(string,sizeof(string),"{B9FF00}(( Supporter %s : %s ))",SpielerName(playerid),string);
    SendClientMessageToAll(COLOR_OOC,string);
    return 1;
    }
    return 1;
    }

  • ocmd:o(playerid,params[]){
    new string[128];
    if(sscanf(params,"s",string))return SendClientMessage(playerid,COLOR_GREY,"Nutze: /o [MESSAGE]");
    if(isPlayerAnAdmin(playerid,1))
    {
    format(string,sizeof(string),"{B9FF00}(( Supporter %s : %s ))",SpielerName(playerid),string); return 1; }
    if(isPlayerAnAdmin(playerid,500))
    {
    format(string,sizeof(string),"{EBFF00}(( Moderator %s : %s ))",SpielerName(playerid),string); return 1;
    }
    if(isPlayerAnAdmin(playerid,1000))
    {
    format(string,sizeof(string),"{FFC800}(( High-Supporter %s : %s ))",SpielerName(playerid),string); return 1;
    }
    if(isPlayerAnAdmin(playerid,1500))
    {
    format(string,sizeof(string),"{FFA000}(( Admin %s : %s ))",SpielerName(playerid),string); return 1;
    }
    if(isPlayerAnAdmin(playerid,2000))
    {
    format(string,sizeof(string),"{FF6E00}(( High-Admin %s : %s ))",SpielerName(playerid),string);
    }
    if(isPlayerAnAdmin(playerid,2011))
    {
    format(string,sizeof(string),"{FF0069}(( Stellv.Porjektleiter %s : %s ))",SpielerName(playerid),string); return 1;
    }
    if(isPlayerAnAdmin(playerid,2012))
    {
    format(string,sizeof(string),"{FF0019}(( Projektleiter %s : %s ))",SpielerName(playerid),string); return 1;
    }
    SendClientMessageToAll(COLOR_OOC,string);
    return 1; }


    so müsste das gehen, bitte einrücken ;)
    das return 1 muss halt eine reihe runter uns eingerückt werden ;) browser spackt tut mir leid