if(!strcmp(cmdtext,"/flip",true)) {
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xFF0000AA,"Du bist nicht in einem Auto!");
new Float:angle, Float:x,Float:y,Float:z, currentveh = GetPlayerVehicleID(playerid);
GetVehicleZAngle(currentveh, angle);
SetVehicleZAngle(currentveh, angle);
GetVehiclePos(currentveh,x,y,z); // Sinn?
SetVehiclePos(currentveh, x,y,z); //Sinn?
return SendClientMessage(playerid,ROT,"{FFFF00}*SERVER: Fahrzeug geflippt!");//flip
}
Die mit "// Sinn?" gekennzeichneten Zeilen können entfernt werden, da das Auto schon durch das Setzen von der Angle "geflipt"/umgedreht wird.
Beiträge von Klemmlampe
-
-
Das ! ist da schon richtig, wenn der Spieler NICHT (Not-Operator !) in einem Fahrzeug ist, beende die Funktion.
new currentveh;
if(IsPlayerInVehicle(playerid,currentveh))
Kann 1. nicht funktionieren, da currentveh=0 ist (Initiationswert) und 2. ist es sinnlos, da durch IsPlayerInAnyVehicle überprüft wird, ob der Spieler in einem Fahrzeug ist. -
Eben den Test nochmal mit 100.000.000 durchgeführt und das ist das Ergebnis:
Wenn sich nun schon bei 4 Durchgängen ein solch riesiger Unterschied aufzeigt, wird sich das mit mehr Durchläufen nicht ändern. Interessant zu wissen wäre allerdings, wie sich viel Code innerhalb eines Ternaries und einer normalen Abfrage verhält, da beim Test nur eine Variable geändert wurde. -
-
Wenn die Moderatoren "besseres" zu tun haben, sollen sie doch bitte keine Moderatoren sein. Es ist ihre Aufgabe, sich um das Forum zu kümmern und es zu "bewachen", natürlich nicht rund um die Uhr, das verlangt aber auch niemand.
Sie wollen auch mal spielen? Warum sollten sie das nicht können, ist hier doch kein Vollzeitjob.
-
Ich würde mal behaupten, dass teststring1 und teststring2 zu klein sind, denn false hat 5 Zeichen, doch die Arraygröße für Strings ist immer Länge+1 (Identifier), das selbe gilt bei true.
-
Wie ich bereits im IRC sagte, werden Ternary-Abfragen gerne auch als Inline-Abfragen (Inline-IF) bezeichnet und genau das ist ihr Sinn und größter Vorteil.
// Ternary sinnvoll
new bool:test;
SendClientMessage(playerid, Farbe, (test) ? ("true") : ("false")); // Sendet true an den Spieler, wenn test wahr ist, andernfalls false
Für größere Abfragen, wie bereits von BlackAce und BloodyEric erwähnt, lohnt sich ein Ternary nicht mehr, da er wie eine normale Abfrage agiert. -
! ist verneint (== 0/false), also zwei Möglichkeiten:
// 1. Möglichkeit
if(!IsPlayerAdmin(playerid)) return 1; // Beendet die Funktion (OnPlayerCommandText), alternativ kann eine eine Funktion, z.B. SendClientMessage returnt werden
/*
Code
*/
// 2. Möglichkeit
if(IsPlayerAdmin(playerid)) {
/*
Code
*/
}
return 1; -
Absolut sicher, wenn du jemanden von einem fremden Webspace Zugriff auf deine Datenbank gewährst. Eine Möglichkeit wäre aber eine kleine API zu schreiben, die du über PHP aufrufen kannst, wie diese genau aussieht solltest du dir passend zum Script überlegen. Außerdem ist die Implementierung wichtig, denn wenn man dein System ganz leicht ausbauen/außer Kraft setzen (Nullen) kann, hat es keinen Sinn mehr.
-
Du solltest dir eventuell mal die EDV-Größeneinheiten anschauen.
-
StopAudioStreamForPlayer und PlayAudioStreamForPlayer sind Funktionen, die erst seit 0.3d implementiert sind, also einfach mal das aktuelle Serverpaket von sa-mp.com laden, das sollte doch echt Grundlage sein, immer mit aktuellen Includes und Serverfiles zu hantieren und nicht mit einer veralteten Version. Entschuldigt, aber keinerlei Verständnis, für jene deren Gehirn zu klein für diesen Schritt ist.
-
Zitat
DropMoney(playerid);
- Erstellt das Geld PickupDropWeapon(playerid);
- Erstellt das Waffen Pickup
Das Pickup muss erstellt werden, sobald ein Spieler stirbt. Stichwort: OnPlayerDeath. -
Mein Ansatz wäre folgender: Wenn Angle (Rotation) des Spielers weniger als 10 von dem des Autos abweicht und die des Autos annähernd 180 (größer als 170 / kleiner als 190) ist, dann ist es wahr (1) ansonsten falsch (0).
http://deadinat0r.tk/uploads/skizze6109499.png
stock isPlayerAtTrunk(playerid, vehicleid) {
new Float:rotation[2];
GetVehicleZAngle(vehicleid, rotation[0]);
GetPlayerFacingAngle(playerid, rotation[1]);if(rotation[0] >= 170 && rotation[0] <= 190 && floatadd(roatation[1], 10) >= rotation[0] || floatsub(roatation[1], 10) <= rotation[0]) return 1;
return 0;
}Ein anderer Interessanter Ansatz wäre dieser.
-
ich Trag ne Graue Hose ein Rosa hemd und K1x Schuhe ja und das schon 3 Jahre
Na hoffentlich nicht am Stück.B2T: Mittellang, ähnlich wie BloodyEric.
-
Besorg dir selbst welche.
Lies den Text.
Verarbeitet ihn.
Bemerke, wie sinnlos deine Antwort ist.B2T: Du bekommst sie ohne Rezept, allerdings zahlt dann, ja in manchen Fällen tut sie das tatsächlich, die Krankenkasse nichts. Ich würde einfach mal mit deinen Erziehungsberechtigten hingehen, kann manchmal echt Wunder wirken.
// Edit: @NekoSteamBoy: Das kann der Optiker ebenfalls, der Augenarzt hat im Grunde nichts damit zu tun.
-
Ein sehr simples und schönes Blogsystem wäre Nibbleblog. Einfach mal anschauen, kann man sehr leicht anpassen und verwalten, benötigt keine Datenbank, wenn gewünscht kann aber eine genutzt werden. Sonst gilt: ausprobieren und zufrieden sein.
-
public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid);
playerid = Person die schießt (Schaden verursacht).
damageid = Person die getroffen wird (Schaden erleidet).
amount = Erlittener Schaden.
weponid = ID der Waffe, mit der geschossen wurde.
Gesundheit in diesem Callback auf 100 setzen und noch ein bisschen denken, fertig. -
Da kann nicht viel schief laufen, einfach die Befehle in die Kommandozeile hauen (KDM bei KDE würde ich weg lassen, bei Gnome nur den ersten Befehl unter Custom).
-
RAM kannst du hier im Normalfall außer Acht lassen, da du die GUI nur startest, wenn du sie benötigst, das heißt nur in diesem Zeitraum wird mehr Leistung benötigt, wie viel genau müsstest du googlen (hängt auch von KDE/Gnome/... ab).
-
Du solltest dich für ein GUI entscheiden, dann kannst du dieser Anleitung folgen.