Erhöh mal den Radius von 3.0 auf 10.0.
if(IsPlayerInRangeOfPoint(playerid, 3.0, vPosX, vPosY, vPosZ))
Und mach ne kleine Debug Funktion im Script.
new NearCar = IsPlayerInRangeOfVehicle(playerid);
printf("Carid: %d", NearCar);
Erhöh mal den Radius von 3.0 auf 10.0.
if(IsPlayerInRangeOfPoint(playerid, 3.0, vPosX, vPosY, vPosZ))
Und mach ne kleine Debug Funktion im Script.
new NearCar = IsPlayerInRangeOfVehicle(playerid);
printf("Carid: %d", NearCar);
Sehr gute Idee ! Werde ich sofort mal machen und gleich mal alles aktualisieren
mfg.
//Edit: So man kann nun Tabs nutzen + 2. Tab Script erstellen
Dann sind die Seiten allerdings nebeneinander was bei einem Smartphone kein Vorteil wäre.
Ich würde es so machen das wenn man auf den zweiten Tab klickt das dann auch nur der zweite Tab angezeigt wird das selbe beim ersten Tab.
LG RFT =)
Ist doch kein Wunder wo lässt du die Variable die Fahrzeug ID vom Fahrzeug das in der nähe steht zuweißen ?
Machs so:
stock IsPlayerInRangeOfVehicle(playerid)
{
for(new v; v < MAX_VEHICLES; v++)
{
GetVehiclePos(v, vPosX, vPosY, vPosZ);
if(IsPlayerInRangeOfPoint(playerid, 3.0, vPosX, vPosY, vPosZ))
{
return v;
}
}
return -1;
}
Befehl:
if(strcmp("/tow", cmdtext, true, 10) == 0)
{
if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
{
if(IsTrailerAttachedToVehicle(VehID))
{
DetachTrailerFromVehicle(VehID);
} else {
VehID = IsPlayerInRangeOfVehicle(playerid);
if(VehID != -1)
{
AttachTrailerToVehicle(IsPlayerInRangeOfVehicle(playerid), VehID);
}
else{//befindet sich bei keinem Fahrzeug
}
}
}
}
return 1;
}
Meine Idee zu dem System wäre ein TabSystem damit man mehrere Projekte gleichzeitig bearbeiten kann.
Falls man langeweile im Bus hat und sich zum beispiel ein CarSysten scripten möchte mit ner eigenen Include.
So das man dann beide Datein gleichzeitig (Wählbar) im Tabmenü bearbeiten kann.
LG RFT
Jop und forward deklarieren mit.
Ausserdem für das öffnen ein eigenes Callback setzen und für das schließen des Tor´s auch.
Sonst wirds ja nicht geöffnet
Da es sonst versucht zu öffnen und durch die zweite MoveObject Function direkt wieder zur ursprungsposition gesetzt wird.
forward ClosePDTor();
public ClosePDTor()
{
MoveDynamicObject(lspd1,1541.00000000,-1627.80004883,15.19999981,5,0.00000000,0.00000000,90.00000000);
MoveDynamicObject(lspd2,1588.40002441,-1637.90002441,15.19999981,5,0.00000000,0.00000000,0.00000000);
return 1;
}
Ausserdem auch eine Funktion für OpenPDTor erstellen keine Ahnung welcher deiner beiden Koordinaten dazu zuständig ist.
Denn so kann es ja nicht gehen.
Ein bisschen Vertrauen kann man immer auf bringen,
wenn das jetzt jemand wäre mit 10 Beiträgen und vielen Beschwerden würde ich mein Script dort sicherlich nicht hochladen. Aber Kaliber scheint doch seriös zu sein?
Dadrum gehts nicht. Sondern es geht um das Prinzip kein Professionaller Server gibt seinen Code raus.
Auch nicht an den besten Freunden. Klar vertraue ich Kaliber sonst würde ich dem für sein System sicher keine 10 von 10 Punkte geben.
Wie ist Function deklariert ?
Timer können nur auf Callbacks zugreifen.
Ausserdem könnten bei deinem Code die Admins von überall aus die Tore öffnen.
LG RFT
Ich glaub kaum das die Leute ihre Scripter in deiner Datenbank einfügen...
Ansonsten ist es ein sehr schönes System und vor allem eine sehr gute Idee: 10/10
Alles anzeigenHast ne PN.
//edit: mh, er meldet sich nicht![]()
Kann mir ein anderer vllt helfen?
//edit
Mhhhh... naja geht, wen ich mich aber einlogge seht man den Namen nicht![]()
Ich habe das gemacht:
public OnPlayerStreamIn(playerid, forplayerid)
{
for(new i = 0; i < MAX_PLAYERS; i++) ShowPlayerNameTagForPlayer(i, playerid, 0);
return 1;
}
Ich bin auch keine 24/7 Vorn PC.
public OnPlayerStreamIn(playerid, forplayerid)
{
if(Maske[playerid] == 1)
{
ShowPlayerNameTagForPlayer(playerid, forplayerid, 0);
}
return 1;
}
Schleife ist dort unnötig.
//Edit: Hab die Abfrage vergessen.
Alles anzeigenHast ne PN.
//edit: mh, er meldet sich nicht![]()
Kann mir ein anderer vllt helfen?
//edit
Mhhhh... naja geht, wen ich mich aber einlogge seht man den Namen nicht![]()
Ich habe das gemacht:
public OnPlayerStreamIn(playerid, forplayerid)
{
for(new i = 0; i < MAX_PLAYERS; i++) ShowPlayerNameTagForPlayer(i, playerid, 0);
return 1;
}
Ist doch kein Wunder Abfrage fehlt.
Und spätestens wenn du die Abfrage setzt dann sagen wir mal 70 Spieler sich in einem Radius befinden wirds ein Lagg Paradise hoch drei wenn 70x 500x die Funktion ShowPlayerNameTagForPlayer ausgeführt wird.
Falsche Sektion...
Ich verschiebe es mal beim nächsten mal gibts ne Verwarnung.
LG RFT
und wo ist in deinem code der befehl für den server, das er restarten soll?? ohne den wird auch nix passieren. logisch oder?
Hättest du aufgepasst hättest du den Timer gesehen.
Poste uns mal die Funktion das Callback wo der Timer drauf zugreift.
Alles anzeigen
Kann schon sein aber wen ein Spieler bei ihm ausser Stream Reichweite geht und dann wieder rein sieht man den Namen wiederdeswegen währe das nicht gelöst wen er das nur unter /enter & /exit postet.
Das ist ein Public (von SAMP her) und sieht so aus:
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
Das könnte schon gut sein.
Allerdings bin ich der Meinung das dieses Problem nur auftritt wenn das Interior gewechselt wird müsste er mal austesten.
OnPlayerStreamIn
Viel zu Resourcen fressend da es immer wieder ausgeführt wird wenn er sich einen Spieler nähert.
Unter "OnPlayerText" stimmts? denk schon okay, ich versuchs, Danke.
Jop deinen alten Code unter OnPlayerText gegen diesen da austauschen.
LG RFT
Andere Variante:
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_FORUM, DIALOG_STYLE_INPUT,"{0066FF}Forum Registration","Du hast eine falsche E-Mail Adresse einegegen.\nBitte gebe deine E-Mail Adresse an!","Absenden","");
bzw.:
if(!strlen(inputtext)){ ShowPlayerDialog(playerid, DIALOG_FORUM, DIALOG_STYLE_INPUT,"{0066FF}Forum Registration","Du hast eine falsche E-Mail Adresse einegegen.\nBitte gebe deine E-Mail Adresse an!","Absenden",""); return 1;}
Äußerst schwachsinnig es reicht doch wenn man die Erste Zelle überprüft.
Bei deinem Code könnte er nun zumbeispiel eine Leertaste machen und dann die E-Mail Adresse eingeben.