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!
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!
Dafür gibt es bestimmte Funktionen ![]()
Einmal mal in der Wiki schauen!
Alles anzeigenHabs jz so gemacht:
forward CheckKey();
public CheckKey()
{
new rows,fields;
cache_get_data(rows,fields,serverdbhandle);
if(rows==1)
{
return SendClientMessageToAll(COLOR_RED,"Test");
}
else
{
return SendClientMessageToAll(COLOR_RED,"Du darfst diesen Befehl nicht ausführen! Grund: Du hast keinen Schlüssel für das Auto!");
}
}
Er gibt das nach else aus, Sperrt das Auto aber trotzdem auf
Aber so ungefähr kannst du das aufbauen, musst es halt nur ein bisschen umschreiben ![]()
Kannst ja das ganze ins Checkkey Callback verschieben!
Definition der Farbe
Print
Editiertes
Alles anzeigenHabs jetzt so gemacht
ocmd:test(playerid,params[])
{
CheckKey();
return 1;
}
{/pwn]
Oder was meinst du?
[quote='CIBERKILLER','index.php?page=Thread&postID=1955585#post1955585'][quote='Nico_98','index.php?page=Thread&postID=1955584#post1955584'][quote='CIBERKILLER','index.php?page=Thread&postID=1955578#post1955578']Du lässt den ausgeführten Query übergeben!
Benutze mal
[pwn]CheckKey()
um das Ergebnis zu bekommen!
Wie meinst du das?
Naja du kannst mit einer Funktion,Callback ein Ergebnis zurückgeben lassen!
Du musst die Fehlermeldung dann in dem Callback CheckKey ausgeben lassen!
Guten Abend,
Mein Name lautet CIBERKILLER.
Und zwar bräuchte ich mal eure Hilfe.
Ich habe einen allgemein Timer erstellt der für Updaten von BotLabel ids da ist!
Also zuerst wird es Geupdatet, nachdem das Callback aufgerufen wird, sieht man das Label nicht mehr!
if(tmp_value >= 14){
Update3DTextLabelText(BotLabel[0], Gelb2, "Sebastian: {FFFFFF}Siehst du nicht das es aktuell keine freien Stühle mehr gibt!?");
SetTimerEx("@UpdateLabel", 2500, false, "iis", 0, Gelb2, "Fahrlehrer: {FFFFFF}Sebastian");
return 1;
}
So lasse ich das ganze starten.
Die Variable BotLabel lasse ich so erstellen!
new Text3D:BotLabel[15];
Das Callback sieht so aus:
@UpdateLabel(botid, color, newtext[]); @UpdateLabel(botid, color, newtext[]){
print("function @UpdateLabel wird ausgefeuhrt!");
Update3DTextLabelText(BotLabel[botid], color, newtext);
}
Mit freundlichen Grüßen,
CIBERKILLER
Wie meinst du das?
Naja du kannst mit einer Funktion,Callback ein Ergebnis zurückgeben lassen!
Du lässt den ausgeführten Query übergeben!
Benutze mal
CheckKey()
um das Ergebnis zu bekommen!
Jeffry, wieso benutzt dazu einen Integer, mit dem Code greifst du ja auf kein Callback zu was etwas übergeben könnte.
Deswegen ist mysql_function_query(dbhandle,query,false,"","i",playerid);
Unötig,
Machs mal so:
mysql_function_query(dbhandle,query,false,"","");
Liest Du Dir irgendwie auch mal meine Posts durch bzw. Deine Logs?! Es steht doch drinnen, wo das Problem ist. Jetzt denk doch mal bitte nach... Wenn Du wüsstest, wie Du mit Deinem Server umgehst, dann wüsstest Du auch, wie Du Dir alle installierten Pakete anzeigen lässt. Das ist beschissene Ausrede für einen Server Administrator.
Der Fehler war ganz simpel, phpmyadmin war aus irgenteinem Grund nicht mehr vorhanden, nun habe ich es neu installiert .php dateien lassen sich nun auch wieder ausführen!
@Danke
Alles anzeigenUnd so etwas schimpft sich heutzutage "Server Administrator"...
Spoiler anzeigen Quelle: lucasbloggt.de
Es steht doch sogar in den Logs drinnen. Hast Du Dir das überhaupt mal angesehen? Ist die Datei vorhanden? Ich fasse es nicht... Ich meine, jeder fängt mal klein an aber man kann sich auch etwas anstellen.
Ich habe sehr viel deinstalliert, ein mal Plesk dann wd imscp...
Ja die Datei ist Vorhanden, wenn es die Endung .html hat, funktioniert ja auch alles.
Aktuell ist das Problem dazu gekommen, das der Apache2 Server nicht mehr Starten möchte!