GTAvision.com - Forum - Grand Theft Auto News, Downloads, Community and more...

Position: Grand Theft Auto: San Andreas » Multiplayer » [SA-MP]Clantagfake » Druckansicht
TwIsTeR, 03.02.2008, 10:18
Ich wollte mal fragen ob jemand nen Code/Script hat zum kicken von fakern und zwar der erkennt wer
im Clan ist und wer nicht

ich meine ungefehr so das er alle die ich in einer liste eintrage wer im Clan ist und wenn jemand
aufm Server kommt z.B. mit [RTS]Muster das der das erkennt und kickt genau wenn jemand mit [Admin]
oder Admin_Muste on kommt das der das Admin erkennt, ich weiß das es geht, frage ob ihrs könnt oder
jemand so nett ist und mir es machen könnte. :)
dödel, 03.02.2008, 11:08
Genau so muss ein Thread aussehen =)
Da hilft man doch gerne ;)


Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?

public OnPlayerConnect(playerid)
{

if(strfind(PlayerName(playerid), "NAME1", true) == 0 || strfind(PlayerName(playerid), "NAME2", true) 
== 0) 
{
//Ban(playerid); oder Kick(playerid);
}

return 1;
}

?>



Oder du machst es noch besser und lässt es über Datei laufen,
die du jederzeit ändern / verlängern kannst.

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?

public OnPlayerConnect(playerid)
{

if(!udb_Exists("xClanTagFakex"))
{
dini_Create("xClanTagFakex.dudb.sav");
dUserSetINT("xClanTagFakex").("NumberOfNames", 1);
dUserSet("xClanTagFakex").("0", "Admin");
}

for(new i; i<dUserINT("xClanTagFakex").("NumberOfNames"); i++)
{
new tmpstr[MAX_PLAYER_NAME];
format(tmpstr, sizeof(tmpstr), "%d", i);
if(strfind(PlayerName(playerid), dUser("xClanTagFakex").(tmpstr), true) == 0) 
{
//Ban(playerid); oder Kick(playerid);
}

}

return 1;
}

?>


So wird alles im Ordner "scriptfiles" in der Datei "xClanTagFakex.dudb.sav" gespeichert und gelesen.

Bei "NumberOfNames" trägst du halt die Anzahl der Namen ein
und listest die Namen dann so auf:
0=Admin
1=[RTS]
2=NSG

Das wärn dann 3 Namen, also NumberOfNames=3 ;)

Aber hier können auch Spieler gebannt werden, die zu eurem
Clan gehören, baue ich den Code mal noch weiter aus :-O

-> Und ja, das wird wohl ein DP werden, aber man will ja den überblick behalten ;)
dödel, 03.02.2008, 11:37
Oho, das wird DreifachPost, is aber wichtig.
Da ich das alles im hier Forum gescriptet habe
und nicht in Pawno sind mir ein paar flüchtigkeitsfehler unterlaufen.
Hier mal der richtige Code und außerdem per Extrafunktion.

Edit: < Fehlerhafen Post entfernt >

Denn bauen wir uns einfach nochmal eine Datei der erlaubten Namen 8)

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?

forward TestName(playerid);

public OnPlayerConnect(playerid)
{

TestName(playerid);

return 1;
}

?>
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?

public TestName(playerid)
{
if(!udb_Exists("xClanTagFakex"))
{
dini_Create("xClanTagFakex.dudb.sav");
dUserSetINT("xClanTagFakex").("NumberOfNames", 1);
dUserSet("xClanTagFakex").("0", "Admin");
}

if(!udb_Exists("xClanNamesx"))
{
dini_Create("xClanNamesx.dudb.sav");
dUserSetINT("xClanNamesx").("NumberOfNames", 1);
dUserSet("xClanNamesx").("0", "[RTS]Benni");
}

new IsNameAllowed;

for(new a; a < dUserINT("xClanNamesx").("NumberOfNames"); a++)
{
new tmpstr[MAX_PLAYER_NAME];
format(tmpstr, sizeof(tmpstr), "%d", a);
if(strfind(PlayerName(playerid), dUser("xClanNamesx").(tmpstr), true) == 0)
{
IsNameAllowed = 1;
}
}

for(new i; i<dUserINT("xClanTagFakex").("NumberOfNames"); i++)
{
new tmpstr[MAX_PLAYER_NAME];
format(tmpstr, sizeof(tmpstr), "%d", i);
if(strfind(PlayerName(playerid), dUser("xClanTagFakex").(tmpstr), true) == 0 && IsNameAllowed != 1)
{
Kick(playerid);
}

}

}

?>


Damit dürften sich alle Fragen geklärt haben,
ich wiederhole nochmal die Vorgangsweise:

So, hier werden alle erlaubten Namen in der "xClanNamesx.dudb.sav" aufgeführt.
Und die Verboten Tags werde ind die "xClanTagFakex.dudb.sav" eingetragen.

Sie werden beide wie oben gezeigt aufgelistet.

In Beide Dateien muss erstmal die Anzahl der jeweiligen Namen

-> xClanTagFakex.dudb.sav
NumberOfNames=2
0=[RTS]
1=Admin

-> xClanNamesx.dudb.sav
NumberOfNames=3
0=[RTS]Benni
1=[RTS]Aua
2=[RTS]Flitzer
3=[RTS]Beispiel
TwIsTeR, 03.02.2008, 11:44
thx :D wenn ich das Script nachher wieder habe, dann werde ich es testen :D oder ich mach es ins Admin
Script xD
TrexXx, 15.07.2008, 12:56
Ich bekomme 2 Errors:

Code:

1
2
3
4
5
6
C:\Users\Moritz Drescher\Desktop\NameKicker.pwn(47) : error 017: undefined symbol "PlayerName"
C:\Users\Moritz Drescher\Desktop\NameKicker.pwn(57) : error 017: undefined symbol "PlayerName"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.


Sry sieht ganz einfach aus aber bei mir geht es nicht KP
dödel, 15.07.2008, 13:33
Dort steht doch ganz klar das PlayerName nicht definiert wurde ;)
Hättest ja einfach mal die Suche nutzen können.

stock PlayerName(playerid)
{
pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
return pname;
}

Sollte so stimmen :)
FloRaX, 15.07.2008, 17:16
Jup, hab es auch bei mir drin. Klappt einwandfrei :)
Headshot, 29.11.2008, 22:21
das script geht eig. ohne probleme, doch wenn ich mein clantag nach hinten tu, also z.b
user[clantag] dann können die connecten und werden nicht gekickt.
Robin, 02.01.2009, 09:12
Ok ich edite der Beitrag hier mal, da sich mein Problem schon gelöst hat.

mfg Robin
tesa, 02.02.2009, 14:40
ZitatRobin hat folgendes geschrieben:
Ok ich edite der Beitrag hier mal, da sich mein Problem schon gelöst hat.

mfg Robin


Das ist ja super. Das bringt aber keinem was. Du weißt vielleicht noch was du hier geschrieben
hast, aber alle anderen nicht.
Ich hasse es, wenn man einfach den Text löscht *mad*
GTAvision.com :: Forumregeln :: FAQ :: Impressum :: Kontakt :: RDRvision.com :: LANOIREvision.com :: MaxPayneVision.com
NetVisionWork.NET
.: © 2006-2014 by GTAvision.com :.

Rockstar GamesTake-Two Interactive Deutschland

Free Grand Theft Auto Downloads