02.04.2012, 01:37
Boa noite pessoal,eu achei um sistema de Araras,e eu gostaria de fazer ele funcionar sу em determinado local,por exemplo,tem um pickup redondo vermelho,ai voce estб nele,e sу lб vocк pode comprar/alimentar/vender a arara,e fora desse pickup nгo pudesse digitar comandos da arara,como eu faзo isso?
pawn Код:
include <a_samp>
#include <dini>
#define BRANCO 0xFFFFFFFF
#define VERMELHO 0xFF0000FF
enum a
{
bool:Arara,
bool:Racao,
Grande,
Timer
}
new Info[MAX_PLAYERS][a];
public OnFilterScriptInit()
{
if(!fexist("Araras.txt")) { dini_Create("Araras.txt"); }
return 1;
}
public OnFilterScriptExit()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(Info[i][Arara]) { RemovePlayerAttachedObject(i, 0); }
}
return 1;
}
forward Crescimento(playerid);
public OnPlayerConnect(playerid)
{
new nome[24], str[50];
GetPlayerName(playerid, nome, 24);
format(str, sizeof str, "%s - Arara", nome);
if(dini_Isset("Araras.txt", str))
{
Info[playerid][Arara] = bool:dini_Bool("Araras.txt", str);
format(str, sizeof str, "%s - Racao", nome);
Info[playerid][Racao] = bool:dini_Bool("Araras.txt", str);
format(str, sizeof str, "%s - Grande", nome);
Info[playerid][Grande] = dini_Int("Araras.txt", str);
if(Info[playerid][Arara])
{
Info[playerid][Timer] = SetTimerEx("Crescimento", 600000, true, "i", playerid);
SendClientMessage(playerid, 0xFFFFFFFF, "Alimente sua arara ou ela morrerб.");
}
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if(Info[playerid][Arara]) { SetPlayerAttachedObject(playerid,0, 19079, 1, 0.319503, -0.089340, -0.185576, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 ); }
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new nome[24], str[50];
GetPlayerName(playerid, nome, 24);
format(str, sizeof str, "%s - Arara", nome);
dini_BoolSet("Araras.txt", str, Info[playerid][Arara]);
format(str, sizeof str, "%s - Racao", nome);
dini_BoolSet("Araras.txt", str, Info[playerid][Racao]);
format(str, sizeof str, "%s - Grande", nome);
dini_IntSet("Araras.txt", str, Info[playerid][Grande]);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/comprararara", true) == 0)
{
if(Info[playerid][Grande] >= 5) return SendClientMessage(playerid, VERMELHO, "Sua arara estб grande,e pronta para ser vendida! /venderarara!");
if(GetPlayerMoney(playerid)<2000)return SendClientMessage(playerid, BRANCO,"Vocк nгo tem R$2000!");
if(Info[playerid][Arara]) return SendClientMessage(playerid, BRANCO, "Vocк jб tem uma Arara!");
SendClientMessage(playerid, BRANCO, "Vocк comprou uma Arara!");
SendClientMessage(playerid, BRANCO, "Ela irб crescer de 10 em 10 minutos...");
SendClientMessage(playerid, BRANCO, "Nгo se esqueзa de Alimentб-la! /AlimentarArara");
SetPlayerAttachedObject(playerid,0, 19079, 1, 0.319503, -0.089340, -0.185576, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
GivePlayerMoney(playerid, -2000);
Info[playerid][Arara] = true;
Info[playerid][Timer] = SetTimerEx("Crescimento", 300000, true, "i", playerid);
return 1;
}
if(strcmp(cmdtext, "/infoarara", true) == 0)
{
if(Info[playerid][Grande] >= 5) return SendClientMessage(playerid, VERMELHO, "Sua arara estб grande,e pronta para ser vendida! /venderarara!");
if(!Info[playerid][Arara]) return SendClientMessage(playerid, VERMELHO, "Vocк nгo tem uma arara.");
if(Info[playerid][Racao]) { SendClientMessage(playerid, BRANCO, "Arara Alimentada: {008000}Sim"); }
else { SendClientMessage(playerid, BRANCO, "Arara Alimentada: {FF0000}Nгo"); }
return 1;
}
if(strcmp(cmdtext, "/alimentararara", true) == 0)
{
if(Info[playerid][Grande] >= 5) return SendClientMessage(playerid, VERMELHO, "Sua arara estб grande,e pronta para ser vendida! /venderarara!");
if(!Info[playerid][Arara]) return SendClientMessage(playerid, VERMELHO, "Vocк nгo tem uma arara.");
if(Info[playerid][Racao]) return SendClientMessage(playerid, BRANCO, "Vocк jб alimentou sua Arara!");
SendClientMessage(playerid, BRANCO, "Vocк alimentou sua Arara! Isso lhe custou R$400");
GivePlayerMoney(playerid, -400);
Info[playerid][Racao] = true;
return 1;
}
if(strcmp(cmdtext, "/venderarara", true) == 0)
{
if(!Info[playerid][Arara]) return SendClientMessage(playerid, BRANCO,"Vocк nгo tem uma Arara!");
if(Info[playerid][Grande] < 5) return SendClientMessage(playerid, BRANCO,"Sua Arara ainda nгo estб grande para ser vendida!");
Info[playerid][Grande] = 0;
Info[playerid][Arara] = false;
RemovePlayerAttachedObject(playerid, 0);
GivePlayerMoney(playerid, 12000);
SendClientMessage(playerid, BRANCO, "Vocк vendeu sua Arara e ganhou R$12000!");
return 1;
}
return 0;
}
public Crescimento(playerid)
{
if(!Info[playerid][Arara])
{
KillTimer(Info[playerid][Timer]);
return 0;
}
if(!Info[playerid][Racao] && Info[playerid][Grande] < 5)
{
SendClientMessage(playerid, BRANCO, "Vocк esqueceu de alimentar sua Arara,e ela morreu!");
RemovePlayerAttachedObject(playerid, 0);
Info[playerid][Arara] = false;
Info[playerid][Grande] = 0;
KillTimer(Info[playerid][Timer]);
return 1;
}
new str[30];
Info[playerid][Grande]++;
Info[playerid][Racao] = false;
format(str, sizeof str, "Sua Arara Cresceu!(%d/5)", Info[playerid][Grande]);
SendClientMessage(playerid, BRANCO, str);
if(Info[playerid][Grande] >= 5)
{
SendClientMessage(playerid, BRANCO, "Sua arara estб grande,e pronta para ser vendida! /venderarara!");
KillTimer(Info[playerid][Timer]);
}
return 1;
}