Wie kann man die Mac Adresse von einem Spieler abfragen?Ich weiß aufjedenfall das dass möglichs ist..
Ich bezweifle, dass es möglich ist.
Wie kann man die Mac Adresse von einem Spieler abfragen?Ich weiß aufjedenfall das dass möglichs ist..
Ich bezweifle, dass es möglich ist.
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[30], parameter[128];
sscanf(cmdtext, "ss", cmd, parameter);
if(strcmp(cmd, "/befehl", true) == 0)
{
sscanf(parameter, "ddd", variablen);
}
return 0;
}
So ists korrekt, denk ich mal..
Es steht unter allen anderen dcmd Befehlen mit parametern und playerid.
new Text:Textdraw2[MAX_PLAYERS] = {Text:-1,...};
So? Wenn ich alle zu Textdraw2[playerid] bennene, erhalte ich den Fehler, dass playerid unbekannt ist..
Ist das nicht das selbe?
Jedenfalls funktioniert es nicht. Das Problem besteht weiterhin.
Guten Morgen Community,
Ich habe das Problem, dass das Textdraw was ich erstellt habe sich nicht löscht, wenn ich es zweimal innerhalb des Timers [1500s] mit einem Befehl einblenden lasse.
Wenn ich den /gz Befehl eingebe, erscheint das Textdraw. Wenn das Textdraw verschwunden ist, kann ich wieder den /gz Befehl nutzen und das Textdraw erscheint erneut problemlos.
dcmd_gz(playerid,params[])
{
if (AccInfo[playerid][Level] <= 1)
return SendClientMessage (playerid, COLOR_GREY, "* You are not an Administrator to perform this command.");
new Float:x,Float:y,Float:z, Float:zz;
if(sscanf(params, "f",zz)) return SendClientMessage(playerid, COLOR_GREY, "* Usage: /gz [Meters in Z Direction") && SendClientMessage(playerid, COLOR_GREY,"* Function: Moves you in the specified Z - Direction.");
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x, y, z+zz);
if (Float:zz >= 0)
{
new tdstring[7];
TextDrawShowForPlayer(playerid, Textdraw2);
Textdraw2 = TextDrawCreate(117.000000, 338.000000, tdstring);
format(tdstring, sizeof(tdstring), "Z %.2f ", zz);
TextDrawBackgroundColor(Textdraw2, 255);
TextDrawFont(Textdraw2, 2);
TextDrawLetterSize(Textdraw2, 0.290000, 1.200000);
TextDrawColor(Textdraw2, -1);
TextDrawSetOutline(Textdraw2, 0);
TextDrawSetProportional(Textdraw2, 1);
TextDrawSetShadow(Textdraw2, 1);
TextDrawSetString(Textdraw2, tdstring);
TextDrawShowForPlayer(playerid, Textdraw2);
SetTimerEx("DisableTextDraw2", 1500, false, "i", playerid);
}
if (Float:zz <= 0)
{
new tdstring[7];
TextDrawShowForPlayer(playerid, Textdraw2);
Textdraw2 = TextDrawCreate(117.000000, 338.000000, tdstring);
format(tdstring, sizeof(tdstring), "Z %.2f ", zz);
TextDrawBackgroundColor(Textdraw2, 255);
TextDrawFont(Textdraw2, 2);
TextDrawLetterSize(Textdraw2, 0.290000, 1.200000);
TextDrawColor(Textdraw2, -1);
TextDrawSetOutline(Textdraw2, 0);
TextDrawSetProportional(Textdraw2, 1);
TextDrawSetShadow(Textdraw2, 1);
TextDrawSetString(Textdraw2, tdstring);
TextDrawShowForPlayer(playerid, Textdraw2);
SetTimerEx("DisableTextDraw2", 1500, false, "i", playerid);
}
return 1;
}
forward DisableTextDraw2(playerid);
public DisableTextDraw2(playerid)
{
new tdstring[7];
TextDrawDestroy(Textdraw2);
TextDrawHideForPlayer(playerid, Textdraw2);
Textdraw2 = TextDrawCreate(117.000000, 338.000000, tdstring);
return 1;
}
Mfg Salpoe
Nun, ich persönlich nutze Kasperky. Verwende es seit 2006 und war bis jetzt immer zufrieden.
dcmd_gotoz(playerid,params[])
{
if (AccInfo[playerid][Level] < 1)
return SendClientMessage (playerid, COLOR_RED, "* You are not an Administrator to perform this command.");
new Float:x,Float:y,Float:z;
new zAmount;
if(sscanf(params, "f",zAmount)) return SendClientMessage(playerid, COLOR_GREY, "* Usage: /gotoz [Z]");
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x, y, z+zAmount);
return 1;
}
Ich crashe bei dem Befehl :s
dcmd_admins(playerid,params[])
{
#pragma unused params
new string[400] = "{FFFFFF} Following Admins are available:\n\n";
new NameR[20];
new string2[120];
for(new i; i < MAX_PLAYERS; i++) {
if(!IsPlayerConnected(i) || !AccInfo[i][Level] || AccInfo[i][Hide]) continue;
format(string, sizeof string, "%s {FFFFFF}Admin %s (ID:%i) - {0098D3}Level %d{FFFFFF}\n",string,PlayerName2(i),i, AccInfo[i][Level]);
}
if(strlen(string) == 40) return ShowPlayerDialog(playerid,NO_ADMINS,DIALOG_STYLE_MSGBOX,"Online Admins","\nThere are currently no Admins available.","Close","");
ShowPlayerDialog(playerid,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX,"Online Admins",string,"Close","");
GetPlayerName(playerid, NameR, sizeof(NameR));
format(string2,sizeof(string2),"* %s (ID:%d) has checked all available Admins.",NameR,playerid);
MessageToAdmins(COLOR_MAUVE, string2);
return 1;
}
Ja, bringt aber nichts, ich erhalte trotzdem keine "No Admins" Message, sondern "Available Admins:"
Ich wusste garnicht, dass man hinter einem string einen Text plazieren kann
Edit: Verstehe aber trotzdem nicht welche if Abfrage ich ändern muss
dcmd_admins(playerid,params[])
{
#pragma unused params
new string[128];
for(new i; i < MAX_PLAYERS; i++) {
if(!IsPlayerConnected(i) || !AccInfo[i][Level] || AccInfo[i][Hide]) continue;
format(string, sizeof string, "%sAdmin %s (ID:%i)- {0098D3}Level %d{FFFFFF}\n",string,PlayerName2(i),i, AccInfo[i][Level]);
}
if(!string[0]) return ShowPlayerDialog(playerid,NO_ADMINS,DIALOG_STYLE_MSGBOX,"Online Admins","\n\nThere are no admins\ncurrently available.","Close","");
return ShowPlayerDialog(playerid,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX,"Online Admins",string,"Close","");
}
Wie lasse ich einen Text über den String anzeigen? Beispielsweise "Following Admins are currently online:\n" und das nur einmal anstatt bei jedem Admin der online ist?
Habe ziemlich alles ausprobiert und bekomme dabei nie das raus, was ich eigentlich haben will :s
..code..code
format(string, sizeof(string2), " Last Login: %s | Register Date: %s | Todays Date: %d.%d.%d\n",tmp2,RegisterDatum,tag,monat,jahr);
ShowPlayerDialog(playerid,DIALOG_TRACK,DIALOG_STYLE_MSGBOX,"Statistics",string2,"Close","");
if(IsPlayerInAnyVehicle(player1))
{
new Float:VHealth, carid = GetPlayerVehicleID(playerid);
GetVehicleHealth(carid,VHealth);
format(string, sizeof(string2),"\nVehicle Name: %s | Model ID: %d | Vehicle ID: %d | Vehicle Health: %d\n",VehicleNames[GetVehicleModel(carid)-400],GetVehicleModel(carid),carid,floatround(VHealth)), strcat(string2,string), ShowPlayerDialog(playerid,DIALOG_TRACK2,DIALOG_STYLE_MSGBOX,"Statistics",string2,"Close","");
}
Der eigentliche Stats Dialog funktioniert wunderbar. Nun wollte ich abfragen, ob der Spieler in einem Fahrzeug sitzt und seine Informationen zum Wagen abfragen.
Dies funktioniert aber jedoch nur, wenn ich meine eigene /stats ID verwende. Bei anderen Spielern (ID's die ich in /stats verwende) wird mir der Fahrzeug Part nicht angezeigt und ich bekomme die Meldung Unknown CMD, während der vorherige Part angezeigt wird.
Mfg Salpoe
enum PlayerData
{
Color,
}
OnPlayerConnect sowie bei Disconnect:
AccInfo[playerid][Color] = 0;
Bei dem Registrieren Command:
dUserSetINT(PlayerName2(playerid)).("Color",0);
Bei dem forward LoginPlayer sowie bei dem forward SavePlayerStats
AccInfo[playerid][Color] = (dUserINT(PlayerName2(playerid)).("Color"));
edit: Keiner ne idee?
if(strcmp(cmdtext,"/yellow",true) == 0)
{
if (AccInfo[playerid][Registered] == 1)
{
SetPlayerColor(playerid, yellow);
SendClientMessage(playerid, COLOR_GREY,"* Hint: You can view a List of all available colors by typing /colors");
dUserSetINT(PlayerName2(playerid)).("Color",Color); // : warning 213: tag mismatch
return 1;
}
}
Möchte die Spielerfarbe abspeichern, so dass wenn sie den Server das nächste mal betreten wieder die selbe Farbe haben. Habe ein Warning und weiß nicht ob ich den Ansatz richtig gemacht habe.
mfg
SetCameraBehindPlayer(playerid);
Damit sollte es gehen.
Mit SpawnPlayer geht es ebenfalls.
Habe nun ein anderes Problem:
if(killerid != INVALID_PLAYER_ID)
{
SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
GivePlayerMoney(killerid, GetPlayerMoney (killerid) + 3500);
}
return 1;
}
Nach dem ersten Kill bekomme ich 3500, dann 9000, dann 24500 ? :s
Ich habe beim Registersystem InterpolateCamera verwendet.
Wenn ich nun den Registervorgang abgeschlossen habe, spawne ich im Hintergrund und kann mich dann auf der Minikarte laufen sehen, während die Interpolate Camera stehen geblieben ist und nicht weggeht bis ich /kill eingebe. Wie lasse ich die Camera verschwinden nach dem letzten Dialog?
Edit: Habs mit SpawnPlayer(playerid); hinbekommen.
Gefällt mir richtig gut, werde es in meinem Gamemode verwenden. Dankesehr!
9/10!
Danke euch allen, habs hinbekommen
Abfragen, ob die eingegebene ID = 520 ist?
{
if(car = 520 && car = 425 && car = 432)
SendClientMessage(playerid, COLOR_GREY, "** You are not allowed to spawn this vehicle.");
}
Wie ich es aber verhindere weiß ich nicht^^