Ich suche die Animation wo man Handschellen trägt für Actor^^ Kann mir wer da weiter helfen?
Versuch's mal mit SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CUFFED);
Ich suche die Animation wo man Handschellen trägt für Actor^^ Kann mir wer da weiter helfen?
Versuch's mal mit SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CUFFED);
Versuch's mal mit SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CUFFED);
Ne geht leider nicht der Actor steht einfach nur rum. Hier mein Code:
new Mann;
Mann = CreateActor(0, -2535.7961,2342.9270,4.9859,358.9488, 0.0);
SetPlayerSpecialAction(Mann, SPECIAL_ACTION_CUFFED);
Du kannst einem Actor keine SpecialAction ausführen lassen, Animationen hingegen schon.
Nur kenne ich keine Animation die einen Spieler cufft (musst suchen )
PS: Du könntest das ja alternativ mit einem NPC (Bot) machen..
@[LnD]JustMe.77 Kannst du mir ein gutes NPC System empfehlen? vllt auch mit Tutorial^^ ?
Möchtest du mehrere Bots erstellen oder nur einen?
Wenn du vorhast nur einen zu erstellen, kannst du das auch mit dem Standard Script von SAMP machen.
Hier ein Tutorial, sehr alt aber sollte reichen
Ich bräuchte so um die 5 Bots . Möchte eine Map mit mehr leben befüllen. Sie sollen auch nciht laufen sondern auf der stelle stehen^^
Ich würde dir raten Actors zu verwenden da die im Gegensatz zu NPC's keine Userslots verbrauchen (abgesehen für den NPC mit der gecufften Animation).
Okk danke für dein Hilfe Werde dann mal schauen wie ich das alles umsetzte
Moin.
Ich habe eine Frage an die erfahrenden Scripter.
Ist es möglich mittels HTTP Requests auch direkt den Server anzusprechen?
Sprich: ich habe eine public function in meinem Script und schicke ne Anfrage an meinen Server (callremotefunction o.ä.), um was am Server zu triggern.
Meinetwegen "OnAccountRegistered" wird getriggert, wenn der Benutzer in seiner Bestätigungs Mail den Link anklickt und mein PHP Server gibt diese Information direkt an mein SA-MP Server weiter.
So wie ich das eben in der letzten halben Stunde recherieren konnte, geht es zurzeit mit dem a_samp Modul nur so, dass das Script eine Anfrage an den Server schickt und dieser ein Callback ausführt.
Allerdings hilft mir dieser Ansatz keineswegs weiter.
EDIT:
Huch, da sucht man etwas anders und findet das hier:
http://forum.sa-mp.com/showthread.php?t=104299
Ergo: ist möglich.
Falls wer suchen sollte, so tage ich kurz paar Stichworte (SEO)
gta sa-mp php
gta samp php
gta sa-mp html
gta samp html
samp php server
gta webserver api
Irgendwie will mein Actor keine Animationen abspielen. Habe es auch mit dem Beispiel Code versucht passiert aber nichts.
new MyActor;
MyActor = CreateActor(179, -2535.5, 2347.2, 4.9, 90.0);
ApplyActorAnimation(MyActor, "DEALER", "shop_pay", 4.1, 0, 0, 0, 0, 0);
Er spawnt und steht dann rum. Habe den Code bei OnGamemodeInit drin stehen.
Pack die Animation unter OnActorStreamIn, also so:
public OnActorStreamIn(actorid, forplayerid)
{
ApplyActorAnimation(MyActor, "DEALER", "shop_pay", 4.1, 0, 0, 0, 0, 0);
return 1;
}
Außerdem wäre es am besten wenn du new MyActor; global definierst, sodass du es nicht unter jedem Public erneut hinschreiben muss, also einfach unter den Includes
Alles anzeigen
Pack die Animation unter OnActorStreamIn, also so:
public OnActorStreamIn(actorid, forplayerid){ ApplyActorAnimation(MyActor, "DEALER", "shop_pay", 4.1, 0, 0, 0, 0, 0); return 1;}
Außerdem wäre es am besten wenn du new MyActor; global definierst, sodass du es nicht unter jedem Public erneut hinschreiben muss, also einfach unter den Includes
An sich klappt es aber sobald ich ein anderen Actor erstelle und ihn eine Animation geben will stehen alle nur rum.
//EDIT: Klappt nun danke^^
Hat sich das letzte Problem auch gelöst?
"An sich klappt es aber sobald ich ein anderen Actor erstelle und ihn eine Animation geben will stehen alle nur rum."
@[LnD]JustMe.77 Jop hat es. Habe vergessen den Namen von dem neuen Bot einzutragen Danke nochmal
Moin.
Erneut ich.
Hat jemand ein URLEncode Algorithmus (stock function), die auch gut funktioniert? Ich will damit meine GET/POST Parameter sichern, damit meine API auch richtig greift.
Aber die von DracoBlue sowie die strlib Include funktionieren nicht im krassen ernstfall ("er%_&t6" -> null)
Hi ich habe ein Checkpoint Lauf System gemacht und wollte nun wissen wie ich die Cp´s wiederholen lassen soll
Wie mache ich das?
Hi ich habe ein Checkpoint Lauf System gemacht und wollte nun wissen wie ich die Cp´s wiederholen lassen soll
Wie mache ich das?
Als aller erstes wäre es ratsam, die CPs, sofern nicht schon getan, in ein Array zu stecken, wo alle Checkpoints bekannt sind.
Als nächstes denkst du dir ein Algorithmus aus, wie die Checkpoints ausgewählt werden sollen (random oder nach der reihenfolge).
Empfehlenswert: Brech soweit es geht alles herunter, sprich
"GetRandomJailCheckpointID(current)"
"GetNextJailCheckpoint(current)"
Bedenke: current ist in meinem Beispiel/in meiner Vorstellung der Index Eintrag vom Array, wo alle CP pos bekannt sind.
Ergo du musst die ID des CP mMn beim Spieler abspeichern, so das du einen einfacheren zugriff auf die ID bekommst.
Falls du konkreter wissen willst, wie es aussehen könnte, so lass es das Forum/mich wissen.
habe leider null davon verstanden
enum E_JCP {
Float:JCPposX,
Float:JCPposY,
Float:JCPposZ,
...
};
new jailCheckPoints[][E_JCP] = {
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,0.0},
....
};
new playerJailCheckPoint[MAX_PLAYERS] = {-1,...}; //Hier wird abgespeichert, welcher Benutzer welchen CP gerade hat, Standard für alle: -1
GetRandomJailCheckpoint(current = -1) { //Falls kein Wert angegeben, so verwendet diese Funktion automatisch den Wert -1 für die Variable current
new randomCP;
new size = sizeof(jailCheckPoints); //sizeof -> größe von der Variable, die übergegeben wird
if(current == -1) {
randomCP = random(size);
} else {
do {
randomCP = random(size);
}while(randomCP != current); //hier verhindern wir, dass der zufällig auserwählte CP nicht der gleiche ist, wie der übergebene (current)
}
return randomCP;
}
public OnPlayerEnterCheckPoint(playerid,checkpointid) {
if(playerJailCheckPoint[playerid] == checkpointid) { //Wir überprüfen, ob der CP auch der JailCheckPoint ist, den wir gerade zugewiesen bekommen haben
new pjcp;
playerJailCheckPoint[playerid] = pjcp = GetRandomJailCheckpoint(playerJailCheckPoint[playerid]); //Wir übergeben der Funktion den alten Wert voM Spieler, so das nicht den gleichen CP wieder erhalten
SetPlayerCheckpoint(playerid,jailCheckPoints[pjcp][JCPposX],jailCheckPoints[pjcp][JCPposY],jailCheckPoints[pjcp][JCPposZ],3.0);
}
}
//Und falls du etwas anders das handhaben möchtest, im Objekt Orientierten Stil (nicht so leicht zu verstehen mit wenig kenntnissen, daher ebenfalls eine Erklärung
public OnPlayerEnterCheckPoint(playerid,checkpointid) {
if(playerJailCheckPoint[playerid] == checkpointid) {
new rjCPID = GetRandomJailCheckpoint(playerJailCheckPoint[playerid]); //Hier speichern wir zur Lesbarkeit die die ID ab.
playerJailCheckPoint[playerid] = rjCPID; //
new pjcp[E_JCP]; //Wir beschreiben wir die Variable genauso, wie die Checkpoints beschrieben sind.
pjcp = jailCheckPoints[rjCPID]; //Und nun ist diese ID für uns nicht mehr von nöten
SetPlayerCheckpoint(playerid,pjcp[JCPposX],pjcp[JCPposY],pjcp[JCPposZ],3.0);
}
}
Alles anzeigen
Dir mag die zweite Variante erstmal auf Anhieb nicht gefallen, doch sobald du ein sehr großes Enum hast, so hast du es leichter auf jeden Wert zuzugreifen.
Aber das ist ein anderes Kapitel, welches ich hier nicht aufschlagen werde.
Was ist das für ein Fehler ?
Loaded.
[22:58:28] Loading plugin: mysql.so
[22:58:28] Failed (plugins/mysql.so: symbol __cxa_pure_virtual, version libmysqlclient_16 not defined in file libmysqlclient_r.so.16 with link time reference)
[22:58:28] Loaded 4 plugins.