Du musst die Position des Spielers abfragen.
Ups kleiner Flüchtigkeitsfehler, danke
Du musst die Position des Spielers abfragen.
Ups kleiner Flüchtigkeitsfehler, danke
Also sagen wir mal ich möchte wenn ich auf ein Fahrzeug klicke, soll es neben mich gesetzt werden. Funktioniert es dann so ?
Oben im Script:
new slot[MAX_PLAYERS];
Dann:
CMD:mycars(playerid,params[])
{
new carstring[800];
for(new i=0;i<sizeof(cInfo);i++){
if(cInfo[i][id_x]==0)continue;
if(cInfo[i][besitzer]!=sInfo[playerid][id0])continue;
format(carstring,sizeof(carstring),"%s%s\n",carstring,GetVehicleName(cInfo[i][id_x]));
}
ShowPlayerDialog(playerid,80,DIALOG_STYLE_LIST,"Owned cars:",carstring,"Select","Close");
slot[playerid] = GetSlotFromString(carstring);
return 1;
}
if(dialogid==80){
if(response){
new Float:vehX,Float:vehY,Float:vehZ;
SetVehiclePos(cInfo[slot[playerid]][id_x],vehX,vehY+2,vehZ);
}
}
Puuuh mal gucken ob ich das schaffe, habe noch nie die Splitfunktion benutzt
Du nennst eine Integer Variable "Besitzer"...okay
Haha wieso nicht ? Hat funktioniert, wollte halt auch noch machen wenn man es anklickt werden Sachen wie Position des Fahrzeuges angezeigt, nur wie bekomme ich herraus welches Fahrzeug man angeklickt hat ?
Ich vergleiche keine Strings mit einander, sind beides Integers Danke werde den Rest mal probieren
Hey,
ich bin gerade am Grübeln wie ich einen Listendialog machen in dem alle meine Autos aufgelistet sind. Habe auch schon was, aber das funktioniert nicht so wirklich und ich kann mir auch vorstellen wieso. Nur weiß ich nicht wie ich es richtig machen kann
CMD:mycars(playerid,params[])
{
new carstring[800];
for(new i=0;i<sizeof(cInfo);i++){
if(cInfo[i][id_x]==0)continue;
if(cInfo[i][besitzer]!=sInfo[playerid][id0])continue;
format(carstring,sizeof(carstring),"%s\n",GetVehicleName(cInfo[i][id_x]));
}
ShowPlayerDialog(playerid,80,DIALOG_STYLE_LIST,"Owned cars:",carstring,"Select","Close");
return 1;
}
Der String wird halt immer wieder neu formatiert, aber wie mache ich es anders ?
Wenn es generell nicht tut, dann versuch es mal auf einem "leeren" Server (kein Code) zu erstellen, bzw. nutze auch einen TextDraw Editor. Wenn es dann tut, kannst du das Textdraw ja kopieren und einfügen. Falls es nicht tut (auch nicht beim leeren Code) poste bitte den Code.
Hab es auf einem leeren Server getestet, geht leider nicht. Das mit dem Editor probiere ich auch gleich. Könnte mir trotzdem jemand ein gefallen tun und mein Textdraw testen, es könnte ja sein, dass es nur bei mir nicht funktioniert ?
Probiere mal bevor die Spieler das Geld bekommen :
ResetPlayerMoney(playerid);
*edit* Oh sorry mein Fehler, hast du ja schon.
Er wird nur einmal gestartet
Hey,
habe einen Timer für einen Spieler aufgesetzt der sich selber killen soll wenn die Progressbar bei 100% ist, aber dann fängt mein Timer wieder von selber an und killt sich nicht.
public LoadPassengers(playerid)
{
SetPlayerProgressBarValue(playerid,PassengerBar[playerid],GetPlayerProgressBarValue(playerid,PassengerBar[playerid])+10);
UpdatePlayerProgressBar(playerid,PassengerBar[playerid]);
if(GetPlayerProgressBarValue(playerid,PassengerBar[playerid]) >= 100)
{
KillTimer(LoadTimer[playerid]);
SetPlayerProgressBarValue(playerid,PassengerBar[playerid],0);
HidePlayerProgressBar(playerid,PassengerBar[playerid]);
TogglePlayerControllable(playerid,1);
new InfoFormat[250];
format(InfoFormat,sizeof(InfoFormat),"Destination: %s\nDistance: %iM\nRunway altitude: %iFT",missionloc1[playerid],Strecke[playerid],floatround(bDisZ[playerid]));
ShowPlayerDialog(playerid,79,DIALOG_STYLE_MSGBOX,"Flight Information Table",InfoFormat,"Close","");
return 1;
}
return playerid;
}
Du bist dir sicher, dass du nicht die Limits von Textdraws erreicht hast? Wenn ja, poste doch bitte mal ein Beispiel von einem Preview das geht, aus deinem Code. (Steht es vor/nach dem obigen Code?)
Nein, das habe ich längst noch nicht erreicht und es funktioniert leider gar kein Preview.
Daran liegt es leider auch nicht, denn wenn ich die Font des Textdraws auf 5 oder TEXT_DRAW_FONT_MODEL_PREVIEW setze, schließt sich das Textdraw, aber wenn ich es auf z.B. 2 setze wird die Box ganz normal angezeigt.
Nope, die Boxsize ist sozusagen die Lettersize
Hatte ich auch schon probiert
Guck dir am besten mal mein kleines Tutorial an: Gemappte Objekte laden nur auf kurzer Distanz ? Jetzt nicht mehr
Habe leider schon seit längerem das Problem, dass ich keine Preview Textdraws erstellen kann. Immer wenn ich die Textdraw Font auf 5 oder TEXT_DRAW_FONT_MODEL_PREVIEW setze, schließt sich das Textdraw. Im Code dürfte das Problem nicht liegen. Habe schon alles probiert Includes updaten etc. . Gibt es noch etwas spezielles was man bei Previewmodels beachten muss ?
Beispiel :
PilotJob[playerid] = CreatePlayerTextDraw(playerid, 118.952415, 134.193328, "");//usebox
PlayerTextDrawFont(playerid, PilotJob[playerid], 5);
PlayerTextDrawBackgroundColor(playerid,PilotJob[playerid],102);
PlayerTextDrawLetterSize(playerid, PilotJob[playerid], 0.000000, 14.901111);
PlayerTextDrawTextSize(playerid, PilotJob[playerid], 44.857124, 0.000000);
PlayerTextDrawAlignment(playerid, PilotJob[playerid], 1);
PlayerTextDrawColor(playerid, PilotJob[playerid], 0);
PlayerTextDrawUseBox(playerid, PilotJob[playerid], true);
PlayerTextDrawBoxColor(playerid, PilotJob[playerid], 102);
PlayerTextDrawSetShadow(playerid, PilotJob[playerid], 0);
PlayerTextDrawSetOutline(playerid, PilotJob[playerid], 0);
PlayerTextDrawSetSelectable(playerid, PilotJob[playerid], true);
PlayerTextDrawSetPreviewModel(playerid, PilotJob[playerid], 61);
PlayerTextDrawShow(playerid,PilotJob[playerid]);
Super, danke
Hey,
bin immernoch am grübeln wie ich es anstelle, einen zufälligen Checkpoint zu setzen, der aber gleichzeitig mindestens z.B. 10000 Meter von mir entfernt ist. Muss ich das in meinem Fall mit einer Loop machen ?
Hilfe wäre nett
Habe derzeit ein kleines Problem mit meinem Befehl. Man soll mit einem Befehl den Autopilot an und ausschalten können. Also wenn er an ist, geht er mit /autopilot aus. Wenn er aus ist soll er mit /autopilot an gehen. Nur irgendwie ist der Befehl verbuggt. Wenn ich den Befehl eingebe, zeigt es immer beide Nachrichten an und er bleibt aus.
CMD:autopilot(playerid, params[])
{
new APTimer[MAX_PLAYERS];
if(AutoPilotState[playerid] == 0){
APTimer[playerid] = SetTimerEx("AutoPilot",1000,1,"i",playerid);
AutoPilotState[playerid] = 1;
SendClientMessage(playerid,COLOR_GREEN,"You have turned on the auto pilot.");
}
if(AutoPilotState[playerid] == 1){
KillTimer(APTimer[playerid]);
AutoPilotState[playerid] = 0;
SendClientMessage(playerid,COLOR_RED,"You have turned off the auto pilot.");
}
return 1;
}
Was mache ich falsch ?
Hey,
ich habe mal eine Frage. Was ist den genau die Velocity eines Fahrzeuges ? Ich benutze zwar GetVehicleVelocity um die Geschwindigkeit eines Fahrzeuges zu bestimmten, trotzdem kapiere ich diese Funktion nicht ganz. Kann man damit berechnen wo ein Fahrzeug z.B. in einer Sekunde ist wenn es mit einer konstanten Geschwindigkeit weiterfährt ?