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
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!
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,"","");