Hallo zusammen,
Ich wollte mal Fragen wie der Code ist um eine Position zu ermitteln.
Beim Namen ist es ja: %s
Grüsse
Black_Mamba
Hallo zusammen,
Ich wollte mal Fragen wie der Code ist um eine Position zu ermitteln.
Beim Namen ist es ja: %s
Grüsse
Black_Mamba
Was meinst du?
Wenn du Float meinst %f, sonst drücke dich bitte verständlicher aus.
Du musst neue Floats erstellen.
new Float:PosX, Float:PosY, Float:PosZ;
GetPlayerPos(playerid, PosX, PosY, PosZ);
Und das ist alles? So einfach?
Sorry bin halt neu in dem Gebiet
Danke an euch
So bekommst du die Koordinaten raus. Wenn du dir die Koordinaten dann in einer Nachricht anzeigen lassen willst, musst du diese erst formatieren.
Du musst neue Floats erstellen.
new Float:PosX, Float:PosY, Float:PosZ;
GetPlayerPos(playerid, PosX, PosY, PosZ);
Falls du die Person dannach Spawnen willst,
solltest du dann auch noch die Rotation noch mitspeichern
GetPlayerFacingAngle
new Float:PosX, Float:PosY, Float:PosZ, Float:Rotation ;
GetPlayerPos(playerid, PosX, PosY, PosZ);
GetPlayerFacingAngle(playerid, Rotation);
wäre jetzt für ein Spawnsystem vorteilhaft.
Gruß,
Dennis
public OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/springen",true))
new Float:x Float:y Float:z;
GetPlayerPos(playerid,x,y,z);
SetPlayerPos(playerid,x,y,z+10);
return 1;
{
return 0;
}
}
Ein Problem habe ich noch, habe jetzt alles eingefügt, nur wenn ich den Compiler drücke, kommt die meldung: Undefiniertes Sombol "playerid"
Muss ich da noch iwas definieren?
playerid muss man normalerweise nicht definieren,
Poste mal die Sache von dir hier
bei mir oder bei den adneren?
Alles anzeigenpublic OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/springen",true))
new Float:x Float:y Float:z;
GetPlayerPos(playerid,x,y,z);
SetPlayerPos(playerid,x,y,z+10);
return 1;
{
return 0;
}
}
Da ist aber was mit den Klammern im argen
Probiers mal so :
public OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/springen",true))
{
new Float:x Float:y Float:z;
GetPlayerPos(playerid,x,y,z);
SetPlayerPos(playerid,x,y,z+10);
return 1;
}
return 0;
}
public CheckCarHealth()
{
new string[128];
new sendername[MAX_PLAYER_NAME];
new Float:PosX, Float:PosY, Float:PosZ;
for (new i=0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i) && IsPlayerInAnyVehicle(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
new Float:health;
GetVehicleHealth(GetPlayerVehicleID(i),health);
new newcar = GetPlayerVehicleID(i);
if (health <= 260 && !IsModelABoat(newcar) && !IsModelABike(newcar) && !IsModelAPlane(newcar) && !IsAHarvest(newcar) && !IsADrugHarvest(newcar) && !IsASweeper(newcar) && !IsModelAHeli(newcar))
{
if(engineOn[GetPlayerVehicleID(i)] == 1)
{
if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
TogglePlayerControllable(i, 1);
GetPlayerPos(playerid, PosX, PosY, PosZ);
CreateObject(18690,PosX,PosY,PosZ,0,0,0,50);
SendClientMessage(i, COLOR_LIGHT_BLUE, "Your vehicle is broken, start the engine up or call a mechanic! (/exit to leave a car)");
engineOn[GetPlayerVehicleID(i)] = false;
GetPlayerName(i, sendername, sizeof(sendername));
format(string, sizeof(string), "* Vehicle engine brakes down (( %s ))", sendername);
ProxDetector(30.0, i, string, COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
}
}
}
}
}
}
Da bei Zeile 5 habe ich dies eingefügt und bei Zeile 20.
playerid muss in deinemfall i sein
Danke
Habs bei näherem betrachten auch grad gemerkt. Zweimal oder besser hinschauen hätte in diesem Fall wunder bewirkt