Clan System Fehler

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
  • Tschuldige das ich das Nerve :D
    Jeffry dies hab ich aus nem Forum mal gefunden erinnerst dich vielleicht dran ^^
    doch bei dem Invite befehl möchte ich ganz gerne das er eine Nachricht an dem Spieler sendet und er die wiederum annehmen muss mometan ist es bei Invite
    direkt das der Spieler in dem Clan mit drin ist was ich doof finde. Ich habe schon gestern stunden lang damit beschäftigt und habe es einfach nicht hinbekommen -.-...



    ocmd:invite(playerid,params[])
    {
    {
    {
    if(clanstate[playerid] < 3) return SendClientMessage(playerid,COLOR_RED, "Du bist nicht der Leader eines Clans");
    new pinvite,pname[MAX_PLAYER_NAME],string[200],clanname3d[50],string1[250],file[250];
    if(sscanf(params,"i",pinvite)) return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /invite [ID / Teil des Namens]");
    if(clanstate[pinvite] == 0)
    {
    if(GetPlayerScore(pinvite) >9)
    {
    clanstate[pinvite] = 1;
    format(clanname3d,sizeof(clanname3d),"%s{FF0000} Member {EEEEEE}",clanname[playerid]);
    labels[pinvite] = Create3DTextLabel(clanname3d,-1,30.0,40.0,50.0,40.0,0);
    Attach3DTextLabelToPlayer(labels[pinvite], pinvite, 0.0, 0.0, 0.5);
    GetPlayerName(pinvite,pname,sizeof(pname));
    format(string,sizeof(string),"{2DFF00}Spieler %s {EEEEEE} ist dem Clan: {FFFA00}%s beigetreten",pname,clanname[playerid]);
    format(string1,sizeof(string1),"Du bist dem Clan '%s' beigetreten",clanname[playerid]);
    SendClientMessageToAll(-1,string);
    SendClientMessage(pinvite,COLOR_YELLOW,string1);
    format(file,sizeof(file),"/Clans/%s.cfg",(pname));
    if(!dini_Exists(file))
    {
    dini_Create(file);
    dini_Set(file,"Clan",clanname[playerid]);
    dini_IntSet(file,"Rang",1);
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED, "Der Spieler benötigt das Level 10");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED, "Der Spieler befindet sich bereits in einem Clan");
    }
    }
    }
    return 1;
    }



    ocmd:createclan(playerid,params[])
    {
    {
    {


    if(clanstate[playerid] == 0)
    {
    if(GetPlayerScore(playerid) >14)
    {
    new pname[MAX_PLAYER_NAME],string[200],clanname3d[50],file[250];
    if(sscanf(params, "s", clanname[playerid]))return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /cclan [Name des Clans]");
    clanstate[playerid] = 3;
    format(clanname3d,sizeof(clanname3d),"%s{FF0000} Leader {EEEEEE}",clanname[playerid]);
    labels[playerid] = Create3DTextLabel(clanname3d,-1,30.0,40.0,50.0,40.0,0);
    Attach3DTextLabelToPlayer(labels[playerid], playerid, 0.0, 0.0, 0.5);
    GetPlayerName(playerid,pname,sizeof(pname));
    format(string,sizeof(string),"{2DFF00}Spieler %s{EEEEEE} Gründete den Clan: {FFFA00} %s",pname,clanname[playerid]);
    SendClientMessageToAll(-1,string);
    format(file,sizeof(file),"/Clans/%s.cfg",(pname));
    if(!dini_Exists(file))
    {
    dini_Create(file);
    dini_Set(file,"Clan",clanname[playerid]);
    dini_IntSet(file,"Rang",3);
    }
    SendClientMessage(playerid,COLOR_YELLOW, "Dein Clan wurde erfolgreich erstellt");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED, "Du benötigst das Level 15 um Clans erstellen zu können");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED, "Du befindest dich bereits in einem Clan");
    }
    }
    }
    return 1;
    }


    Vielleich kannste mir wieder erneut einmal helfen Jeffry :D

  • Eigentlich musst du nur den Einladungs-Teil vom /duell - Befehl übernehmen, fast genau gleich wie der /duell Befehl ist dann der /invite Befehl (musst das "Einladung" eben umbenennen, gibt es ja schon). Der /inviteannehmen Befehl ist dann in etwa so aufgebaut, wie dein jetziger /invite Befehl.

  • Versuch mal ob du damit klar kommst:
    ocmd:inviteannehmen(playerid,params[])
    {
    if(clanEinladung[playerid] != 1)return SendClientMessage(playerid,COLOR_GREY,"Du wurdes zu keinem Clan Invitet");
    clanEinladung[playerid] = 0;
    new clan = clanEinladungID[playerid];
    //Hier dann das was passiert, wenn der Spieler dem Clan beitritt (Stats setzen etc)
    return 1;
    }


    ocmd:invite(playerid,params[])
    {
    if(clanstate[playerid] < 3) return SendClientMessage(playerid,COLOR_RED, "Du bist nicht der Leader eines Clans");
    new pinvite;
    if(sscanf(params,"u",pinvite)) return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /invite [ID / Teil des Namens]");
    if(!IsPlayerConnected(pinvite)) return SendClientMessage(playerid,COLOR_RED, "Spieler nicht online");
    if(clanstate[pinvite] == 0)
    {
    if(GetPlayerScore(pinvite) >9)
    {
    clanEinladungID[pinvite] = clanID[playerid]; //Wie es eben heißt
    clanEinladung[pinvite] = 1;
    //Nachricht senden...
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED, "Der Spieler benötigt das Level 10");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED, "Der Spieler befindet sich bereits in einem Clan");
    }
    return 1;
    }

  • Ich habe mich mla entschieden es einfach zu lassen werder Funktioniert dein Code noch meiner :/ aber ein neues Problem besteht du hast mir vor 1- 2 Tagen geholfen bei dem Ban die abfrage funktioniert das setzen vom Ban nicht nur der SetPVarInt funktioniert würde ich jedoch die abfrage mit GetPVarint machen würde dies nicht Funktionieren Jedenfalls der Code

    ocmd:accban(playerid,params[]){
    new userid,grund[64],text[128];
    if(!IsPlayerConnected(userid)) return SendClientMessage(playerid,COLOR_GREY,"Der Spieler ist nicht online.");
    if(PlayerInfo[playerid][pAdminLevel] < 2) return SendClientMessage(playerid,COLOR_GREY,"Dir ist es nicht erlaubt den Befehl zu benutzen.");
    if(sscanf(params,"us",userid,grund))return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /accban [ID / Teil des Namens] [Grund]");
    format(text,sizeof(text),"%s wurde von %s Acoount gebannt, Grund: %s",PlayerName(userid),PlayerName(playerid),grund);
    PlayerInfo[playerid][pBan] = 1;
    SendClientMessageToAll(COLOR_RED,text);
    Kick(userid);
    return 1;
    }


    Danke im vorraus ;)