ich habe arenen erstellt . wie mache ich jetzt zb. [spieler ] hat die arena xy betreten
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
new str[126];
new pname[MAX_PLAER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
format(str,sizeof(str),"%s hat die arena xy betreten!",pname);
SendClientMessageToAll(Color,str);
Ist alles aus dem Kopf geschrieben, wie immer nehme ich Keine gewähr für sachen die meinen Kaputten Hirn entsprungen sind... -
InterpolateCameraPos(playerid, 1392.167968, -1706.452514, 101.779556, 1392.057617, -1618.047363, 101.779556, 50000);
InterpolateCameraLookAt(playerid, 1395.913818, -1706.447753, 98.467712, 1395.803466, -1618.042602, 98.467712, 50000);Wie macht man das, dass am ende von dem Flug mit der Camera erst das Dialog kommt?
-
Wie macht man das, dass am ende von dem Flug mit der Camera erst das Dialog kommt?
Mit nen Timer -
Gehts auch i.wie OHNE Timer :)?
-
Gehts auch i.wie OHNE Timer :)?
http://wiki.sa-mp.com/wiki/GetPlayerCameraPos ? Solange abfragen bis die Kamera am gewünschten Punkt ist und dann den Dialog anzeigen ? -
http://wiki.sa-mp.com/wiki/GetPlayerCameraPos ? Solange abfragen bis die Kamera am gewünschten Punkt ist und dann den Dialog anzeigen ?
wtf?
warum dass den, er weiss doch wie lange die Kamera fliegt... wieso soll er nen kleineren Timer nehmen und immer überprüfen? -
wtf?
warum dass den, er weiss doch wie lange die Kamera fliegt... wieso soll er nen kleineren Timer nehmen und immer überprüfen?
weil es dann genauer ist, mit einem Timer bekommt man das sicher nicht so genau hin
Und da Get* Funktionen sowieso so gut wie gar nicht bemerkbar sind.... -
Gehts auch i.wie OHNE Timer :)?
Naja wenn du einmal SetTimerEx nimmst der auch auf die 50000 ist macht das nix aus
Die Reccourcen halten sich da im grünen
@d0.
Das find ich ja eh schlau von dir^^
Klar geht es so aber wie soll man das ohne ein Timer prüfen?
Klar OnPlayerUpdate würd gehen nur da is mein vorschlag das sinnvollste
-
weil es dann genauer ist
Und da Get* Funktionen sowieso so gut wie gar nicht bemerkbar sind....
Es ist aber ein Unterschied ob du nur einen exakten Timer hast oder öfters eine GetFunktion aufrufst, auch wenn die GetFunktion nicht bemerkbar ist. ist dies unsinnige Arbeit für den Server. -
Gibt es eine Funktion mit der man den Stadtteil des Spielers ermitteln kann?
oder eine andere Möglichkeit den genauen Stadtteil einer Koordinate heraus zu finden?
-
(287) : error 001: expected token: ")", but found "{"
Zeile:
{
-
Wen Uhr 1 oder 2 ist soll das ausgeführt werden.
aber habe leider einen Fehler drinne
if((PlayerInfo[playerid][Uhr]== 1)||(PlayerInfo[playerid][Uhr]== 2));
-
if( PlayerInfo[playerid][Uhr]== 1 || PlayerInfo[playerid][Uhr]== 2 )
{
//hier
} -
Okay Danke,
noch eine Frage.
Wie kann ich in meinen Stats mein AKTUELLES Geld was ist auf der Hand habe abfragen ?
im moment habe ich das so da wird mir aber nur der Betrag angezeigt den ich beim Einloggen hatte.format(Zeile3 ,sizeof(Zeile3),"-Geld: %d", PlayerInfo[playerid][Geld]);
Muss ich wieder ein Timer machen, wenn ja was muss ich Aktualisieren lassen? -
MIt welcher Funktion macht man ein Auto "unwegschiebbar"?
- Tom
-
new Handbremse[vehicleid];
Nun machst du einen Befehl wo du dann die Variable (Handbremse[vehicleid]) auf 1 stellst.
Dann lässt du die Position von dem Fahrzeug zwischen speichern mit GetPlayerPos(playerid,..) dann lässt du diese in einer Variable zwischen speichern.
So, dann machst du in einem Timer eine Abfrage ob die Variable (Handbremse[vehicleid]) gleich eins ist, wenn Ja dann machst du ne Abfrage (IsVehicleInRangeOfPoint).
Und wenn die Position nicht die Position hat, die du zwischen gespeichert hast, dann lässt du das Fahrzeug wieder dort hin porten
stock IsVehicleInRangeOfPoint(vehicleid,Float:radi,Float:x,Float:y,Float:z)
{
if(IsValidVehicle(vehicleid))
{
new Float:oldposx,Float:oldposy,Float:oldposz,Float:tempposx,Float:tempposy,Float:tempposz;
GetVehiclePos(vehicleid,oldposx,oldposy,oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
if(((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
return 0;
}
return 1;
}/edit Damit du die Funktion 'IsValidVehicle(vehicleid)' verwenden kannst musst du das oben im Script deklarieren: native IsValidVehicle(vehicleid);
-
Ok danke.
Ich hab noch eine Frage:
Wenn ich jetzt ein Fraktionsautohaus habe muss das ja dynamisch gehen das es die Autos speichert ohne das es sie ins Script einfügt weil das geht ja nicht.
Also muss ich sie via MySQL speichern und immer abrufen und erstellen lassen übers Script, mit den Infos aus der DB oder ?- Tom
-
Ja für Fahrzeuge ist meiner Meinung nach die Lösung über SQL die eleganteste.
Du speicherst die Autos in der Datenbank und ließt sie beim Laden des GM aus. Zwischendurch kannst du dann alle mal Update, damit dir durch nen Crash keine Daten verloren gehen.
Wenn du ein Auto im Script hinzufügst, schreibst du das in die Datenbank. -
= - gleich
falsch == ist gleich
