Am besten Pose einfach den Code der Befehle...
In diesem Fall unötig, da er diese Sache eigentlich auch beschreiben kann!
Am besten Pose einfach den Code der Befehle...
In diesem Fall unötig, da er diese Sache eigentlich auch beschreiben kann!
Ja, aber editiert
Schau dir da die Adminabfrage an und bearbeite es bei /kick & /ban ![]()
aber /sban funktioniert und /skick
Benutzt du einen Godfather?
Wie @Raven^ schon meinte, es kann dann jeder den Befehl ausführen.
Hast du denn bereits schon eine Variable die auf Administrative Rechte zurückweist ?
Guten Abend Breadfish.
Ich habe das Problem, dass wenn ich /ban, oder /kick eingebe, immer kommt You are not an admin.
Allerdings ist alles im Script definiert und ohne Warnings oder Errors.
Wenn ich mich allerdings mit /rcon einlogge geht es.
Daher wollte ich euch mal fragen, was man dagegen machen kann.
Schau mal nach IsPlayerAdmin (ist RCON bezogen)
Ist doch völlig irrelevant ob man 30.0 oder 29.56754334 einheiten entfernt ist. Kein Spieler steht genau an dem punkt 4 4 4 somit ist das völliger mist
Nein Präzision ist nie mist, da ich hier nicht weiter "spammen" möchte, wars dass von meiner Seite aus.
Ändert nichts daran das er trotzdem die distance abfragen muss welche IsPlayerInRangeOfPoint direkt beinhaltet
IsPlayerInRangeOfPoint ist nur eine abfrage (verbunden mit if)
und
GetPlayerDistanceFromPoint ist eine "Funktion" die du ganz gut mit if verbinden kannst, der punkt jedoch ist: Es geht hier um Präzision!
Das können auch mehrere Buchstaben sein (Mehr als 1 Objekt)
Du kannst dir ja mal diesen Editor anschauen
http://forum.sa-mp.com/showthread.php?t=336820
Naja ändert nix daran das sich der Sinn mir nicht erschließt
GetPlayerDistanceFromPoint ist eine ganz normale Funktion von SAMP.
Also ich bitte dich, dass du diese Funktion nicht kennst..
Damit kannst eine genaue Distanz erzielen
@CIBERKILLER: Warum eine "costum function" nutzen wenn man IsPlayerInRangeOfPoint nutzen kann was direkt eingebaut ist ?
Was schreibst du denn für einen Unsinn?
An deiner Stelle würde ich GetPlayerDistanceFromPoint benutzen arbeitet genauer
Beispiel:
if(GetPlayerDistanceFromPoint(playerid, x, y, z) >= abstand){aktion}
Dies ist aber auch nur ein beispiel!
Alles anzeigen
Nein, kann er nicht, da auf Grund des Lags zwischen Spieler und Server GetPlayerVehicleID nicht direkt nach PutPlayerInVehicle funktioniert.
Im Befehl muss also das
if (GetPlayerVehicleID(playerid))
{
AddVehicleComponent(carid, 1010); // Nitro
return 1;
}
Zu
AddVehicleComponent(car, 1010);
geändert werden. Die Abfrage muss weg!
Die ist ja auch völlig sinnlos, da er ja zuvor in das Auto gesetzt wird.
Ok, das lässt alternativ mit einem Timer regeln, aber ich denke für diesen Zweck lohnt es sich nicht. Danke für die Info Jeffry ![]()
War das so schwer??
AddVehicleComponent(CAR, 1010);
Wenn du den Spieler auch reinsetzen würdest, dann könntest du es so machen.
PutPlayerInVehicle(playerid, CAR, 0);
new vid = GetPlayerVehicleID(playerid);
AddVehicleComponent(vid, 1010);
Schon mal coole Funktionen, könntest du das ganze bitte Erweitern ?
10/10 ![]()
benenne es zu model um!
CreateVehicle(vehID,pPos[0],pPos[1],pPos[2],pPos[3],ColorA,ColorB,0);
zu
CreateVehicle(vehID,pPos[0],pPos[1],pPos[2],pPos[3],ColorA,ColorB,-1);
Schreibs mal so:
ocmd:veh(playerid,params[])
{
new vehID, ColorA, ColorB;//Definiert die Fahrzeug ID, Farbe1 und Farbe2
if(sscanf(params, "ddd",vehID,ColorA,ColorB))nreturn SendClientMessage(playerid,Farbe,"{FF0000}INFO:{B0C4DE} /veh [CAR - ID] [Farbe1] [Farbe2]");//Wenn er nur /veh eingibt.
if(SpielerInfo[playerid][pAlevel] < 3)return SendClientMessage(playerid,HRot,"Du darfst diesen Befehl nicht nutzen!");
new Float:pPos[4];//Die Floats für das Fahrzeug
GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);//Prüft die SPIELER Position
GetPlayerFacingAngle(playerid, pPos[3]);
CreateVehicle(vehID,pPos[0],pPos[1],pPos[2],pPos[3],ColorA,ColorB,0);//Erstellt das Fahrzeug mit unseren Angaben
new STRING[256];//Macht einen string für die Nachricht
format(string, sizeof(string),"Du hast dir folgendes Fahrzeug gespawnt: ID: [{f86464}%d{FFFFFF}], Farbe1: [{f86464}%d{FFFFFF}], Farbe2: [{f86464}%d{FFFFFF}]",vehID,ColorA,ColorB);//Definiert die Fahrzeug ID, Farbe 1 und Farbe2
SendClientMessage(playerid,White,string);//Sendet den String ab
return 1;
}
Alles anzeigenpublic OnRconLoginAttempt(ip[], password[], success)
{
new pIP[16], sendername[24], string[128], et[17];
for(new i;i<GetMaxPlayers();i++){
if(isPlayerAnAdmin(i,1))return 1;
GetPlayerName(i, sendername, 24), GetPlayerIp(i, pIP, 16);
if(success)et = "erfolg"; else et = "kein erfolg";
format(string, sizeof(string), "[RCON - WARNING]: %s wurde versuchte sich unerlaubt in der Konsole anzumelden. (Status: %s | Benutztes Passwort: %s | IP: %s)", sendername, et, password, ip);
}
if(strlen(string) != 0){print(string), format(string, sizeof(string), "");}
SaveLog("Rcon-Logins", string);
return 1;
}
stock isPlayerAnAdmin(playerid,rank)return (GetPVarInt(playerid,"Adminlevel")>=rank) ? 1 : 0;
STOCK isPlayerAnAdmin(playerid,rank)return (GetPVarInt(playerid,"Adminlevel")>=rank) ? 1 : 0;
zu
STOCK isPlayerAnAdmin(playerid,rank){if(GetPVarInt(playerid,"Adminlevel")>=rank)return 1; return 0;}
Es steht immernoch nichts in den Logs...
und Ingame auch nicht.....
Liegt es vllt daran das du Ingame Administrator bist, zeig mal die Funktion isplayeradmin
public OnRconLoginAttempt(ip[], password[], success)
{
new pIP[16], sendername[24], string[128], et[17];
for(new i;i<GetMaxPlayers();i++){
if(isPlayerAnAdmin(i,1))return 1;
GetPlayerName(i, sendername, 24), GetPlayerIp(i, pIP, 16);
if(success)et = "erfolg"; else et = "kein erfolg";
format(string, sizeof(string), "[RCON - WARNING]: %s wurde versuchte sich unerlaubt in der Konsole anzumelden. (Status: %s | Benutztes Passwort: %s | IP: %s)", sendername, et, password, ip);
}
if(strlen(string) != 0){print(string), format(string, sizeof(string), "");}
return 1;
}
Habe dir mal einen kleinen Code gebastelt!