Dann hast du die Zonen Position falsch gespeichert ![]()
Nutze dafür am Besten eins von diversen Tools:
http://forum.sa-mp.com/showthread.php?t=372
http://forum.sa-mp.com/showthread.php?t=467190
Dann hast du die Zonen Position falsch gespeichert ![]()
Nutze dafür am Besten eins von diversen Tools:
http://forum.sa-mp.com/showthread.php?t=372
http://forum.sa-mp.com/showthread.php?t=467190
Das geht hier nicht, da er dann 4 Dimensionen hat, das ist nicht möglich.
Um das mal kurz nur anzumerken, das ist theoretisch schon möglich, allerdings muss man es richtig aufbauen...
Also ein Beispiel sieht dann z.B. so aus:
enum a
{
bla[6]
};
new test[1][1][a];
main()
{
test[0][0][bla] = "Hallo";
printf("%c",test[0][0][bla][0]);
}
Alles anzeigen
Output ist dann logischerweise: H
Da bei deinem System nichts wirklich 100% synchron sein muss, kannst du auch einfach folgendes machen:
Sobald der Spieler das Hotel betritt, erstellst du einen Actor (keinen NPC, die verbrauchen nur CPU & Solts).
Die Facing Angle von dem Actor setzt du so, dass er zur Rezeption schaut.
Und dann kannst du ihn ja einfach per Lauf Animation (ApplyActorAnimation(actorid,"ped","WALK_civi",4.1,1,1,1,1,0)) zur Animation laufen lassen.
Da du keine Positons-Abfrage vom Actor machen kannst, und nicht weißt wo er sich gerade befindet, kannst du aber triggern, wie lang er ca. bis zur Rezeption braucht. Also erstellst du dann einfach einen Timer mit z.B. 8 Sekunden und dann löchst du den Actor, oder setzt ihn an eine bestimmte Position und kannst seine Animation wieder verändern.
PS: Das funktioniert nur, wenn der Weg den der "Actor / NPC" zurücklegen muss nicht komplex ist, sprich mit Ecken & Kurven...Falls du sowas hast, musst du das Filterscript "npc_record" einfach laden und dann /ofrecord zum aufnehmen und /stoprecord eingeben.
Bzw schau dir mal ein Tutorial dazu ein: Samp 0.3 Bots Erstellen [überarbeitet]
mfg. ![]()
Schreib das mal so:
ocmd:heal(playerid,params[])
{
new pID,Float:leben,string[128],tmp[MAX_PLAYER_NAME];
if(sscanf(params,"uf",pID,leben)) return SendClientMessage(playerid,-1,"Verwendung: /heal [spielerid] [Leben]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,-1,"Ein Spieler mit dieser ID ist nicht online!");
GetPlayerName(playerid,tmp,MAX_PLAYER_NAME);
GetPlayerName(pID,string,MAX_PLAYER_NAME);
format(string,sizeof string,"* Spieler %s (ID: %d) setzt das Leben von %s (ID: %d) auf %.02f Hp.",tmp,playerid,string,pID,leben);
SendClientMessage(playerid,-1,string);
if(pID != playerid) SendClientMessage(pID,-1,string);
return SetPlayerHealth(pID,leben);
}
Alles anzeigen
Poste mal deinen ganzen Command, dann kann man dir besser helfen ![]()
Schreib da ein:
return 1;
hin ![]()
Solltest du so schreiben:
if(sscanf(params,"uds[128]",suid,wantedid,grundid))
Kommt drauf an..wie du das definiert hast...müsste dann ungefähr so aussehen:
#define COLOR_GELB "{FFFF00}"
Mit color codes einfach z.B. so:
"{FFFFFF}Dieser Text ist weiß...{FF0000}Dieser ist rot"
Farben kannst du dir hier zusammenstellen: http://html-color-codes.info/
Da der Tank max 100 ist...ist das doch schon gleichzeitig die Prozentangabe für den Progress-bar ![]()
Ehhm...anscheinend...sind da Variabel Überschneidungen, schreibe es mal so:
//Oben im Skript:
new PlayerBar:tank_bar;
//Dann unter OnGameModeInit
//x=700,y=500
tank_bar = CreatePlayerProgressBar(playerid, 700.0, 500.0, 55.5, 3.2, 0xFF4800FF); //kannst ja nochmal genau dir die Parameter anschauen
//Dann wo du den Tank aktualisierst:
SetPlayerProgressBarValue(playerid, tank_bar, Float:Tank_Value); //Tank_Value musst du natürlich durch deine Tank Variable ersetzen...
Verwende die Include von JustMe..ich wollte diese eigentlich verlinken ![]()
Einfach sowas z.B.:
//Oben im Skript:
new PlayerBar:barid;
//Dann unter OnGameModeInit
new Float:x = 700.0, Float:y = 500.0; //Das sind die x & y Koordinaten von dem TextDraw
barid = CreatePlayerProgressBar(playerid, x,y, 55.5, 3.2, 0xFF4800FF); //kannst ja nochmal genau dir die Parameter anschauen
//Dann wo du den Tank setzt:
SetPlayerProgressBarValue(playerid, barid, Float:Tank_Value);
mfg. ![]()
Sowas nennt man einen Progress-Bar.
Und dafür wurde ein schönes Include geschrieben: http://forum.sa-mp.com/showthread.php?t=113443
mfg. ![]()
Zeig mal bitte, die Variablen Deklaration + Enum ![]()
Desweiteren, wie du z.B. einen Wert in die Variable (pcKeys_giver) setzt ![]()
Ja, das ist theoretisch möglich..sieht aber nicht sehr..naja "schön" aus...
Man kann es auf jeden Fall besser machen, aber hier ein leichter Vorgeschmack:
Willst du, dass man mehrere Sperren erstellen kann oder nur eine?
Und nur eine Person oder mehrere?
...jaa du solltest überall (außer für Boden-Flächen) CreateDynamicObject verwenden...
Ja 923 ObjectsSoltsUsed...
Anscheinend sind das einfach zu viele...du musst andere Objekte Dynamisch machen (mit dem Streamer arbeiten).
Andernfalls geht das nicht.
Es wird ausgeführt aber er erstellts nicht
Nutzt du denn einen Streamer...wie viele Objekte sind denn in deiner Umgebung, drück mal F5 und poste evtl den screenshot..