Hali. Elsõnek felveszed a kapukat:
#define MAX_KAPU 100
new Kapu[MAX_KAPU];
public OnFilterScriptInit()
{
Kapu[0] = CreateObject(... //az elsõ kapu
Kapu[1] = CreateObject(... //a második kapu és így tovább
return 1;
}
Utána csinálsz egy stock függvényt:
stock GetKapuID(playerid)
{
new result = -1,Float:X,Float:Y,Float:Z;
for(new i;i {
GetObjectPos(Kapu,X,Y,Z);
if(IsPlayerInRangeOfPoint(playerid, 2.0, X,Y,Z)) {
result = i;
break;
}
}
return result;
}
És a parancs:
CMD:nyit(playerid)
{
new kapuid = GetKapuID(playerid);
if(kapuid == -1)return SendClientMessage(playerid, -1, \"Nem vagy egy kapu közelébe sem!\");
else
{
MoveObject(Kapu[kapuid],...
}
return 1;
}
Egészbe:
#include
#include
#define MAX_KAPU 100
new Kapu[MAX_KAPU];
public OnFilterScriptInit()
{
Kapu[0] = CreateObject(... //az elsõ kapu
Kapu[1] = CreateObject(... //a második kapu és így tovább
return 1;
}
CMD:nyit(playerid)
{
new kapuid = GetKapuID(playerid);
if(kapuid == -1)return SendClientMessage(playerid, -1, \"Nem vagy egy kapu közelébe sem!\");
else
{
MoveObject(Kapu[kapuid],2.0,32.0,30.3,1.0);//kecske
}
return 1;
}
stock GetKapuID(playerid)
{
new result = -1,Float:X,Float:Y,Float:Z;
for(new i;i {
GetObjectPos(Kapu,X,Y,Z);
if(IsPlayerInRangeOfPoint(playerid, 2.0, X,Y,Z)) {
result = i;
break;
}
}
return result;
}