Bots können nur fest eingestellte Strecken abfliegen, können Spielern jedoch nicht folgen.
Das Bot spawnen lassen geht dann mit ConnectBot().
Beiträge von Ditti
-
-
-
Es wäre nicht ganz verkehrt, den Code mal zu posten.
-
ocmd:su(playerid,params[])
{
new pID,wanted;
if(sscanf(params,"ui",pID, wanted)) return SendClientMessage(playerid, ROT, "Benutzung: /su [ID] [Anzahl]");
new string[128];
format(string, 128, "Du hast %i Wanteds von Officer %s bekommen", wanted, SpielerName(playerid));
SetWantedLevelFromPlayerUP(pID, wanted);
SendClientMessage(pID, GELB, string);
return 1;
}Kombiniertes Wissen!
-
ocmd:su(playerid,params[])
{
new pID,wanted;
if(sscanf(params,"ui",pID, wanted)) return SendClientMessage(playerid, ROT, "Benutzung: /su [ID] [Anzahl]");
SetWantedLevelFromPlayerUP(pID, wanted);
SendClientMessage(pID, GELB,"Du hast %i Wanteds von Officer %s bekommen", wanted, SpielerName(playerid));
return 1;
}
Das sollte laufenEdit: Fehler korrigiert.
-
genau unten links brauch ich will aktuelles heal anzeigen
Das dürfte x=0 und y=465 oder sowas in der Drehe sein. Bin gerade nicht am PC und kann somit leider nicht nachsehen. -
Naja, die spawnen, sobald sie verbinden.
Das heißt: wenn du in OnGameModeInit einmal ConnectBot drin hast, spawnt er schon da.
Nimm diesen Befehl aus OnGameModeInit raus und schieb ihn in so ein Kommando, wie ich es oben geschrieben hab. -
-
if(!strcmp(cmdtext, "/laufbotlauf"))
{
ConnectBot("Hans-Günther", "botskriptname");
}Das unter OnPlayerCommandText einfügen.
-
Hallo ich wollte mal fragen wie ihr eure Textdraws macht mit nem Editor selbst ?Ich verstehe das nie mit den Positionen auf dem Bildschirm
Ich probiere das immer so lang, bis es passt - also ohne Editor.Als wichtiger Anhaltspunkt ist auch hier das Wiki anzumerken - dort steht nämlich bei TextDrawCreate drin, dass sich die Positionen immer auf eine Auflösung von 640*480 beziehen.
-
Bei mir ist im ersten Beitrag der zweite Code komplett auf einer Zeile und das ist leicht unlesbar.
Aber kann auch an mir liegen, ich prüfe mal eben was.
Edit: Mh, sieht auch am Handy so aus. Kannst du den stock mal bitte bei pastebin.com posten?
-
Schön, dass ich helfen konnte - wenn nochmal was ist, darfst du dich gern auch persönlich bei mir melden.
-
Dann weiß ich glaube ich, woran es liegt.
Probier mal bitte das:
stock SetPlayerPosX(playerid, Float:Px, Float:Py, Float:Pz)
{
if(GetPlayerState(playerid) == PLAYER_DRIVER)
{
new vid = GetVehicleID(playerid);
SetPlayerPos(playerid, Px, Py, Pz);
SetVehiclePos(vid, Px, Py, Pz);
PutPlayerInVehicle(playerid, vid, 0);
}
else
{
SetPlayerPos(playerid, Px, Py, Pz);
}
}Sieht jetzt zwar nicht nach viel aus, sollte aber effektiv sein.
-
Ja das hört sich gut an sprich weiter
Ich habe min das auch schon überlegt, Kann ich dann einfach zB oben: #define TestBraun 0x907143A3
und dann aus der datei testbraun auslesen?
Dini ist nicht mein Gebiet, deswegen werde ich mal eben mit PVar arbeiten, kannst die Farbe ja bei Spielerladen oder sowas in die Pvar schreiben.if(GetPVarInt(playerid, "Farbe") == 1) //die 1 steht jetzt mal für braun ;)
{
GameZoneShowForPlayer(playerid, Testzone1, COLOR_BROWN); //#define für COLOR_BROWN oben im Header nicht vergessen :)
}
else if(GetPVarInt(playerid, "Farbe") == 2)
{
//das Gleiche in grün
}Bei noch mehr Farben eignet sich switch hier besser als if ... else if ... else ...
Hoffe, es hilft.
-
nene also geportet wird man ja, im grunde möchte ich ja nur das wen ich esc drück dan auf karte 2 mal linksklick drücke das der micht mit auto an die ausgewählte posi schickt
Naja, was geht denn nun nicht? -
kann mir jemand mal ein blacklist system? weil ich das iwi nicht hinbekomm einfach mit ocmd und für die gangfraktionen halt
Was sollen wir dir das Blacklistsystem? Vorsingen?
Nein, im Ernst: kommt ganz darauf an, wie du deine Daten handhabst.
Mit Dini solltest du eine blacklist.txt erstellen und dann immer Spieler mit geblacklisteter Fraktion und evt. Grund hinzufügen, bei SQL würde sich eine Tabelle namens Blacklist eignen, hier ebenfalls mit den Feldern Name, Fraktion und Grund. -
Was mir als Tipp jetzt einfällt: ints und floats musst du nicht in ' ' setzen, kannst sie also bei Format einfach so auflisten:
"%d, %d, %f, %d, ..."
Nur Strings sind in ' ' zu setzen, kannst aber trotzdem weiterhin auch ints und floats in ' ' setzen.Aber warum das nun nicht geht, ist mir echt ein Rätsel...
-
Gib mal bitte einen genaueren Bugreport. Ist die Kamera immer noch an der alten Position?
-
Du könntest höchstens die Farben als String mit SetPVarString setzen (z.B. "braun"), dann mit strcmp gucken, was zutrifft und dementsprechend die Farben dann setzen.
Die Farbe selbst kannst du mit PVar leider nicht abspeichern, soweit ich weiß. -
Fail, sorry.
So rum:
stock SetPlayerPosEx(playerid, Float:PosX, Float:PosY, Float:PosZ) {
SetPlayerPos(playerid, PosX, PosY, PosZ);
if(IsPlayerInAnyVehicle(playerid)){
new vehicleid = GetPlayerVehicleID(playerid);
SetVehiclePos(vehicleid, PosX, PosY, PosZ);
PutPlayerInVehicle(playerid, vehicleid, 0);
}
}
Das könnte problematisch werden - du setzt hier ja zuerst die Spielerposition und damit ist er aus dem Auto raus.
Und ich würde eher prüfen, ob er Fahrer ist und nicht, ob er in irgendeinem Auto drin ist.stock SetPlayerPosX(playerid, Float:Px, Float:Py, Float:Pz)
{
if(GetPlayerState(playerid) == PLAYER_DRIVER)
{
new vid = GetVehicleID(playerid);
SetVehiclePos(vid, Px, Py, Pz);
PutPlayerInVehicle(playerid, vid, 0);
}
else
{
SetPlayerPos(playerid, Px, Py, Pz);
}
}Sollte besser laufen.
Edit: man könnte nun noch weiter gehen und prüfen, wer von allen Spielern alles in diesem Auto sitzt und die auch mit reinsetzen. Aber DAS krieg ich dann nicht am Handy hin.