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
THX im Vorraus^^
mfg,
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
-
-
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 4static 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
-
Daaaaankeee sehr^^
Habe dieses Login Script
FILTERSCRIPT Login und Register SystemDas 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 -
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
// den ganz oben
http://wiki.sa-mp.com/wiki/Sscanf_code - das ist der sscanf Cod
Viel Spaß
-
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 CompuPhase8 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 ) -
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 -
-
-
breadfish.de
Hat das Thema geschlossen.