Ja, wie oben schon beschrieben gibt er mir nicht die aktuelle Position aus sonder die Position wo das Object erstellt wurde.
Beiträge von Edgar
-
-
Beim eingeben des Thread-Titels gab es 2 Vorschläge, einmal ein Filterscript und eine Server Vorstellung.
Bei Google habe ich auch schon einiges eingegeben.Das komische ist aber auch das laut der Beschreibung vom Wiki es die aktuelle Position nehmen sollte...
-
-
Danke für deine Antwort,
das Problem ist nur das ich das Object nicht da positioniert habe wo ich es haben will, ich positioniere es ja InGame.
Es wird ja ein Text auf das Object attached und ich möchte das es perfekt an der Wand positioniert ist, dass kann
ich - denke ich - nicht mit dem Editor machen, zudem möchte ich es generell inGame möglich haben, es sollte ein
Dynamisches System werden womit man die Position des Object's verändert und es dann gespeichert wird.
Wie schon oben erwähnt ist das einzige was nicht geht das mit der aktuellen Position auslesen. -
Hey, am besten postest du alles was mit diesen Befehl zutun hat, z.B. MaxVeh, wo ist dies definiert - wenn es denn ein define ist :D?
-
Hallo zusammen,
ich habe derzeit ein Problem, und zwar, wenn ich ein Object erstelle
//Variablen str, font, size und ID sind oben via sscanf angegeben und werden auch abgefragt.
GetPlayerPos(playerid, X, Y, Z);
SprayObj[0] = CreateDynamicObject(ID, X+0.5, Y+0.5, Z, 0.0, 0.0, 0.0);
EditDynamicObject(playerid, SprayObj[0]);
SetDynamicObjectMaterialText(SprayObj[0], 0, str, OBJECT_MATERIAL_SIZE_256x128, font, size, 1, 0xD70000FF, 0, 0);
und es dann über
EditDynamicObject(playerid, SprayObj[0]);
neu positionieren möchte und danach
new Float:x, Float:y, Float:z, Float:zx, Float:zy, Float:zz, str[280];
GetDynamicObjectPos(SprayObj[0], x, y, z);
GetDynamicObjectRot(SprayObj[0], zx, zy, zz);
format(str, sizeof str, "X: %f, Y: %f, Z: %f - XR: %f, YR: %f, ZR: %f",x, y, z, zx, zy, zz);
echo(playerid, cRed, str);
die Position ausgeben möchte gibt er mir die Position an wo das Object erstellt wurde nicht wo es sich derzeit befindet,
ist das so gewollt oder mache ich was falsch? Wenn ja, wie kann ich die aktuelle Position herausfinden?Edit:
Ich habe soeben bemerkt das es auch mit CreateObject, EditObject und GetObjectPos auch nicht geht, liegt also nicht am Streamer.Mit freundlichen Grüßen
-
UncleSub hat es doch schon beschrieben, der TimeStamp ist die Uhrzeit als Wert.
http://www.gaijin.at/olsutc.phpHier kannst du Werte umwandeln.
-
Hey,
ich würde dir raten mit CSS3 noch zu arbeiten, da kannst du
tolle Effekte wie Schatten, Verläufe etc. erstellen, wenn du dich
gar nicht mit CSS3 auskennst habe ich da eine Seite für dich.
http://css3generator.com/ -
ocmd:arrest(playerid,params[])
{
if(gTeam[playerid] == TEAM_COPS)
{
new pID;
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,ROT, "Benutzung: /arrest [ID]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, ROT, "Der Spieler ist nicht online!");
new Float:x, Float:y, Float:z;
GetPlayerPos(pID, x, y, z);
if(IsPlayerInRangeOfPoint(pID,5.0, x,y,z)) {
if(GetPlayerWantedLevel(pID) >=5)
{
new strg[250];
new arname[MAX_PLAYER_NAME];
new copname[MAX_PLAYER_NAME];
GetPlayerName(pID, arname,sizeof(arname));
GetPlayerName(playerid,copname, sizeof(copname));
format(strg, sizeof(strg), "Knast-Info: %s wurde von Officer %s Eingesperrt!", arname,copname);
SetPlayerInterior(pID, 3);
SetPlayerPos(pID, 194.0580,175.4876,1003.0234);
SendClientMessageToAll(ROT, strg);
SendClientMessage(pID, ROT, "Ein Cop hat dich verhaftet und du wurdest eingesperrt! (( 20 Sekunden ))");
GivePlayerMoney(playerid, 5000);
timerkill = SetTimerEx("Knast", 20000, false,"i", pID );
ResetPlayerWeapons(pID);
SetPlayerWantedLevel(pID, 0);
SetPlayerColor(pID, WEISS);
knasted[pID] = 1;
return 1;
}
else SendClientMessage(playerid, ROT, "Der Spieler hat zu wenig Wanteds! Stelle ihm ein Ticket mit /ticket aus!");
}
else SendClientMessage(playerid, ROT, "Spieler ist nicht in der Nähe!");
}
else SendClientMessage(playerid, ROT, "Du bist kein Cop!");
return 1;
}So sollte es wohl besser funktionieren.
Zur For-Schleife:
Eine For-Schleife ist eine Schleife die sooft wie du es angibst ausgeführt wirst, Beispiel:
for(new i = 0; i < MAX_PLAYERS; i++)
heißt
for(new Variable ist 0; Variable ist kleiner als MAX_PLAYERS; variable wird um 1 erhöht)
Damit kannst du z.B alle Spieler, Fahrzeuge oder Erstellten Häuser - je nachdem wie dein System ist - abzählen. -
Wie sieht denn dein /cuff Befehl aus?
-
OnPlayerUpdate wird mehr mals in einer Sekunde oder so aufgerufen, erstell einen Timer der zb. jede 2 Sekunden aufgerufen wird und lass die Funktion aufrufen.
-
Versuch mal case 0: {..Inhalt..}, case 1: {...INhalt..} etc.
-
So wie ich es habe sollte es richtig sein, das "VARIABLE VOM RANGNAME" da musst du deine Funktion What ever einfügen.
Wie lautet denn dein Adminrank Variable und die einzellnen Adminranknamen? -
new AdutyLabel[MAX_PLAYERS]; // Oben definieren
//:________________________:
Aduty[playerid] = 1;
new LabelStr[180], string[128], alvl[64], name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,MAX_PLAYER_NAME);
format(LabelStr, sizeof LabelStr, "%s OnDuty", VARIABLE VOM RANGNAMEN);
AdutyLabel[playerid] = Create3DTextLabel(LabelStr, 0x0A00FFFF,0.0,0.0,0.0, 20.0, 0, 0);
Attach3DTextLabelToPlayer(AdutyLabel[playerid], playerid, 0.0, 0.0, 0.4);
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 100);
SetPlayerColor(playerid,RED);
SetPlayerSkin(playerid,217);
ShowPlayerMarkers(1);Ungetestet sollte aber gehen.
Haupt Fehler war SetPlayerHealth. -
Hey
unter public OnPlayerDeath(playerid,killerid,reason)
CreatePickup(modelid, type, Posx, Posy, Posz, virtuellewelt);
Die Werte musst du selber eintragen. -
Ich denke das es daran liegt:
Du sagst ja auch, das dieses Textdraw eine Box ist und keine Schrift
TextDrawUseBox(Usebox,1);Du must für den Text ein extra Textdraw machen.
Schwachsinn, man kann ein Textdraw erstellen und eine Box in den Hintergrund legen, dafür braucht man kein extra Textdraw.
b2t:
Funktioniert es denn jetzt?
Das Forum meldet mir:
Achtung! Dieses Thema wurde als erledigt markiert. Bitte erstellen Sie ggf. ein neues Thema. -
Hey,
mach mal bei allen "if(!strcmp(tmp,"***",true))" das Ausrufezeichen weg. Dann sollte es gehen
MfG StreetFX
Bitte schau dir doch mal die Grundfunktion von strcmp im SA-MP Wiki an.
Sein Problem ist:
Wenn ich zb. /service Medic eingebe zeigt er mir diesen Text an.
INFO: /service [Taxi/Oamt/ADAC/Medic/SAPD]Sprich, es wird hier return:
if(sscanf(params,"s[128]",tmp))return SendClientMessage(playerid,grau,"INFO: /service [Taxi/Oamt/ADAC/Medic/SAPD]");
Somit kommen wir wieder zu meinem Post zurück:
Schau dir diese Zeile an
if(sscanf(params,"s[128]",tmp))return SendClientMessage(playerid,grau,"INFO: /service [Taxi/Oamt/ADAC/Medic/SAPD]");Bei deine, Params brauchst du die String Länge nicht anzugeben.. Sprich
if(sscanf(params,"s",tmp))return SendClientMessage(playerid,grau,"INFO: /service [Taxi/Oamt/ADAC/Medic/SAPD]");
-
Schau dir diese Zeile an
if(sscanf(params,"s[128]",tmp))return SendClientMessage(playerid,grau,"INFO: /service [Taxi/Oamt/ADAC/Medic/SAPD]");Bei deine, Params brauchst du die String Länge nicht anzugeben.. Sprich
if(sscanf(params,"s",tmp))return SendClientMessage(playerid,grau,"INFO: /service [Taxi/Oamt/ADAC/Medic/SAPD]");
-
Sieht es immer noch so aus oder hat es nun eine andere Größe?
-
Ich glaube zwar nicht das du alles gelesen hast was ich geschrieben habe, aber es ist Ja nicht mein System
das ich beheben muss.
if(clickedid == BlitzerMenu20)
{
if(BlitzerInfo[blitzerid[playerid]][Geschwindigkeit] <= 30 || BlitzerInfo[blitzerid[playerid]][Geschwindigkeit] >= 280)
return SendClientMessage(playerid,WHITE,"Fehler, die Werte sind zu niedrig bzw zu hoch!");
BlitzerInfo[blitzerid[playerid]][Strafe] -= 10;
new string[64];
format(string,sizeof(string),"%d KM/H",BlitzerInfo[blitzerid[playerid]][Strafe]);
TextDrawHideForPlayer(playerid,BlitzerMenu22);
TextDrawSetString(BlitzerMenu22,string);
TextDrawShowForPlayer(playerid,BlitzerMenu22);
}Versuch dies mal so, wenn dies geht ändere deine anderen Abfragen auch so.