Soo ich hatte eine ganz neue Idee für den Textdraw: Aber jetz mach ich ma die Kauf-Funktion
Sollte in ~30min fertig sein
Soo ich hatte eine ganz neue Idee für den Textdraw: Aber jetz mach ich ma die Kauf-Funktion
Sollte in ~30min fertig sein
Das Autohaus ist ja auch noch nicht fertig, aber es wird heute abend kommen
Soo nun sieht der Textdraw so aus:
Alle Funktionen funktionieren soweit...
Es fehlt nurnoch die Kauffunktion, die dank "CreateNewVehicle" nicht schwer sein wird
Ich habs nur allein getestet ^^, da musst dich mal ein bisschen mit spielen.
/edit: Update kommt gleich.. Es ist recht klein.
Changelog:
Fixed Bug, der verhinderte, dass die Kamera das Ziel erreicht (Trat auf, wenn die Coords genau dem Ziel entsprachen)
Funktion geaddet, da GetPlayerCameraPos nicht meinen Erwartungen nach die Position von "SetPlayerCameraPos" zurückgab:
MovePlayerCameraEx(playerid,Float:startx,Float:starty,Float:startz,Float:destx,Float:desty,Float:destz,Float:lookx,Float:looky,Float:lookz,Float:speed);
Soo das Autohaus kommt bald...
Hier mal eine Vorschau:
Autos adden:
new OwnerVehicleInfo[][OwnerCarInfo] = { // Adde neue Fahrzeuge hier, Aufbau: {AUTOMODEL,PREIS}
{423,54},
{411,544},
{420,86019},
{560,1235}
};
Autohaus aktivieren:
#define AUTOHAUS
Um das Autohaus mit animierter Kamera zu betreiben, benötigt ihr auch mein "MovePlayerCamera" Include.
Feedback sowie Vorschläge erwünscht
Kommen i-welche Warnings? Z.B. "warning 225: unreachable code"?
Ne wir meinen nicht soetwas sondern das die waffen richtig schießen und nicht nur Animiert werden sry
Du hast an deinem Fahrzeug nichts anderes als ein Objekt. Es sieht im eigentlichen Sinne nur aus wie eine Waffe, hat aber ansich keinerlei Funktionen, da es einfach nur eine TXD+DFF ist, also ein Objekt...
Im Showroom MUSS ein Pastebin, sowie generell überhaupt ein Downloadlink beiliegen
Aber in naher Zeit eher:
So aber jetzt funktioniert es endlich recht stabil und akkurat (v 1.1.0)
Feedback sowie Vorschläge wie immer erwünscht
Ok, nun wird der Timer wieder bei MovePlayerCamera gestartet
/edit Grammatik
Moinsen Breadfish,
Wie es die Überschrift bereist verrät, gibt es heute von mir mal ein Include, und zwar kann dieses (vgl. MoveObject) eure Kameraposition "herumfahren" lassen. Allerdings ist die Funktion äußerst ressourcenlastig, also sparsam verwenden.
Funktionen:
MovePlayerCameraEx(playerid,Float:startx,Float:starty,Float:startz,Float:destx,Float:desty,Float:destz,Float:lookx,Float:looky,Float:lookz,Float:speed); // Since 1.1.5
MovePlayerCamera(playerid,Float:destx,Float:desty,Float:destz,Float:lookx,Float:looky,Float:lookz,Float:speed);
PauseCameraMoving(playerid); // Returnt 1 bei Erfolg, andernfalls 0
ContinueCameraMoving(playerid); // Returnt 1 bei Erfolg, andernfalls 0
IsCameraMoving(playerid);
//-----MovePlayerCamera ist wiefolgt aufgebaut:
playerid // Der Spieler, dessen Kamera sich bewegen soll
destx // Destination X, also die Zielkoordinate X
desty // Destination Y, also die Zielkoordinate Y
destz // Destination Z, also die Zielkoordinate Z
lookx // Die Koordinate X, auf die während der Bewegung geschaut werden soll
looky // Die Koordinate Y, auf die während der Bewegung geschaut werden soll
lookz // Die Koordinate Z, auf die während der Bewegung geschaut werden soll
speed // Die Geschwindigkeit eben
//------Callbacks-------
OnCameraMoveFinish(playerid)
OnCameraMovePause(playerid)
OnCameraMoveContinue(playerid)
Beispiel:
/* SA-MP Cameramoving Testscript
*
* (c) Copyright 20011-2012, RealGamer
*
*/
#include <a_samp>
#include <CameraMoving>
#define COLOR_GREEN 0x33AA33AA
public OnPlayerConnect(playerid)
{
SendClientMessage(playerid,COLOR_GREEN,"Testscript für MovePlayerCamera");
}
public OnPlayerCommandText(playerid,cmdtext[])
{
if(!strcmp("/pause",cmdtext,true))
{
PauseCameraMoving(playerid);
return 1;
}
if(!strcmp("/cont",cmdtext,true))
{
ContinueCameraMoving(playerid);
return 1;
}
if(!strcmp("/start",cmdtext,true))
{
SendClientMessage(playerid,COLOR_GREEN,"Starte Bewegung der Kamera!");
SetPlayerCameraPos(playerid, 320.0, 50.0, 410.0);
SetPlayerCameraLookAt(playerid, 324.34, 54.122, 173.35);
MovePlayerCamera(playerid,-750.0,-720.0,410.0,0.0,0.0,0.0,5.0);
return 1;
}
if(!strcmp("/startex",cmdtext,true))
{
SendClientMessage(playerid,COLOR_GREEN,"Starte Bewegung der Kamera!");
MovePlayerCameraEx(playerid,320.0, 50.0, 410.0,-750.0,-720.0,410.0,0.0,0.0,0.0,5.0);
return 1;
}
return 0;
}
public OnCameraMoveFinish(playerid)
{
SendClientMessage(playerid,COLOR_GREEN,"Fertig!");
}
public OnCameraMovePause(playerid)
{
SendClientMessage(playerid,COLOR_GREEN,"Pausiere");
}
public OnCameraMoveContinue(playerid)
{
SendClientMessage(playerid,COLOR_GREEN,"Setze fort");
}
Installation:
Platziert die eben heruntergeladene Datei "CameraMoving" in eurem
PAWNO/includes Ordner.
Am Anfang des Scriptes schreibt ihr: #include <CameraMoving>
Vorschläge?
Postet sie einfach hier im Thread
Probleme?
Support über PN&Thread
Edit's:
1. Informationen verbessert
2. Version 1.0.1
3. Anwendungsbeispiel integriert
4. Anwendugsbeispiel um "OnMoveFinish" erweitert
5. 1.0.2
6. 5.
7. v 1.1.0
8. v 1.1.5
9. v 1.2.0
Changelog:
Es wird nun nurnoch 1 Timer gestzt (Bei OnPlayerConnect
Und eben bei OnPlayerDisconnect gekillt)
Bug gefixt, der mehrfache Timer startete(v 1.1.0)
Bug gefixt, der "Stay within the world Boundries" sowie "loading..." Bildschirm verursachte(v 1.1.0)
Fixed Bug, der verhinderte, dass die Kamera das Ziel erreicht (Trat auf, wenn die Coords genau dem Ziel entsprachen)(v 1.1.5)
Funktion geaddet, da GetPlayerCameraPos nicht meinen Erwartungen nach die Position von "SetPlayerCameraPos" zurückgab(v 1.1.5)
Download:
PasteBin
Oder Anhang
Ty :], in der nächsten Version wird ein Autohaus mit enthalten sein, das man auch ausschalten werden kann (Ist das deutsch?)
Weitere Vorschläge und Feedback ist durchaus erwünscht
Soo, ich habe die Tuningspeicherung eben fertig gestellt (hat länger gedauert, als erwartet O.o)
Links updated
JackPot, im Edit steht doch, dass das Update bereits draußen ist
/edit: Update 1.1.6 draußen, diese Version fixxt mehrere Bugs und ist um 122 Zeilen kürzer geworden (Erhöhung der Performance)
new string[64];
format(string,sizeof(string),"Script Version %d", Version, playerid);
SendClientMessage(playerid, COLOR_RED, string);
%d= Integer
Für deinen Fall brauchst du aber %s (String)
->
new string[64];
format(string,sizeof(string),"Script Version %s", Version);
SendClientMessage(playerid, COLOR_RED, string);
/noooc ist der Befehl im Standart-GF
Du musst ein "return 1;" am Ende des Befehls setzen, da ansonsten der Code weiterläuft.