ZitatUnd das muss ich dann mit SendClientMessage(playerid,GRAU,ip); ausgeben oder wie?
Ja
ZitatUnd das muss ich dann mit SendClientMessage(playerid,GRAU,ip); ausgeben oder wie?
Ja
new ip[16];
GetPlayerIp(playerid, ip, sizeof(ip));
In "ip" ist dann die IP gespeichert.
Zitat
playerid The ID of the player to get the IP of
name[] The string to store the player's IP in, passed by reference
len The maximum size of the IP. (Recommended 16)
http://wiki.sa-mp.com/wiki/GetPlayerIp
Du kannst auch einfach die Suche im Sa-mp Wiki benutzen, dort findest du auch alle Funktionen
Nehmen wir an, du hast das Auftragsgeld in deiner Variable "auftragsgeld" gespeichert, da haben wir jetzt Beispielsweise mal den Wert 1000. Über die Funktion format formatieren wir einen Textstring, wobei das %i für Integer steht, welchen er ja einsetzen soll. Näheres dazu unter http://wiki.sa-mp.com/wiki/Format. Ich gehe jetzt einfach mal davon aus, das du die playerid in der Variable playerid hinterlegt hast.
Das Codebeispiel sähe dann so aus
new text[64];
format(text,sizeof(text),"Auftragskill Kopfgeld: %i $", auftragsgeld);
GameTextForPlayer(playerid, text, 3000, 1);
Am besten schaust du dir auch noch unter http://wiki.sa-mp.com/wiki/GameTextForPlayer an, was die verschiedenen Werte bedeuten bzw. diese bewirken.
Ich hoffe ich konnte dir helfen.
Edit: So richtig funktionierts dann doch nicht Teils registriert er, dass auf das Auto geschaut wird, Teils nicht. Ich hoffe das Kaliber das später nochmal verbessern kann oder evtl. auch jemand anderes.
Ich hab jetzt mal ein bisschen mit deiner Funktion rumgespielt, und es grob hinbekommen das es nur das Auto nimmt. Leider ist das noch ziemlich ungenau, jemand ne Idee wieso ?
stock bool:GetBlick(vehid, playerid) {
new Float:X[9];
const Float:fScale = 5.0;
GetPlayerCameraPos(playerid, X[0], X[1], X[2]);
GetPlayerCameraFrontVector(playerid, X[3], X[4], X[5]);
GetVehiclePos(vehid, X[6], X[7], X[8]);
if(X[0]+floatmul(X[3], fScale) <= X[6]+fScale && X[0]-floatmul(X[3], fScale) >= X[6]+fScale ||
X[1]+floatmul(X[4], fScale) <= X[7]+fScale && X[1]-floatmul(X[4], fScale) >= X[7]+fScale ||
X[2]+floatmul(X[5], fScale) <= X[8]+fScale && X[2]-floatmul(X[5], fScale) >= X[8]+fScale) return true;
return false;
}
Leider gibt deine Funktion jedes mal True zurück. Getestet hab ich das mit folgendem Befehl:
ocmd:vehinsicht(playerid, params[]){if(GetBlick(36, playerid) == true) { SendClientMessage(playerid, COLOR_GREEN, "Auto ist in sicht"); } else { SendClientMessage(playerid, COLOR_RED, "Auto ist nicht in sicht"); }return 1;}
ZitatWenn Vektoren der Position auf die der Spieler schaut +- Autogröße stimmen
Und wie finde ich nun über die Koordinaten von GetPlayerCameraFrontVector() heraus, ob diese stimmen bzw richtig sind ?
Heyho,
ich hänge momentan an folgendem Problem:
Ich mache eine Feuerwehrfraktion. Die Autos brennen 5 Minuten lang und explodieren letztendlich wenn diese nicht gelöscht werden. Soweit funktioniert das auch schon alles. Jedoch weiß ich nicht wie ich registriere, ob der Feuerwehrmann auf das Fahrzeug schaut. Rest ist schon eingebaut, sodass alles gehen sollte. Jedoch ist wie gesagt jetzt die Frage, wie ich überprüfe, ob der Spieler auf das Fahrzeug schaut. GetPlayerTargetPlayer(); hat leider nicht zur erhofften Lösung geholfen.
Ich bitte um Hilfe.
Lg,
S4bi