Ist davon evtl irgendwas ein Float? ![]()
Beiträge von Kaliber
-
-
kennt jemand eine Sound ID wo ein Alarm abspielt oder so etwas was sich ähnl. anhört ?
Versuchs mal mit 1142mfg.

-
Ich brauche hilfe bei meinem MD5 Verschlüsseln
Bevor du mit so einem System anfängst, will ich dir nur kurz sagen, lass es mit MD5 zu machen!Wenn du schon verschlüsselst, dann ein bisschen besser, z.B. mit Whirlpool!
Wieso nicht mit MD5?
Ganz einfach, aus dem Grund, weil es einfach so viele Datenbanken inzwischen gibt, die dir einen decrypteten Hash geben.Nehmen wir einfach mal ein Beispiel, ich gebe dir diesen Hash:
So, du musst jetzt nichts weiteres tun und auf diese Seite gehen (da gibt es aber noch viel viel mehr von):
http://www.md5decrypt.org/Meinen Hash links einfügen und dann auf den dicken Decrypt button klicken

Aus diesem Grund entweder Hash es öfters und pack einen Pepper mit rein, sonst lass es und nutz etwas anderes

mfg.

-
Wie nennt man diese divcontainer
Wüsste jetzt nicht, dass die einen speziellen Namen haben, das sind einfach Fixe Bereiche...mfg.

-
Gibt bestimmt nen Befehl um CJ auch im Mutliplayer "muskulöser" zumachen.
Nein, das sagte ich doch bereits, dafür gibt es keine Funktion.mfg.

-
jedoch ist es überhaupt möglich sich zu "trainieren" wie man es im Singleplayer kann?
Was meinst du damit?
Das aussehen etc kannst du damit nicht verändern, nein.
mfg.

-
Selbst dein erster Versuch ist noch langsamer
Ja sehe es auch gerade, halt einfach weil ich das nirgends Zwischenspeicher, sondern immer wieder neu berechne...Nun, das hier ist dann schon echt die schnellste Version:
stock Float:CalcDifference(Float:v1,Float:v2) {
new Float:calc = floatabs(v1-v2);
return (calc > 180.0) ? floatabs(calc-360.0) : calc;
}Und ich sag mal so, für 10.000 Durchläufe, braucht die Funktion 4ms...das ist schnell genug

mfg.

-
Weil ich die Differen der beiden Zahlen berechnen möchte.
Da ich weiß, dass ein Kreis 360° hat, kann ich nie mehr als 180° von einem Punkt entfernt sein.Stells dir vor wie in einem Karusell, wo ich an der Umrisslinie entlang zu einem anderen Punkt auf der Umrisslinie laufen muss.
Egal wo der ist.. der Weg von meinem Punkt (bzw. meiner Gradanzahl) zu dem anderen (bzw. zu der Gradanzahl) kann nicht
größer als 180 sein.
Ja...habs an deinem Beispiel schon gesehen, schau dir den Code an:#define f_Get(%0,%1) ((%0-%1) < 0 ? (%0-%1)*-1.0 : (%0-%1))
#define CalcDifference(%0,%1) (f_Get(%0,%1) > 180) ? f_Get(f_Get(%0,%1),360.0) : f_Get(%0,%1)mfg.

-
//Edit: Achso jetzt weiß ich was du meinst

Hier, schreibs mal so, dann geht es am schnellsten:
#define f_Get(%0,%1) ((%0-%1) < 0 ? (%0-%1)*-1.0 : (%0-%1))
#define CalcDifference(%0,%1) (f_Get(%0,%1) > 180) ? f_Get(f_Get(%0,%1),360.0) : f_Get(%0,%1)mfg.

-
Da hast du wohl ein Denkfehler drin.
Eh nein?
Achso, grad gesehen du hast ja bei beiden den absoluten Wert...dann schreibs so:
#define CalcDifference(%0,%1) ((%0-%1) > 180) ? floatabs((%0-%1) - 360.0) : floatabs(%0-%1)
mfg.

-
Könntest du mir noch erklären, was genau der Code macht?
Er macht genau das, was deine Funktion auch macht
Das mit ? und : ist der sog ternary Operator, das ist nichts anderes als eine if und else abfrage.
new test = 5;
if(test == 5) print("Test ist 5!");
else print("Test ist nicht 5!");//Und das kann man halt auch anders darstellen
new test = 5;print((test == 5) ? ("Test ist 5!") : ("Test ist nicht 5!"));
Er ist halt kürzer und schneller

mfg.

//Edit: Damit der Code auch funtkioniert

-
Vielleicht kann mir ein "Profi" das bestätigen bzw. sagen ob das funktionieren würde.
Das Makro was du geschrieben hast, würde nicht den Sinn und Zweck erfüllen, den er haben möchte
CalDifference würde bei dir mit der if Abfrage und dem Return ersetzt werden, aber er will ja den Wert haben und nicht das return bzw die if-Abfrage...
Also so könnte er es machen:
#define CalcDifference(%0,%1) ((%0-%1) > 180) ? floatabs((%0-%1) - 360.0) : (%0-%1)
mfg.

-
Natürlich

mfg.

