Hallo,
ich wollte gerade ein kleines Nagelband System schreiben, bin auch fast fertig, jedoch habe ich im Moment das Problem,
dass man zwar ein Nagelband legen kann, aber wenn man drüber fährt passiert nichts..
Das NagelbandSys:
#define DIALOG_SPERRE 5000
enum NagelbandOption {
Float:NagelbandX, Float:NagelbandY, Float:NagelbandZ, NagelbandErstellt
};
new Float:x,Float:y,Float:z;
new Float:a;
new Nagelbaender[9999][NagelbandOption];
new nagelband;
forward NagelbandTimer(playerid);
public NagelbandTimer(playerid)
{
for(new i = 0;i<9999;i++)
{
if(IsPlayerInRangeOfPoint(playerid,1,Nagelbaender[i][NagelbandX],Nagelbaender[i][NagelbandY],Nagelbaender[i][NagelbandZ]))
{
UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid),0,0,0,15);
}
}
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new idx;
new cmd[256];
cmd = strtok(cmdtext, idx);
if(strcmp(cmd ,"/sperre", true) == 0)
{
ShowPlayerDialog(playerid,DIALOG_SPERRE,DIALOG_STYLE_LIST,"Sperren Option","Nagelband\nKleine Sperre\nGroße Sperre","Okay","Abbrechen");
return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_SPERRE)
{
if(response)
{
if(listitem == 0)
{
nagelband = nagelband+1;
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,a);
Nagelbaender[nagelband][NagelbandX] = x;
Nagelbaender[nagelband][NagelbandY] = y;
Nagelbaender[nagelband][NagelbandZ] = z - 0.5;
CreateObject(2899, x, y, z - 0.5, 0.0, 0.0, a - 90.0);
}
}
}
return 1;
}
public OnGameModeInit()
{
SetTimer("NagelbandTimer",50,1);
return 1;
}
Ich würde mich freuen, wenn mir jemand sagen kann, was ich falsch gemacht habe, danke
mfg.
Cape