Gibt es auch eine Möglichkeit rauszufinden ob man auf den Actor zielt?
Lies mal einen Beitrag vor dir ![]()
Gibt es auch eine Möglichkeit rauszufinden ob man auf den Actor zielt?
Lies mal einen Beitrag vor dir ![]()
Kaliber: in dem anderen Thema wurde GetPlayerTargetPlayer, das du auch zitiert hast, erwähnt. Eventuell kannst du das für Actors auch realisieren. Sprich, ein Callback, wenn man auf einen Actor zielt.
Ja klar kann ich machen, aber erst heute Abend bin noch unterwegs ![]()
Wenn wer noch weitere Ideen hat, gerne Posten ![]()
mfg. ![]()
Jetzt nurnoch das mit dem zielen und dann währ alles perfekt :b
Kannst es so machen:
new target[MAX_PLAYERS];
public OnPlayerUpdate(playerid)
{
new target = GetPlayerTargetPlayer(playerid);
if(target == INVALID_PLAYER_ID && !target[playerid]) return 1;
if(target == INVALID_PLAYER_ID) return target[playerid]=0;
if(!IsPlayerNPC(target)) return 1; //Hier prüfen ob es der richtige NPC ist!
if(!target[playerid]) target[playerid] = gettime()+10;
else {
if(gettime() >= target[playerid]) {
//Hier hat er 10Sekunden auf den Bot gezielt!
}
}
return 1;
}
mfg. ![]()
Kaliber: MAX_ACTORS ist anscheinend schon definiert. Laut Wiki http://wiki.sa-mp.com/wiki/CreateActor
Ahh okay, nun die Wiki Seite habe ich noch nicht gesehen...
Ehm ja gut, dann kann man das weglassen oder eben limitieren ![]()
Wenn ja wie geht das dann genau?
Mach es einfach so:
//Oben
#define MAX_ACTORS 50
new Actors[MAX_ACTORS];
//Dann wo du ihn erstellst:
Actors[0] = CreateActor(...);
Actors[1] = CreateActor(...);
Actors[2] = CreateActor(...);
Und in Actors[0] oder Actors[1] oder Actors[2]...ist dann die actionid ![]()
mfg. ![]()
Wie bekommt man den die actorid heraus? Habe dafür keine Funktion gesehen
Die wird returnt, wenn du CreateActor nutzt ![]()
Braucht man für das Update eigentlich auch nen neuen Client?
Nicht für alle Updates, aber ja du solltest schon den Client aktuell halten für manche Updates ![]()
und auf einmal geh der server down
Du musst in den scriptfiles einen Ordner Namens "Häuser" erstellen ![]()
Ich glaube kaum das in einem Godfather mehr als 3000 Dialoge vorhanden sind.
Es geht hier um die Ids 500-507...und die könnten vergeben sein ![]()
egal wie viele stellen ?für dialog ?
Die höchste dialogid ist: 32767
Naja, in deinem GameMode, wie viele Dialoge gibt es da? ![]()
Erhöhe mal die DialogIDs oben ![]()
mfg. ![]()
Läuft er denn auch mit Animation oder wird er einfach nur immer ein Stück geportet?
Natürlich mit animation du kannst es quasi von einem normalen Spieler nicht unterscheiden, besonders wenn du ihm noch n TextLabel oder so gibst ![]()
Nun, das kann man aber berechnen, wenn es nicht bald getan wird, kann ich ja ne Include mit dem Callback OnActorGetShot(playerid, actorid, weaponid); releasen
Habe es mal aus langeweile grad gemacht: [Include] Actor Extensions
mfg. ![]()
Manyula: Die Actor's werden nicht erkannt, auch GetPlayerTargetPlayer funktioniert so nicht. Ich wüsste gerne wie ich GetPlayerTargetPlayer für die Actor's machen kann, leider bringen mir solange die Actor's nichts.
Nun, das kann man aber berechnen, wenn es nicht bald getan wird, kann ich ja ne Include mit dem Callback OnActorGetShot(playerid, actorid, weaponid); releasen ![]()
\u bzw \um existiert nicht, nutze \n für eine neue Zeile oder \\ für einen Backslash ![]()
mfg. ![]()
oder das man fliegen kann?/bzw springen?
Es gibt ein Filterscript in Filterscript Ordner namens flymode, damit kannst du fliegen ![]()
und ein admin was drückt das geschwindigkeit schneller word
Ja das ist auch möglich, aber nicht so leicht, du ermittelst die vehicleid über die spielerid von dem, den du über tv beobachtest und dann nutzt du die Funktion: SetVehicleVelocity
mfg. ![]()
Schreib oben ins Skript:
new lastUpdate[MAX_PLAYERS];
//Unter OnPlayerUpdate:
lastUpdate[playerid] = GetTickCount();
//Unter OnPlayerConnect
lastUpdate[playerid] = GetTickCount();
//Und dann die Funktion:
stock IsPlayerAfk(playerid) return ((GetTickCount() - lastUpdate[playerid]) > 1000*60*5);
//Und dann die Zeile die du auskommentiert hast, schreibe darein:
if(!IsPlayerAfk(playerid))
mfg. ![]()
Noch ein paar mehr Zeilen drüber..so 20 ca? ![]()
Schreibe oben ins Skript:
#define UnFreezePlayer(%0) TogglePlayerControllable(%0,false)
#define FreezePlayer(%0) TogglePlayerControllable(%0,true)
und alles andere drücke STRG + G und gib die Zeile ein z.B. 4943...und dann lösche da folgendes: M_OnPlayerConnect
//usw...bis alles weg ist ![]()
mfg. ![]()