07.08.2012, 00:09
bspikes
Tapete de pregos
Hoje estive desenvolvendo esta include, pois visto que aqui no forum sa-mp nгo existe nenhum script de tapetes de pregos "bem feito", muitos tem bugs e eu decidi fazer o meu, neste momento ele й capaz de estar desoptimizado, mas estou um pouco cansado e como optimizaзгo nгo seria muito importante nesta include decidi por nгo me preocupar muito com isso.Tapete de pregos
Funзхes Principais
- IsPlayerInSpike(playerid,bool:engine,bool:fire,max speed,dfiretime)
- playerid
- ID do jogador.
- engine
- desliga o motor, lembrando que й como quebrasse o motor do veiculo.
- fire
- cria fogo nas rodas, lembrando que o fogo sу й colocado na roda direita ao lado do motor.
- maxspeed
- o mбximo de velocidade necessбria para criar o fogo e/ou desligar o motor
- dfiretime
- o tempo em milisegundos para destruir o objecto do fogo
- playerid
- CreateSpike(playerid,playername[])
- playerid
- ID do jogador
- playername
- Nome do jogador
- playerid
- TeleportToSpike(playerid,spikeid)
- playerid
- ID do jogador
- spikeid
- ID do tapete de pregos
- playerid
- DestroySpike(playerid)
- playerid
- ID do jogador
- playerid
pawn Код:
public OnPlayerConnect(playerid)
{
SetTimerEx("IsPlayerInSpike",500,true,"ddddd",playerid,fire,engine,velocidade,tempo);
return 1;
}
//comando
bCMD[criar]-(playerid){
new name[24];
GetPlayerName(playerid,name,24);
CreateSpike(playerid,name);
SendClientMessage(playerid,-1,"Criando um tapete de pregos.");
return 1;
}
bCMD[irtapete]-(playerid,params[]){
if(IsPlayerAdmin(playerid)){
if(isnull(params))
return SendClientMessage(playerid,-1,"USE: /irtapete [id]");
TeleportToSpike(playerid,strval(params));
}
return 1;
}
bCMD[destroi]-(playerid){
return DestroySpike(playerid);
}
Callbacks de respostas
Eu criei 2 callbacks que enviam respostas apos as duas funзхes que mostrei serem executadas.
- OnPlayerPassedSpike(playerid,bool:fire,bool:engine )
- playerid
- ID do jogador
- fire
- Variavel que define se o pneu pegou fogo.
- engine
- Variбvel que define se o motor foi quebrado.
- playerid
- OnSpikeCreated(playerid ,playername,spikeid,Float:spikex,Float:spikey,Floa t:spikez)
- playerid
- ID do jogador
- playername
- Nome do jogador que criou
- spikeid
- ID do tapete de pregos
- spikex,spikey,spikez
- Coordenadas do tapete de pregos
- playerid
pawn Код:
public OnSpikeCreated(playerid,playername,spikeid,Float:spikex,Float:spikey,Float:spikez){
new result[128],name[24];
GetPlayerName(playerid,name,24);
for(new i; i<MAX_PLAYERS; ++i){
if(IsPlayerAdmin(i)){
format(result,sizeof result,"O jogador %s(%d) criou um tapete de pregos, use {808080} /irtapete %d{FFFFFF} para ver o tapete",name,playerid,spikeid);
SendClientMessage(i,-1,result);
}
}
return 1;
}
public OnPlayerPassedSpike(playerid,bool:fire,bool:engine){
if(fire && engine){
SendClientMessage(playerid,0x800000AA,"Opa, seu carro esta pegando fogo!");
}
return 1;
}
Imagens
http://i49.tinypic.com/1om5hf.pnghttp://i46.tinypic.com/2igp0cz.png
http://i48.tinypic.com/2wp8kgn.png
http://i50.tinypic.com/ra7mnc.png
Download
MediaFire - PasteBin - v1.0Crйditos
- BlueX
- Criador da include.
- Leonardo1434
- Testou a include comigo.
- [iPs]TeaM
- Melhor equipe de programaзгo.
- SA-MP Team
- Passado/Presente/Futuro