Gangs,FRaktionen etc.

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,
    also ich habe einen Scriptwunsch^^:
    Also ich Scripte mir ZurZeit mein eigenes GameMode.
    Nun also ich möchte dort drinne Gangs oder Fraktionen haben.
    Ich kann wen ich eingeloggter rcon admin bin jemand mit /makeleader [id von gang] [nickname] leader machen.
    er kann dan mit /invite jemand inviten.Also sowas wie beim GF^^
    Also ich möchte es in meinem Eigenen GameMode machen nicht bei einem GF bloss ich bin noch anfänger im scripten und weiß nicht wie man es macht.
    Erfüllt mir bitte meinen Wunsch :love:
    THX im Vorraus^^
    mfg,

  • Hi... es war bisschen Arbeit, aber hier:



    //Bei OnPlayerConnect
    gTeam[playerid] = TEAM_ZIVI;


    //Bei den Defines, ganz oben
    #define TEAM_GROVE 2
    #define TEAM_BALLAS 3
    #define TEAM_GROVELEADER 0
    #define TEAM_BALLASLEADER 1
    #define TEAM_ZIVI 4


    static gTeam[MAX_PLAYERS];



    // bei OnPlayerCommandText


    dcmd(makeleader,10,cmdtext);
    dcmd(invite,6,cmdtext);
    dcmd(tc,2,cmdtext);


    // außerhalb i-eines CallBacks


    dcmd_invite(playerid,params[])
    {
    new target = strval(params);
    new leader[MAX_PLAYER_NAME];
    new invites[64];
    new invites2[64];
    new targets[MAX_PLAYER_NAME];
    if(!strlen(params))
    {
    return SendClientMessage(playerid,0x0000BBAA,"Verwende: /invite [ID]");
    }
    if(!IsPlayerConnected(target))
    {
    SendClientMessage(playerid,0x0000BBAA," Der angegebene User ist nicht online" );
    return 1;
    }
    if(gTeam[playerid] == TEAM_GROVELEADER)
    {
    gTeam[target] = 2;
    GetPlayerName(target, targets, sizeof targets );
    format(invites, sizeof invites, "Du hast %s in deine Fraktion eingeladen",targets);
    SendClientMessage(playerid,0x0000BBAA,invites);
    GetPlayerName(playerid, leader, sizeof leader);
    format(invites2, sizeof invites2 , "Du wurdest von %s in die GroveGang eingeladen!", leader);
    SendClientMessage(target,0x0000BBAA,invites2);
    return 1;
    }
    if(gTeam[playerid] == TEAM_BALLASLEADER)
    {
    gTeam[target] = 3;
    GetPlayerName(target, targets, sizeof targets );
    format(invites, sizeof invites, "Du hast %s in deine Fraktion eingeladen",targets);
    SendClientMessage(playerid,0x0000BBAA,invites);
    GetPlayerName(playerid, leader, sizeof leader);
    format(invites2, sizeof invites2 , "Du wurdest von %s in die Ballas eingeladen!", leader);
    SendClientMessage(target,0x0000BBAA,invites2);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0x0000BBAA,"Du bist kein Leader !");
    return 1;
    }
    }


    dcmd_makeleader(playerid,params[])
    {
    new admin[MAX_PLAYER_NAME];
    new zielname[MAX_PLAYER_NAME];
    new leaderstring[64];
    new leaders2[64];
    new leaderzahl;
    new target;
    if(sscanf(params,"dd",target,leaderzahl))
    {
    SendClientMessage(playerid,0x0000BBAA," USAGE : /makeleader [ID] [Zahl ( 1 - 2 )");
    return 1;
    }
    if(!IsPlayerAdmin(playerid))
    {
    SendClientMessage(playerid,0x0000BBAA," Du bist kein RCON-Admin, ");
    SendClientMessage(playerid,0x0000BBAA," und bist daher nicht befugt dies zu benutzen ");
    return 1;
    }
    if(!IsPlayerConnected(target))
    {
    SendClientMessage(playerid,0x0000BBAA,"> Der angegebene User ist nicht online <");
    return 1;
    }
    if(leaderzahl == 0)
    {
    gTeam[target] = 0;
    GetPlayerName(playerid, admin, sizeof admin);
    GetPlayerName(target, zielname, sizeof zielname);
    format(leaderstring, sizeof leaderstring,"Du wurdest zum Leader der %d . Fraktion gemacht",leaderzahl);
    SendClientMessage(target,0x0000BBAA,leaderstring);
    format(leaders2, sizeof leaders2,"Du hast %s zum Leader der %d . Fraktion gemacht",zielname,leaderzahl);
    SendClientMessage(playerid,0x0000BBAA,leaders2);
    return 1;
    }
    else if(leaderzahl == 1)
    {
    gTeam[target] = 1;
    GetPlayerName(playerid, admin, sizeof admin);
    GetPlayerName(target, zielname, sizeof zielname);
    format(leaderstring, sizeof leaderstring,"Du wurdest zum Leader der %d . Fraktion gemacht",leaderzahl);
    SendClientMessage(target,0x0000BBAA,leaderstring);
    format(leaders2, sizeof leaders2,"Du hast %s zum Leader der %d . Fraktion gemacht",zielname,leaderzahl);
    SendClientMessage(playerid,0x0000BBAA,leaders2);
    return 1;
    }
    else if(leaderzahl >= 2 )
    {
    SendClientMessage(playerid,0x0000BBAA, " Leaderzahlen: 1 und 2.");
    return 1;
    }
    return 1;
    }


    dcmd_tc(playerid,params[])
    {
    new tc[90];
    new UZ[100];
    if(sscanf(params,"s",tc))
    {
    SendClientMessage(playerid,COLOR_RED, "Verwende: /tc ");
    return 1;
    }
    if(gTeam[playerid] == TEAM_GROVELEADER || gTeam[playerid] == TEAM_GROVE) //roflmato
    {
    GetPlayerName(playerid, xname, sizeof xname );
    for( new i = 0; i < MAX_PLAYERS; i++)
    {
    if(gTeam[playerid] == TEAM_GROVELEADER || gTeam[playerid] == TEAM_GROVE)
    {
    format(UZ, sizeof UZ, "%s : %s ", xname , tc);
    SendClientMessage(playerid, 0x0000BBAA, UZ);
    return 1;
    }
    }
    }
    if(gTeam[playerid] == TEAM_BALLASLEADER || gTeam[playerid] == TEAM_BALLAS)
    {
    GetPlayerName(playerid, xname, sizeof xname );
    for( new i = 0; i < MAX_PLAYERS; i++)
    {
    if(gTeam[playerid] == TEAM_BALLASLEADER || gTeam[playerid] == TEAM_BALLAS)
    format(UZ, sizeof UZ, "%s : %s ", xname , tc);
    SendClientMessage(playerid, COLOR_RED, UZ);
    return 1;
    }
    }
    return 1;
    }



    ! WICHTIG ! :
    -Da ich dein Register & Login System kenne, wird nicht gespeichert, in welcher Fraktion man ist ( auf Wunsch kann ich das natürlich nachtragen ), damit nicht jeder jeden "inviten" kann
    => Daher auch bei "OnPlayerConnect" : gTeam[playerid] = TEAM_ZIVI;
    -Bugs bitte berichten... werde es nach Möglichkeit ändern
    -Hab einen Teamchat ( /tc ) eingebaut
    -Ich gehe davon aus, dass du die dcmd & sscanf Cods im Script hast ( Wenn nicht: [ SCRIPTING ][/b] Commands mit Parametern '] [ SCRIPTING ] Commands mit Parametern )
    -Teams kann man beliebig erweitern bzw. ändern

    Viel Spaß ...


    //Edit: Credits etc. brauch ich nicht ;)

    Suche Scriptlehrer :rolleyes:

  • Daaaaankeee sehr^^
    Habe dieses Login Script ;)
    FILTERSCRIPT Login und Register System


    Das hier:
    Ich gehe davon aus, dass du die dcmd & sscanf Cods im Script hast
    Da der Link da sind voll viele Codes welchen muss ich nehmen ;)
    Danke nochmal
    ^^

  • danke aber:


    filterscripts\gangs.pwn(71) : warning 217: loose indentation
    filterscripts\gangs.pwn(114) : warning 209: function "OnPlayerCommandText" should return a value
    filterscripts\gangs.pwn(292) : error 017: undefined symbol "COLOR_RED"
    filterscripts\gangs.pwn(297) : error 017: undefined symbol "xname"
    filterscripts\gangs.pwn(297) : error 017: undefined symbol "xname"
    filterscripts\gangs.pwn(302) : error 017: undefined symbol "xname"
    filterscripts\gangs.pwn(310) : error 017: undefined symbol "xname"
    gangs.pwn(310) : error 017: undefined symbol "xname"
    gangs.pwn(314) : error 017: undefined symbol "xname"
    gangs.pwn(315) : error 017: undefined symbol "COLOR_RED"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    8 Errors.


    Was soll ich tun?^^
    Wollte es als FS machen.

  • filterscripts\gangs.pwn(71) : warning 217: loose indentation = nur eine Warnung
    filterscripts\gangs.pwn(114) : warning 209: function "OnPlayerCommandText" should return a value = unten fehlt das "return 0;" bei OnPlayerCommandText ganz unten
    filterscripts\gangs.pwn(292) : error 017: undefined symbol "COLOR_RED" = das COLOR_RED definieren ( #define RED 0xFF0000AA )
    filterscripts\gangs.pwn(297) : error 017: undefined symbol "xname" = definieren ( new xname[MAX_PLAYER_NAME] )
    filterscripts\gangs.pwn(297) : error 017: undefined symbol "xname" = -"-
    filterscripts\gangs.pwn(302) : error 017: undefined symbol "xname" = -"-
    filterscripts\gangs.pwn(310) : error 017: undefined symbol "xname" = -"-
    gangs.pwn(310) : error 017: undefined symbol "xname" = -"-
    gangs.pwn(314) : error 017: undefined symbol "xname" = -"-
    gangs.pwn(315) : error 017: undefined symbol "COLOR_RED" = das COLOR_RED definieren ( #define RED 0xFF0000AA )

    Suche Scriptlehrer :rolleyes:

  • danke nur noch 1 error^^


    error 001: expected token: ";", but found "static"


    Edit:
    Habs jetzt thx!


    Wie mache ich den das ich mein Loginscript damit nutzen kann (damit die fraktion gespeichert wird)
    und das die eigene gang autos haben?
    und wie mache ich das z.B Gang 1 nur einen bestimmten Befehl nutzen kann?
    und brauche auch noch ne uninvite funkionen z.B /uninvite [id].
    sry das es soviel ist.
    thx imvorraus :love:

    3 Mal editiert, zuletzt von Sampi ()