Neulingschat?

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
  • Hey ho Leute,
    ich will würde gerne ein system haben, das zwischen 1-2 leveln ein Neulings chat gibt den man mit /n nutzt.
    Jedoch sollte es dann noch einen Befehl /optionen geben wo drinne steht "Neulings chat aus/einschalten".
    Bin leider noch nicht so lange dabei (beim scripten) und bin an einem script von einem freund am editieren.
    Und das müsste dann "strcmp" sein.
    wäre echt nett wenn ihr mir helft.
    wüsste nicht wie ich das hinbekomme.


    MFG

  • kleine hilfe:
    -Abfrage welches level der "schreiber" ist
    -Abfrage ob An oder Aus
    -format...
    -SendClientMessage...


    (
    new str[128], name[24]; // String, Username
    GetPlayerName(playerid,name,24); // Der name wird ausgelesen..
    format(str,128,"Neuling %s: %s",name,message); //formatieren der nachricht.
    if(GetPlayerScore(i)<=3){ // Wenn der spieler Level 1,2,oder 3 ist ...
    if(Tog[playerid][NCTog] == 1)return SendClientMessage(i,-1,str); // Nachricht wird gesendet, wenn Der chat an ist.
    - das ist eine kleine hilfe, müsste so funzen, - ungetestet
    )

  • ich weis hört sich wieder gierig an , und als wollte ich nix lernen , jedoch kapiere ich momentan wirklich GARNIX :D
    könnte mir wer vll einen kompletten befehl machen?

  • Melde dich morgen mal bei mir.
    Schreibe dir das schnell über Teamviewer ;)
    Ist wirklich nicht schwer. Man muss nur abfragen, ob jemand Level 1 oder 2 ist, dann darf er die Nachricht senden an die Leute, die Level 1 oder 2 sind.
    das macht man mit
    ocmd:n(playerid,params[])
    {
    new string[128];
    if(GetPlayerScore(playerid) <= 2)
    {
    if(sscanf(params,"s",string))return SendClientMessage(playerid,weiß,"/n(neuling) [text]");
    format(string,sizeof(string),"Neulingschat %s: %s.",SpielerName(playerid),string);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPlayerScore(playerid) <=2)
    {
    SendClientMessage(i, HBLAU, string);
    }
    }
    }
    }
    return 1;
    }
    //edit habs mal schnell so gemacht :D Müsste gehen, habs nicht getestet


  • Er hat leider strcmp :)


    Aber Ich würde auch gern wissen ob man so jetzt ein adm chat erstellen könnte.


    Kann man das also so machen?


    ocmd:a(playerid,params[])
    {
    new string[128];
    if(sscanf(params,"s",string))return SendClientMessage(playerid,weiß,"/a [text]");
    format(string,sizeof(string),"Adminchat %s: %s.",SpielerName(playerid),string);
    for(new i=0; i {
    if(IsPlayerConnected(i))
    {
    if(IsPlayerAdmin(playerid)
    {
    SendClientMessage(i, HBLAU, string);
    }
    }
    }
    }
    return 1;
    }


    //edit.


    Nein Warte :pinch: Das klappt ja so garnicht.

    Einmal editiert, zuletzt von xPatrick ()


  • ocmd:n(playerid,params[])
    {
    new string[128];
    if(GetPlayerScore(playerid) <= 2)
    {
    if(sscanf(params,"s",string))return SendClientMessage(playerid,weiß,"/n(neuling) [text]");
    format(string,sizeof(string),"Neulingschat %s: %s.",SpielerName(playerid),string);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPlayerScore(i) <=2)
    {
    SendClientMessage(i, HBLAU, string);
    }
    }
    }
    }
    return 1;
    }




    In der schleife müsst ihr auch abfragen, ob GetMaxPlayers level 1 || 2 ist...

  • Warum gibt ihr ihm fertige Befehle für ocmd?
    Anscheinend arbeitet das Script nicht damit.
    Bestermaxi:
    Gibt es in dem Script kleine Befehle wie z.B. /w, /whisper, /s, /a ? Die funktionieren recht ähnlich.
    Guck dir so ein Befehl mal an und poste den am Besten, dann kann man dir daran erklären wo du was ändern musst!

  • So habe jetzt mal den code für /a , könnt ihr mir den dann umschreiben? :D


    if(strcmp(cmd, "/admin", true) == 0 || strcmp(cmd, "/a", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    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, COLOR_GRAD2, "NUTZE: (/a)dmin [admin chat]");
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    format(string, sizeof(string), "*%d Admin %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
    }
    else if(PlayerInfo[playerid][pSupporter] >= 1)
    {
    format(string, sizeof(string), "*%d Supporter %s[%d]: %s", PlayerInfo[playerid][pSupporter], sendername, playerid, result);
    }
    else if(PlayerInfo[playerid][pSupporter] == 6)
    {
    format(string, sizeof(string), "*%d Admin %s[%d]: %s", PlayerInfo[playerid][pSupporter], sendername, playerid, result);
    }


    else return 1;
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pSupporter] >= 1 || PlayerInfo[i][pAdmin] >= 1)
    {
    SendClientMessage(i,0x00F5FFFF,string);
    }
    }
    }
    Log("OA-Chat.txt",string);
    }
    return 1;
    }

    Einmal editiert, zuletzt von bestermaxi ()