Hey,
ich habe mir einen /zoll Befehl erstellt und hab den jetzt getestet. Eig. geht ja alles, bloß werden die Schranken nach rechts bewegt statt nach unten.
Hier mein Code:
ZollInfo[1][zoll_schranke1] = CreateDynamicObject(973, 626.46, -1190.37, 18.80, 0.00, 0.00, 204.78);
ZollInfo[1][zoll_schranke2] = CreateDynamicObject(973, 631.78, -1187.90, 18.80, 0.00, 0.00, 204.78);
ZollInfo[2][zoll_schranke1] = CreateDynamicObject(973, 626.46, -1190.37, 18.80, 0.00, 0.00, 204.78);
ZollInfo[2][zoll_schranke2] = CreateDynamicObject(973, 631.78, -1187.90, 18.80, 0.00, 0.00, 204.78);
Das ganze ist ein enum.
Der /zoll Befehl:
ocmd:zoll(playerid,params[])
{
new Float:X1Z,Float:Y1Z,Float:Z1Z,Float:X2Z,Float:Y2Z,Float:Z2Z,Float:X3Z,Float:Y3Z,Float:Z3Z,Float:X4Z,Float:Y4Z,Float:Z4Z,string[128];
for(new i=1;i<MAX_ZOLL;i++)
{
if(IsPlayerInRangeOfPoint(playerid,10,ZollInfo[i][zoll_x],ZollInfo[i][zoll_y],ZollInfo[i][zoll_z]) || IsPlayerInRangeOfPoint(playerid,10,ZollInfo[i][zoll_schranke2x],ZollInfo[i],[zoll_schranke2y],ZollInfo[i][zoll_schranke2z])) {
GetObjectPos(ZollInfo[i][zoll_schranke1],X1Z,Y1Z,Z1Z);
GetObjectPos(ZollInfo[i][zoll_schranke2],X2Z,Y2Z,Z2Z);
GetObjectPos(ZollInfo[i][zoll_schranke3],X3Z,Y3Z,Z3Z);
GetObjectPos(ZollInfo[i][zoll_schranke4],X4Z,Y4Z,Z4Z);
MoveDynamicObject(ZollInfo[i][zoll_schranke1],X1Z,Y1Z,Z1Z-5,5);
MoveDynamicObject(ZollInfo[i][zoll_schranke2],X2Z,Y2Z,Z2Z-5,5);
MoveDynamicObject(ZollInfo[i][zoll_schranke3],X3Z,Y3Z,Z3Z-5,5);
MoveDynamicObject(ZollInfo[i][zoll_schranke4],X4Z,Y4Z,Z4Z-5,5);
format(string,sizeof(string),"Du hast Zoll [ID:%i] bezahlt!",i);
SendClientMessage(playerid,Color_Orange,string);
break;
}
}
return 1;
}
PS: Nicht wundern, es sind eig. 4 Schranken, wollte das oben nicht aufzählen, da es zu viel wird.
Ich hoffe, ihr könnt mir helfen.
Habe schon alles versucht.
//Edit: Es hat sich erledigt, musste nur GetObjectPos in GetDynamicObjectPos umwandeln.
Mfg Maksimo007