moni nächste frage hab schon gesucht aber nix passendes gefunden...
also es gibt diese schöne funtkion mit GetPlayerName
nun kann mir jemand erklären wie ich es verwenden kann zb in meinem anticheatscript.
jemand wird gebannt und es soll dan dastehn %s wurde wegen Armourhack gebannt!
aber wie definier ich den namen?
playername wiedergeben
- Fischer
- Geschlossen
- Erledigt
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
-
-
Mit einem string...wenn dir das nichts sagt,einfach bei mir melden
-
jo aber wie mach ich den string? bei gf hab ich schon geschaut nun steht da aber immer was von sendername und bei mir hab ich sowas nicht^^
-
hier ein beispiel
new SpielerName[64];
new Text[64];
GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
format(Text,sizeof(Text),"%s wurde gebannt grund cheaten",SpielerName);
SendClientMessageToAll(farbe,Text);//die farbe mit deiner austauschenMFG Julian
-
Der Name ist einfach nur ein String, in diesem Fall ein String mit 16 Zellen, mehr unterstützt SA:MP im Moment nicht.
per GetPlayerName weißt du einem String den Wert des Namens zu. Danach kannst du ihn per format und der Zeichenfolge %s formatieren um ihn anscheinend anzeigen zu lassen.
Kleines Beispiel:
public OnPlayerConnect(playerid) {
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
print("%s", name);
return 1;
} -
nur das prob ist ich hab bei mir kein playerid bei public drinne
public armourcheck()
{
new SpielerName[64];
new Text[64];
for(new i = 0;1<MAX_PLAYERS;i++)
{
if(GetPlayerArmour(i) > 1.0)
{
GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
format(Text,sizeof(Text),"%s Wurde wegen Armourcheaten gebannt!",SpielerName);
SendClientMessageToAll(FARBE_ROT,Text);
SendClientMessage(i, FARBE_ROT, "Du wurdest wegen Cheaten gebannt!");
Ban(i);
}
}
}
oder würde das auch gehn wenn ich in die () playerid reinmache? -
Dann ersetzt du "playerid" einfach mit "i". Ganz einfach.
BTW: Spielername mit 64 Zeichen, du hast was gegen deinen Server stimmts?
Defines sind dazu da um sie zu benützen, nimm MAX_PLAYER_NAME her. Dein Server wirds dir danken. -
da drauf hätte ich von alleine kommen können^^
aber dennoch
C:\Users\Fischer\Desktop\Script+Server\pawno\neu.pwn(1272) : warning 206: redundant test: constant expression is non-zero
C:\Users\Fischer\Desktop\Script+Server\pawno\neu.pwn(1274) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase2 Warnings.
//edit wie meinst du das mit max_player_...
wo soll das hin? -
public armourcheck()
{
new SpielerName[16];
new Text[64], Float:russi;
for(new i = 0;i<MAX_PLAYERS;i++)
{
if(GetPlayerArmour(i,russi))
{
if(russi>0) {
GetPlayerName(i,SpielerName,sizeof(SpielerName));
format(Text,sizeof(Text),"%s Wurde wegen Armourcheaten gebannt!",SpielerName);
SendClientMessageToAll(FARBE_ROT,Text);
SendClientMessage(i, FARBE_ROT, "Du wurdest wegen Cheaten gebannt!");
Ban(i); }
}
}
} -
-
Und welche Zeile ist das im Script?
-
for(new i = 0;1<MAX_PLAYERS;i++)
-
for(new i = 0;i<MAX_PLAYERS;i++)
-
anstatt die 1 muss i hin
Edit: Da war einer schneller
-
wieder sowas wo ich alleine drauf kommen hätte können^^ naja danke