Pessoal eu fiz um sistema de arrombar DP mas ele dб 6 erros.
Код:
#include <a_samp>
#define FILTERSCRIPT
#if defined FILTERSCRIPT
#define COR_GRO 0x33FF00F6
#define COLOR_GREY 0xAFAFAFAA
#define F_MAX_OBJECTS 850
#define CantCreateMore
#define OInfo
new sendername[MAX_PLAYER_NAME];
new string[128],
new bool:CantCreateMore;
new bool:ObjectUpdatetRunning;
enum OInfo
{
ModelID,
ObjectID[MAX_PLAYERS],
Float:ox,
Float:oy,
Float:oz,
Float:orx,
Float:ory,
Float:orz,
Float:ovdist,
bool:ObjectCreated[MAX_PLAYERS],
}
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
stock F_CreateObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, Float:vdist=0.0)
{
if(ObjectUpdatetRunning == false)
{
SetTimer("F_StartUpdate", F_MAX_OBJECTS/2, 0);
ObjectUpdatetRunning = true;
}
new objectid;
if(CantCreateMore == false)
{
for(new i; i<F_MAX_OBJECTS; i++)
{
if(i == F_MAX_OBJECTS-1)
{
printf("Only the first %i objects could be created - object limit exceeded.", F_MAX_OBJECTS);
CantCreateMore = true;
}
if(ObjectInfo[i][ModelID] == 0)
{
objectid = i;
break;
}
}
}
else
{
return -1;
}
if(modelid == 0)
{
printf("Invalid modelid for object %i", objectid);
return -1;
}
ObjectInfo[objectid][ModelID] = modelid;
ObjectInfo[objectid][ox] = x;
ObjectInfo[objectid][oy] = y;
ObjectInfo[objectid][oz] = z;
ObjectInfo[objectid][orx] = rx;
ObjectInfo[objectid][ory] = ry;
ObjectInfo[objectid][orz] = rz;
ObjectInfo[objectid][ovdist] = vdist;
return objectid;
}
stock F_IsValidObject(objectid)
{
if(ObjectInfo[objectid][ModelID] == 0 || objectid == -1)
{
return 0;
}
return 1;
}
stock F_DestroyObject(objectid)
{
if(F_IsValidObject(objectid))
{
for(new playerid; playerid<MAX_PLAYERS; playerid++)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid) && ObjectInfo[objectid][ObjectCreated][playerid] == true)
{
DestroyPlayerObject(playerid, ObjectInfo[objectid][ObjectID][playerid]);
ObjectInfo[objectid][ObjectCreated][playerid] = false;
}
}
ObjectInfo[objectid][ModelID] = 0;
return 1;
}
return 0;
}
forward destrancandodp(playerid);
public OnFilterScriptInit()
{
print("--------------------------------------------");
print(" Sistema de Arrombar DP By: SmooK_Hurley");
print(" CARREGADO COM SUCESSO !");
print("Editado e Transformado por: Hexa_StifleR");
print("--------------------------------------------");
return 1;
}
public destrancandodp(playerid)
{
usotrancardp = 0;
CreateExplosion(245.32524109,72.28179932,1003.91412354,12,10.0);
F_MoveObject( PDDOORa, 247.005905 , 72.448440 , 1006.912902,3);
F_DestroyObject(dinamit);
SetTimer("GaragemDpClosed", 4000, false);
SendClientMessage(playerid, 0xFF0000AA, "Vocк Arrombou a Dp GoGoGo invadir.");
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmd, "/arrombardp", true) == 0)
{
new org = GetPlayerOrg(playerid);
if(PlayerToPoint(4.0, playerid, 246.4375,71.5205,1003.6406))
{
if(org != 1 && org != 2 && org != 3 && org != 11 && org != 16 && org != 29)
{
SendClientMessage(playerid,COLOR_GREY," Vocк nгo pode Arrombar a DP!");
return 1;
}
if(usotrancardp == 0)
{
SendClientMessage(playerid,COLOR_GREY,"A Dp Nгo estб Trancada.");
return 1;
}
SendClientMessage(playerid, COLOR_GREY, "Espere 2 Minutos para Arrombar o Portгo da DP.");
dinamit = F_CreateObject(1654,245.32524109,72.28179932,1003.91412354,0.00000000,0.00000000,0.00000000);
SetTimer("destrancandodp", 120000, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s estб Arrombando o Portгo da DP.", sendername);
ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
else
{
SendClientMessage(playerid, COR_GRO, "Vocк Nгo estб perto do Portгo da DP.");
}
return 1;
}
return 1;
}
#endif