Ich verweise dich mal auf folgendes:
http://wiki.sa-mp.com/wiki/OnPlayerKeyStateChange
Frage den Key ab, ob der Spieler an dem Pickup ist (Position) und das wichtigste: Beim Drücken der Taste die Position des Spielers verändern.
MfG Firer
Ich verweise dich mal auf folgendes:
http://wiki.sa-mp.com/wiki/OnPlayerKeyStateChange
Frage den Key ab, ob der Spieler an dem Pickup ist (Position) und das wichtigste: Beim Drücken der Taste die Position des Spielers verändern.
MfG Firer
Würde die Schleife nach dem Spawnen durchlaufen lassen.
Dürfte sonst nicht viel bringen...
Dann machst du es einfach rein.
public OnVehicleSpawn(vehicleid)
Lg byBSE
Ein Callback der leider beim ersten Spawnen der Fahrzeuge übersprungen wird.
Lads doch einfach bei "OnGameModeInit" mit rein O.o
public OnGameModeInit()
{
//--- fahrzeuge...
SetVehicleHealth(cop[0],2000);
//...
/--- Rest
}
Musst es halt auf deine Bedürfnisse anpassen
//EDIT: Da ich gerade erst sehe, wieviele das sind.. nehm doch ne schleife O.o
for(new ccar; ccar < sizeof(PolizeiVehs); ccar++)
{
SetVehicleHealth(PolizeiVehs[ccar],2000.0);
}
Du hast den Timer-Teil vergessen
Finde es gut, dass sich leute vornehmen mal ein Spiel zu entwickeln.
Ich hoffe, das was bei rausspringt und gleich zu Anfang mal ein Tipp:
"Graficker" schreibt man nicht mit "ck" sondern mit "k" -> "Grafiker"...
MfG Firer
Hmm.... Meine Idee:
for(new i; i<MAX_VEHICLES; i++)
{
if(IsAArmyCar(i) && !IsAnyPlayerInVehicle(i))
{
SetVehicleToRespawn(i);
}
}
//--------------------
stock IsAnyPlayerInVehicle(vehicleid)
{
new var;
for(new playerid; playerid<MAX_PLAYERS; playerid++)
{
if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
{
if(IsPlayerInVehicle(playerid,vehicleid);
{
var = 1;
}
}
}
return var;
}
Ist gerade alles so zusammengeschrieben, müsste aber funktionieren.
MfG Firer
Kommt immer drauf an, wie du die Gangcars definiert hast.
Sonst einfach Schleife, Abfragen obs ein Car dieser & dieser Fraktion ist, schauen ob jemand damit fährt und dann ggf. respawnen.
Oder den Timer jede Sekunde durchlaufen lassen und ne Variable erhöhen?
Dann kannst du auch ganz einfach Zeiten abfragen
Ich denke mal, dass der Markplatz in spätestens einer Woche weniger genutzt wird.
Jetzt, wo das gerade eingefügt wurde ist doch klar, dass alle die irgendwas loswerden wollen das jetzt verkaufen.
Nur werden Sie:
- Entweder keinen Käufer finden und die Suche (hier zumindest) aufgeben
- Oder Natürlich einen Käufer finden und die Sache ist eh gegessen.
MfG Firer
Ja, OnPlayerPickup wird aber wie der Name schon sagt nur aufgerufen, wenn das Pickup da ist.
So wird auch noch ein Pickup benötigt.
Kannst du sehen wie du willst. Nur ist der Timer immer noch Resourcenschonender als OnPlayerUpdate
Das hättest du auf jeden fall vorher bedenken müssen.
Falls sich niemand findet, der das Freiwillig machst musst du mit etwas Pech nochmal was hinblechen
Hmm.. setz am besten einen Timer.
Machs z.B. so:
new timer;
public OnGameModeInit()
{
SetTimer("timer",1000,1);
//...
return 1;
}
public timer()
{
for(new playerid; playerid<GetMaxPlayers(); playerid++)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerInRangeOfPoint(...);
{
//... GameText
}
}
}
return 1;
}
Ja, nur finde ich es teilweise eine Unverschämtheit, was hier alles gepostet wird.
Klar ist das Forum dafür da und vielleicht hilft es vielen Scriptanfängern.
Aber gerade wenn man ein GF Script Editiert sollte man auch selbst Hand anlegen.
Wenn dir die Abfragen bekannt sind reicht z.B. ein kurzer Blick in das Englische Wiki und ich wette mit dir, du kriegst die Funktion eingebaut.
Sorry 4 OffTopic
Hast du es selber überhaupt mal versucht?
Frag doch einfach ab..
//bla bla cmd
if(PlayerInfo[playerid][pFrak] == FRAKTION)
{
ShowPlayerDialog(...);
}
Wieso kriegt die Karre ID 1?
Vorallem welche ID?
Eine Scriptseitige oder eine ID, die automatisch von SA-MP vergeben wird [GetPlayerVehicleID(..);]
Mehr informationen, auch zu deinem Script, falls es kein Selfmade sein sollte.
MfG Firer
Dann setz doch einfach nach dem Inviten 2 Variablen:
-> Variable ob er ne Einladung bekommen hat
-> Variable in Welche Fraktion er eingeladen wurde
Dann einfach bei /acceptinvite abfragen und setzen.
Poste uns mal die Errors bitte.
Gerade nämlich keine Ahnung wonach genau ich da suchen sollte. Habe auf den ersten Blick jetzt nämlich nichts gesehen.
MfG Firer
//EDIT: jetzt aber.
Du musst nach "JoinPed" die erste Zahl in den eckigen Klammern die Zahl der Skins eintrage, die dort aufgelistet sind.
Also erstmal eine Festellung:
Du verwendest bei beiden exakt die selben Koordinaten.
Somit würde sich das Gate auch nicht bewegen, wenn der Befehl richtig wäre.
Das einzige problem ist, dass mit der "else if" abfrage zwar vermieden wird, dass beide befehle hintereinander aufgerufen werden, allerdings hält sie auch davon ab, dass der letzte Befehl aufgerufen wird.
Lösung(en) deines Problems:
1. Koordinaten richtig setzen
2. Durch das Setzen einer Variable abfragen, ob das Gate offen oder geschlossen ist. Somit ist es nun möglich in einem CMD diese Abfrage auszuführen.
Jetzt gaaanz einfach nurnoch das Gate wenn es offen ist zu der geschlossenen position und umgekehrt bewegen und anschließend die Variable setzen.
Könnte so aussehen:
//--- Ganz oben
new var;
//--------------
if(strcmp(cmdtext,"/Mv",true) == 0)
{
if(IsPlayerInRangeOfPoint(playerid,range,x,y,z))
{
if(var == 0) //--- Ist das Gate geschlossen...
{
MoveObject(...);
var = 1;
}
else
{
Moveobject(...);
var = 0;
}
}
}
Hoffe das konnte dir helfen
Von mir auch mal ein herzliches Wilkommen
Freut mich jemanden neuen in der Community begrüßen zu dürfen.
Ausserdem gibt es zwei Möglichkeiten:
Entweder das ist das erste mal in diesem Forum, dass ich einen Vorstellungsthread sehe oder Alzheimer lässt grüßen...