Es gibt doch extra eine Funktion um den Waffennamen herauszukriegen: GetWeaponName(weaponid) (http://wiki.sa-mp.com/wiki/GetWeaponName)
Jetzt brauchst du nurnoch einen String um das Gekramse anzeigen zu lassen
Beiträge von FACE
-
-
Das wäre eine Herangehensweise die jedoch nicht sonderlich zum Ziel beiträgt. Der Threadsteller möchte ja eine Beschleunigung des Fahrzeuges nach "vorne" hervorrufen.
(Anbei ist es nicht die Geschwindigkeit, sondern die Verschiebung des Fahrzeuges auf der Karte. Dabei kann das Fahrzeug auch auf einem Zug stehen (zum Transport)). -
Du kannst das Objekt fix an das Fahrzeug heften. Mit fix meine ich, dass es statisch "fest" daran hängt.
Die zugehörige Funktion lautet AttachObjectToVehicle (http://wiki.sa-mp.com/wiki/AttachObjectToVehicle)Bitteschön
-
Ihr müsst dafür die Verschiebung des Fahrzeuges auf der Karte auslesen (Velocity)
und das Fahrzeug in der Richtung nach vorne beschleunigen.Die Funktion SetVehicleVelocity, sowie die Funktion SetVehicleAngularVelocity (wie auch die zugehörigen Get.. Funktionen sollten euch dabei behiflich sein)
Ein kleines Beispiel wird auf der Sa-mp Wiki Page für einen "Jump" dargeboten:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strcmp("/carjump", cmdtext))
{
if(IsPlayerInAnyVehicle(playerid))
SetVehicleVelocity(GetPlayerVehicleID(playerid), 0.0, 0.0, 0.2);
return 1;
}
} -
Die Funktion "SetPlayerMarkerForPlayer" in Verbindung mit einer Schleife sollte dir wohl bei deinem Problem behiflich sein.
(Quelle: http://wiki.sa-mp.com/wiki/SetPlayerMarkerForPlayer )
Die Syntax ist folgende:
Es gibt auch eine dazugehörige "HidePlayerMarkerForPlayer" - Funktion mit der gleichen Syntax.Hoffe das sollte dir helfen
-
Frage am Rande: "Was ist eine Dune???
(Das Fahrzeug "Dune" kenne ich ja, aber das ist vom Geschlecht her männlich. Und eine Düne, vom Strand o.Ä., kenne ich auch.) -
Du versuchst dem Compiler einen String (Sname[MAX_PLAYER_NAME), als Integer zu verkaufen (oder als sonstwas), indem du ihm einen Parameter gibst, den er garnicht kennt.
Versuchs mal so:
...
new Sname[24];//Zur verdeutlichung, dass es sich hier um einen ganz normalen String handelt, setzen wir einfach mal eine Zahl ein =)
GetPlayerName(clickedplayerid,Sname,sizeof(Sname));//Name auslesen
format(bla, sizeof(bla), "====================================");//Zwischenmessage
format(ClickText, sizeof(ClickText), "Name: %s", Sname);//Es ist nur ein ganz normaler String, behandele ihn auch wie einen solchen.. (String formattieren)
... -
Bitte???
OnPlayerUpdate wird jedesmal aufgerufen, wenn ein Paketaustausch von Spieler zu Server (or <->) passiert.
Du müsstest also auch jedesmal abchecken, ob ein Spieler in einem Fahrzeug sitzt, wenn ja, dann noch ob das Fahrzeug zu wenig Health hat.
Ein Timer wäre hier wohl deutlich angebrachter.. -
Du musst den String auch an der passenden Stelle definieren.
Global oder halt Lokal.
Global wäre in diesem Fall funktionsübergreifend, lokal nur auf diese eine Funktion bezogen.(Ich tippe hier stark auf lokal).
Daher solltest du den String direkt in der Funktion definieren:
new string[256];
format(string,.........);
... -
Hey, als Musiker kommst du fast nicht drumrum..
Kannst lediglich wählen zwischen: Alk, Kippen (oder sonstwas), oder beidem -
"string" ist nicht definiert...
Folglich am besten vorher einfach mal neu definieren: new str[132];//Länge kannst du ja variierenBtw: sehr informativ D4rkZer0
-
Ähnlich wie Eliot Ness
Bei mir kams durch ne gute Freundin.
(Aber wenn, dann immer schön die roten Marlboro) -
-
-
-
Ich verstehe dein Problem nicht...
Du willst das Wetter ändern? Dann tu das doch einfach: http://wiki.sa-mp.com/wiki/SetWeatherWenn du wissen möchtest, welche WetterID aktuell ist, dann musst du das Wetter am Anfang (ServerStart/Gamemode-Start) initialisieren und die ID in einer Variable speichern.
Anbei: Warum erstellst du oben strings und einen Integer, wenn du die nur in dem "else"-Fall benötigst??
Baue es doch bitte erstmal so um:
...
else
{
new Weather, aname[MAX_PLAYER_NAME];
new string[128], string2[128];
if(sscanf(params,"ud"))
GetPlayerName(playerid,aname,sizeof(aname));
format(string,sizeof(string),"Du hast das Wetter geändert");
SendClientMessage(playerid,Rot,string);
format(string2,sizeof(string2),"Admin %s hat das Wetter geändert",aname);
SendClientMessageToAll(HellBlau,string2);
SetWeather(Weather);
return 1;
}
... -
Ich würde dir vorschlagen, erstmal mit einem einfachen DM-Mode anzufangen.
Schau dir dazu am besten mal das "lvdm" script, welches standartmäßig im Gamemodes Ordner lieg, an und versuche den Code nachzuvollziehen.
Du wirst schnell merken, wie man ein paar Autos hinzufügen kann, wie man ein paar Befehle einfügen kann etc...Lese dir ein paar Tutorials durch und sieh dich mal im Sa-mp Wikipedia um, dort findest du massig Funktionen und Hilfen.
(Alles schön soft, peu à peu...)Im Nu wird das nicht zu schaffen sein, aber in der Ruhe liegt die Kraft.
-
GivePlayerMoney ist doch eigentlich ne super sache.
Ich hab die Funktion etwas abgeändert und speichere dazu das noch in einer Variable mit.
Sollte jemand nun versuchen zu hacken oder cheaten, so kommt das gleich raus -
Tom:
Es geht nicht um Spannungsspitzen. Es geht um die allgemeine Wandlung von Wechsel- zu Gleichstrom.
Hinzu kommen noch Impedanz-Schwächen "billiger" Netzteile oder Trafo-Brummen.
Vielen Problemen geht man daher oft schon mit dem Kauf eines guten Netzteiles aus dem Weg.
(Strom ist nicht gleich Strom !) -
Ich schreib es trotzdem nochmal, damit auch der Rest weiß, "wieso,weshalb und warum"..
( http://wiki.sa-mp.com/wiki/While#return )ZitatReturn breaks out a function and can return data to the calling function..
Folglich kein Return, sonst gehts ja nicht weiter