-
Schreibs mal so:
#define DIALOG_ADMINS 5 //5 Anpassen das ist die Dialogid für den Callback OnDialogResponseocmd:admins(playerid,params[]) {
new string[64];
for(new i=0,l = GetMaxPlayers(); i<l; i++) if(IsPlayerConnected(i) && SpielerInfo[i][Adminlevel] > 1) format(string,sizeof(string),"%s%s - %s\n",string,SpielerName(i),AdmRang(i));
return ShowPlayerDialog(playerid,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX,"Admins",string,"0K","");
}stock AdmRang(i) //Die Funktion halt anpassen!^^
{
new buffer[32];
switch(i) {
case 1: strcat(buffer,"Moderator");
case 2: strcat(buffer,"Administrator");
}
return buffer;
}mfg.

-
dann macht er ganichts und zeigt nur den ganzen text an ohne <br>
Oh, probiers mal so:mfg.

-
Kann das wer machen?
Joa, warum nicht, hab grad eh nichts zu tun.Wie funktioniert das Filterscript?
/create3D = Du erstellst ein 3D TextLabel mit dem gewünschten Text (per Dialog), an der Position wo du gerade bist.
/update3D = Du Updatest den 3D Text, an der Position wo du gerade bist.
/delete3D oder /destroy3D = Du löscht den 3D Text, an der Position wo du gerade bist.Es wird alles gespeichert, über SQL (du musst nichts machen, das wird alles automatisch erzeugt und in den scriptfiles abgelegt).
Download:
Source-Code: Pastebin
Direkt-Download (pwn): Mediafire
Direkt-Download (amx): Mediafiremfg.

//Edit: Links
-
ch habe ein kleines Problem. Undzwar zeigt es mir das Heal von anderen Spielern nicht an.
Mal evtl darüber nachgedacht, dass das von dem Script/er absicht ist?
Das kann man nämlich übers Script deaktivieren (z.B. mit DisableNameTagLOS)
mfg.

-
1. Schreib mal OnPlayerConnect so (512 Zellen für eine IP die maximal 16 Zellen benötigt..ist bisschen übertrieben..)
Spoiler anzeigen public OnPlayerConnect(playerid)
{
new pname[MAX_PLAYER_NAME], string[22 + MAX_PLAYER_NAME], Spielerdatei[14 + MAX_PLAYER_NAME],IP[16],iptext[305];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "{65FF5B}%s {FFFFFF}ist dem Server beigetreten.",pname);
SendClientMessageToAll(-1,string),GetPlayerIp(playerid,IP,16);
format(Spielerdatei,sizeof(Spielerdatei),"/Spieler/%s.txt",pname);
if(fexist(Spielerdatei)) {
format(iptext,sizeof(iptext),"{FFFFFF}Dein Account wurde in der Datenbank gefunden.\n{FF0000}Supporter & Admins, werden nie nach deinem Passwort fragen!\n\n{09E565}IP-Adresse: %s\n{FFFFFF}Du kannst dich mit deinem Passwort hier Einloggen:",IP);
ShowPlayerDialog(playerid,DIALOG_LOGIN,3,"DeltaOne Deathmatch Login",iptext,"Login","Abbrechen");
} else {
format(iptext,sizeof(iptext),"{FFFFFF}Herzlich Wilkommen auf dem Deutschen Deathmatch Server: \n{5BFF00}DeltaOne Deathmatch\n{FFFFFF}\nDein Account wurde in der Datenbank {FF0000}nicht gefunden{FFFFFF}!\n\n{0089FF}IP-Adresse: {00FF00}%s\n{FFFFFF}Lege dir einen {00FF00}neuen Account an {FFFFFF}und gebe {00FF00}dein Passwort hier ein:",IP);
ShowPlayerDialog(playerid,DIALOG_REGISTER,1,"DeltaOne Deathmatch Registration",iptext,"Anmelden","Abbrechen");
}
SetPVarInt(playerid,"Duellieren",0);
SetPVarInt(playerid,"DeagleDuel",0);
SetPVarInt(playerid,"MP5Duel",0);
SetPVarInt(playerid,"AK47Duel",0);
SetPVarInt(playerid,"M4A1Duel",0);
SetPVarInt(playerid,"MinigunDuel",0);
SetPVarInt(playerid,"MolotovDuel",0);
SetPVarInt(playerid,"DurbyArena",0);
SetPVarInt(playerid,"DurbyArena2",0);
SetPVarInt(playerid,"DurbyArena3",0);
SetPVarInt(playerid,"Killstreak",0);
SetPVarInt(playerid, "LastHP", 0);
SetPVarInt(playerid, "LastHP1", 0);
SetPVarInt(playerid, "last_anim", 0);
Desktop_Check[playerid] = 0;
Desktop_Timer_Started[playerid] = 0;
Desktop_Status[playerid] = 0;
PlayerPressedJump[playerid] = 0;
return 1;
}2. Downloade dir mal dieses Plugin: http://forum.sa-mp.com/showthread.php?t=262796 und zeig uns mal was im log steht.
mfg.

-
Hast du den Text ganz gelesen?
Ja, aber anders ist das (momentan) nicht möglich und ich wollte dir eine Alternative bieten.
mfg.

-
Ja das abspeichern ist ja schon möglich. Jetzt müsste man nur noch einen weg finden das er dies auch abläuft.
Du könntest das per NPC lösen, du läufst die Strecke ab, dabei speichert er eine .rec Datei, dann lässt du diese abspielen und ein Bot würde diese Strecke laufen, verpass dem Bot den selben Skin wie dem Spieler und attach die Kamera an den Bot (am besten mit http://wiki.sa-mp.com/wiki/TogglePlayerSpectating), dann sieht es so aus, als ob der Spieler den Weg zurück läuft.mfg.
