05.08.2013, 19:33
Inнcio
Bom, primeiramente eu gostaria de pedir perdao pela ъltima coisa que eu postei aqui no Fуrum.
Se a vida й um recomeзo, eu quero recomeзб-la a partir do momento cujo eu nunca acabei.
Sistemas
° Sistema de Tapete de Pregos (Biel_COP e Schocc).
° Sistema de Rapel no Helicуptero (Biel_COP).
° Sistema de Barreiras (Biel_COP).
° Sistema de Bloqueio (Biel_COP).
Comandos
/sistemas - Abra o Dialog das Opзoes.
/sistemascreditos - Veja os Crйditos dos Sistemas.
Fotos
/sistemas
Sistema de Rapel
Sistema de Barreira
Sistema de Tapete de Pregos
Furando o Pneu
Sistema de Bloqueio
Finalizando
Gostaria de agradecer por lerem o tуpico, estarei postando as Coletвneas 2 e 3 em alguns dias, semanas, ou meses...
Por Fim, gostaria que vocкs Huge Cluckers, Gangstas, High Rollers, Godfathers, nao zombassem de um novato que realmente precisa de um sistema como este.
Nota: Estes 4 sistemas Foram pedidos pelo pessoal do meu SKYPE. Os mesmos estao no BPO RPG (IP na assinatura).
Gostou ? Esta й a intenзao
pawn Код:
#include <a_Samp>
#include <Zcmd>
#define Maximo_Players 100
#define Tap 1 // Tapete
#define Bar 2 // Barreira
#define Bloq 3 // Bloqueio
#define Rap 4 // Rapel
enum Tapetes
{
TapeteCriado,
Float:Local1,
Float:Local2,
Float:Local3
};
new Tapete[Maximo_Players][Tapetes];
new Barreira[Maximo_Players];
new Bloqueio[Maximo_Players];
enum Rapeis
{
RapelCriado,
Rapel1,
Rapel2,
};
new Rapel[Maximo_Players][Rapeis];
public OnFilterScriptInit()
{
print("Coletвnea RPG #1");
print("Criador: Biel_COP");
for(new i=0; i<Maximo_Players; i++)
{
SetTimerEx("AtualizarTapete",500,1,"i",i);
}
return 1;
}
public OnPlayerDisconnect(playerid,reason)
{
if(TemItem(playerid,Tap))
{
DestroyObject(Tapete[playerid][TapeteCriado]); Tapete[playerid][TapeteCriado] = 0;
Tapete[playerid][Local1] = 0.0;
Tapete[playerid][Local2] = 0.0;
Tapete[playerid][Local3] = 0.0;
}
if(TemItem(playerid,Bar))
{
DestroyObject(Barreira[playerid]); Barreira[playerid] = 0;
}
if(TemItem(playerid,Bloq))
{
DestroyObject(Bloqueio[playerid]); Bloqueio[playerid] = 0;
}
if(TemItem(playerid,Rap))
{
Rapel[playerid][RapelCriado] = 0;
DestroyObject(Rapel[playerid][Rapel1]); Rapel[playerid][Rapel1] = 0;
DestroyObject(Rapel[playerid][Rapel2]); Rapel[playerid][Rapel2] = 0;
}
return 1;
}
public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
{
if(dialogid == 1000)
{
if(response)
{
if(listitem == 0)
{
if(TemItem(playerid,Tap))
{
SendClientMessage(playerid,0xBFBFBFAA,"Vocк Jб criou um Tapete!");
return 1;
}
new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); SetPlayerPos(playerid,x,y+5.0,z);
Tapete[playerid][TapeteCriado] = CreateObject(2899,x,y,z-0.80,0.0,0.0,0.0,50.0);
Tapete[playerid][Local1] = x;
Tapete[playerid][Local2] = y;
Tapete[playerid][Local3] = z-0.80;
GameTextForPlayer(playerid,"~r~Tapete criado!",5000,3);
}
if(listitem == 1)
{
if(TemItem(playerid,Bar))
{
SendClientMessage(playerid,0xBFBFBFAA,"Vocк Jб criou uma Barreira!");
return 1;
}
new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); SetPlayerPos(playerid,x,y+5.0,z);
Barreira[playerid] = CreateObject(981,x,y,z,0.0,0.0,0.0,50.0);
GameTextForPlayer(playerid,"~r~Barreira criada!",5000,3);
}
if(listitem == 2)
{
if(TemItem(playerid,Bloq))
{
SendClientMessage(playerid,0xBFBFBFAA,"Vocк Jб criou um Bloqueio!");
return 1;
}
new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); SetPlayerPos(playerid,x,y+5.0,z);
Bloqueio[playerid] = CreateObject(4526,x,y,z+1.0,0.0,0.0,0.0,50.0);
GameTextForPlayer(playerid,"~r~Bloqueio criado!",5000,3);
}
if(listitem == 3)
{
if(TemItem(playerid,Rap))
{
SendClientMessage(playerid,0xBFBFBFAA,"Vocк Jб criou um Rapel!");
return 1;
}
new vehicleid = GetVehicleModel(GetPlayerVehicleID(playerid));
if(vehicleid == 487 || vehicleid == 488 || vehicleid == 497)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
vehicleid = GetPlayerVehicleID(playerid);
Rapel[playerid][RapelCriado] = 1;
Rapel[playerid][Rapel1] = CreateObject(2395,0,0,0,0,0,0,0);
Rapel[playerid][Rapel2] = CreateObject(2395,0,0,0,0,0,0,0);
AttachObjectToVehicle(Rapel[playerid][Rapel1],vehicleid,3.90,-0.40,-1.0,-90.0,-90.0,0.0);
AttachObjectToVehicle(Rapel[playerid][Rapel2],vehicleid,-1.20,-0.40,-1.0,-90.0,-90.0,0.0);
GameTextForPlayer(playerid,"~r~Rapel colocado!",5000,3);
}
}
else
{
SendClientMessage(playerid,0xBFBFBFAA,"Vocк nгo estб em um Helicуptero!");
}
}
if(listitem == 4)
{
if(TemItem(playerid,Tap))
{
DestroyObject(Tapete[playerid][TapeteCriado]); Tapete[playerid][TapeteCriado] = 0;
Tapete[playerid][Local1] = 0.0;
Tapete[playerid][Local2] = 0.0;
Tapete[playerid][Local3] = 0.0;
GameTextForPlayer(playerid,"~r~Tapete retirado!",5000,3);
}
else
{
SendClientMessage(playerid,0xBFBFBFAA,"Vocк nгo tem um Tapete!");
}
}
if(listitem == 5)
{
if(TemItem(playerid,Bar))
{
DestroyObject(Barreira[playerid]); Barreira[playerid] = 0;
GameTextForPlayer(playerid,"~r~Barreira destruida!",5000,3);
}
else
{
SendClientMessage(playerid,0xBFBFBFAA,"Vocк nгo tem uma Barreira!");
}
}
if(listitem == 6)
{
if(TemItem(playerid,Bloq))
{
DestroyObject(Bloqueio[playerid]); Bloqueio[playerid] = 0;
GameTextForPlayer(playerid,"~r~Bloqueio destruido!",5000,3);
}
else
{
SendClientMessage(playerid,0xBFBFBFAA,"Vocк nгo tem um Bloqueio!");
}
}
if(listitem == 7)
{
if(TemItem(playerid,Rap))
{
Rapel[playerid][RapelCriado] = 0;
DestroyObject(Rapel[playerid][Rapel1]); Rapel[playerid][Rapel1] = 0;
DestroyObject(Rapel[playerid][Rapel2]); Rapel[playerid][Rapel2] = 0;
GameTextForPlayer(playerid,"~r~Rapel retirado!",5000,3);
}
else
{
SendClientMessage(playerid,0xBFBFBFAA,"Vocк nгo tem um Rapel!");
}
}
}
return 1;
}
return 1;
}
// Comandos
CMD:sistemas(playerid)
{
ShowPlayerDialog(playerid,1000,DIALOG_STYLE_LIST,"Coletвnea RPG #1","Plantar um Tapete\nCriar uma Barreira\nCriar um Bloqueio\nColocar um Rapel\nRetirar o Tapete\nDestruir a Barreira\nDestruir o Bloqueio\nRetirar o Rapel","Escolher","Cancelar");
return 1;
}
CMD:sistemascreditos(playerid)
{
ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Coletвnea RPG #1","Criador: Gabriel (Biel_COP)\n\nAjuda Principal: Leandro (Schocc)\n\nEsclarecimento de Dъvidas: Bruno (IpsBruno)","Cancelar","");
}
// Stocks
stock TemItem(playerid,item) // By Biel_COP
{
if(item == Tap)
{
if(Tapete[playerid][TapeteCriado])
{
return 1;
}
}
if(item == Bar)
{
if(Barreira[playerid])
{
return 1;
}
}
if(item == Bloq)
{
if(Bloqueio[playerid])
{
return 1;
}
}
if(item == Rap)
{
if(Rapel[playerid][RapelCriado])
{
return 1;
}
}
return 0;
}
// Forwards
forward AtualizarTapete(playerid);
public AtualizarTapete(playerid)
{
if(IsPlayerInAnyVehicle(playerid))
{
for(new i=0; i<Maximo_Players; i++)
{
if(IsPlayerConnected(i))
{
if(TemItem(i,Tap))
{
if(IsPlayerInRangeOfPoint(playerid,2.5,Tapete[i][Local1],Tapete[i][Local2],Tapete[i][Local3]))
{
new v[5]; v[0] = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(v[0],v[1],v[2],v[3],v[4]);
UpdateVehicleDamageStatus(v[0],v[1],v[2],v[3],10);
GameTextForPlayer(playerid,"~r~Pneu Furado!",2000,3);
}
}
}
}
}
return 1;
}