-
Black_Rock.
User deleted
Ciao a tutti playeroni e Admin di IUS, Oggi vi spiego come creare dei Caselli per metteri per la base, visto che i CMD per la base devono essere inferiori a 3:
Ho scritto tutto qui sotto, basta che fate un copia e incolla su pawno già si vede tutto:SPOILER (clicca per visualizzare)CODICE#define FILTERSCRIPT
#include <streamer>
#include <a_samp>
#include <a_players>
/* FORWARDS per il tempo */
forward TollGameOpen01();
forward TollGameOpen02();
forward TollGameOpen03();
forward TollGameOpen04();
/* NEW(Tollgate o Caselli per essere elaborati) "Tollgate o caselli sono la stessa cosa" */
new TollGate1;
new TollGate2;
new TollGate3;
new TollGate4;
new elevatore;
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
/* Qui gli object per bloccare il casello, io Ho usato l'object 974 ma non siete obbligati a fare per forza 974, funziona con tutti gli object */
TollGate1 = CreateDynamicObject(974, 3181, 510.20001, 6.4, 0, 0, 90);
TollGate2 = CreateDynamicObject(974, 3188, 502.10001, 6.3, 0, 0, 90);
TollGate3 = CreateDynamicObject(974, 2815.30005, 262.10001, 8, 0, 0, 90);
TollGate4 = CreateDynamicObject(974, 2809.30005, 271.20001, 7.5, 0, 0, 86);
elevatore = CreateDynamicObject(2978, 3066, 491.89999, 4.1, 0, 0, 0);
/* Tempo che deve stare il player sotto il casello per aprirsi*/
SetTimer("TollGameOpen01", 1000, 1);
SetTimer("TollGameOpen02", 1000, 1);
SetTimer("TollGameOpen03", 1000, 1);
SetTimer("TollGameOpen04", 1000, 1);
/* Qui mettete tutti gli object della vostra base */
CreateDynamicObject(3997, 3102.7998, 404.69922, 3.6, 0, 0, 0);
CreateDynamicObject(3997, 3103, 524.59998, 3.6, 0, 0, 0);
CreateDynamicObject(3866, 3033.69922, 357.89941, 11.4, 0, 0, 87.99);
CreateDynamicObject(3887, 3032, 386.5, 10.9, 0, 0, 0);
AddStaticVehicleEx(560,3080.1999500,506.5000000,4.4000000,0.0000000,0,0,15); //Sultan
AddStaticVehicleEx(560,3074.1999500,506.6000100,4.4000000,0.0000000,0,0,15); //Sultan
Create3DTextLabel("Base BlackBloc, difendetela con cura e astuzia", 0x00000000, 3084.19995,418.29999, 2.0, 40.0, 0, 0);
return 1;
}
#else
main()
{}
#endif
/* Qui inizia il bello ehehehe*/
/* Per accorciarvi la vita fate un copia e incolla e modificate quello che dico io */
public TollGameOpen01()
{
new open;
for(new i=GetMaxPlayers(); i > -1; i--)
{
/* qui devi scrivere le coordinate dove il player si deve trovare per aprirsi il casello*/
if(IsPlayerInRangeOfPoint(i, 8.0, 3184.69995,510.39999,3.8665)) /* (i, il range lasciate 8.0, coordinata X, coordinata Y, coordinata Z)*/
{
if(DoesPlayerHasTag(i,"[BlackBloc")) /* al posto di [BlackBloc mettete la tag del vostro Clan */
{
SendClientMessage(i,0xFFFFFFFF,"Apertura in corso... Questo FS è stato creato da Rock");
open = 1;
MoveDynamicObject(TollGate1, 3181, 510.20001, 0, 2.0); /* qui lo spostamento che deve fare il cancello del casello */
break;
}
}
if(!open)
MoveDynamicObject(TollGate1, 3181, 510.20001, 6.4, 2.0); /* qui lo spostamento che deve fare il cancello del casello per ritornare come era prima*/
}
}
public TollGameOpen02()
{
new open;
for(new i=GetMaxPlayers(); i > -1; i--)
{
if(IsPlayerInRangeOfPoint(i, 8.0, 3186.3999, 502.20001, 4.6))
{
if(DoesPlayerHasTag(i,"[BlackBloc"))
{
SendClientMessage(i,0xFFFFFFFF,"Apertura in corso... Questo FS è stato creato da Rock, (Vietata la copia dell' idea)");
{
open = 1;
MoveDynamicObject(TollGate2, 3188, 502.10001, 0, 2.0);
break;
}
}
}
if(!open)
MoveDynamicObject(TollGate2, 3188, 502.10001, 6.3, 2.0);
}
}
public TollGameOpen03()
{
new open;
for(new i=GetMaxPlayers(); i > -1; i--)
{
if(IsPlayerInRangeOfPoint(i, 8.0, 2812.80005, 261.79999, 6.4))
{
if(DoesPlayerHasTag(i,"[BlackBloc"))
{
SendClientMessage(i,0xFFFFFFFF,"Apertura in corso... Questo FS è stato creato da Rock, (Vietata la copia dell' idea)");
{
open = 1;
MoveDynamicObject(TollGate3, 2815.30005, 262.10001, 0, 2.0);
break;
}
}
}
if(!open)
MoveDynamicObject(TollGate3, 2815.30005, 262.10001, 8, 2.0);
}
}
public TollGameOpen04()
{
new open;
for(new i=GetMaxPlayers(); i > -1; i--)
{
if(IsPlayerInRangeOfPoint(i, 8.0, 2810.3999, 271.39999, 6.2))
{
if(DoesPlayerHasTag(i,"[BlackBloc"))
{
SendClientMessage(i,0xFFFFFFFF,"Apertura in corso... Questo FS è stato creato da Rock, (Vietata la copia dell' idea)");
{
open = 1;
MoveDynamicObject(TollGate4, 2809.30005, 271.20001, 0, 2.0);
break;
}
}
}
if(!open)
MoveDynamicObject(TollGate4, 2809.30005, 271.20001, 7.5, 2.0);
}
}
/* qui è tutto spiegato da un'altra discussione fatto dall'admin Tommy, quindi non scrivo niente*/
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext,"/bkbase",true))
{
if(DoesPlayerHasTag(playerid,"[BlackBloc"))
{
SetPlayerPos(playerid,3084.19995,418.29999,5);
SetPlayerSkin(playerid, 299);
SetPlayerColor(playerid, 0x00000000);
SendClientMessage(playerid, 0xFF0000FF,"Ti sei teletrasportato alla base BlackBloc! Founder Clan : MADNESS, Responsabible : Rock");
SendClientMessage(playerid, 0xFF0000FF,"In BlackBloc non esistono superiori ma siamo tutti uguali");
SendClientMessage(playerid, 0xFF0000FF,"L'unica regola è il rispetto tra i compagni e alleati");
SendClientMessage(playerid, 0xFF0000FF,"Visita il forum BlackBloc in bkius.forumfree.it");
}else{
SendClientMessage(playerid, 0xFF0000FF, "*** Non puoi usare questo comando!");
}
return 1;
}
if(!strcmp(cmdtext,"/bkon",true))
{
if(DoesPlayerHasTag(playerid,"[BlackBloc"))
{
MoveDynamicObject(elevatore, 3065.5, 462.39999, 61.5, 100);
SendClientMessage(playerid, 0xFF0000FF,"Usa questo comando solo in caso di necessità, meglio usarlo avendo un RPG e sparare di sopra");
}else{
SendClientMessage(playerid, 0xFF0000FF, "*** Non puoi usare questo comando!");
}
return 1;
}
if(!strcmp(cmdtext,"/bkoff",true))
{
if(DoesPlayerHasTag(playerid,"[BlackBloc"))
{
MoveDynamicObject(elevatore, 3066, 491.89999, 4.1, 100);
SendClientMessage(playerid, 0xFF0000FF,"Usa questo comando solo in caso di necessità, meglio usarlo avendo un RPG e sparare di sopra");
}else{
SendClientMessage(playerid, 0xFF0000FF, "*** Non puoi usare questo comando!");
}
return 1;
}
return 0;
}
public OnFilterScriptExit()
{
return 1;
}
/* !!!!!!!!ATTENZIONE!!!!!!!! RICORDATEVI DI METTERE QUESTO STOCK SOTTO LO SCRITP SENNò NON FUNGE NIENTE*/
stock DoesPlayerHasTag(playerid,tag[]) {
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
return (strfind(name,tag,true) != -1);
}
Se non avete capito nulla e volete fare il casello, contattatemi in MP e non mi assumo nessuna responsabilità della vostra base.
Guida By Rock
Edited by Black_Rock - 3/8/2013, 23:07. -
.
Questo non è un tutorial..hai rilasciato uno script e basta senza spiegazione...hai scritto qualche commento..comunque è utile fino a un certo punto.. . -
Black_Rock.
User deleted
Lo faró dinuovo con piú dettagli. . -
-Tommy-.
User deleted
Screen?
un consiglio: differenzia con colori la spiegazione e lo script.. -
Black_Rock.
User deleted
CITAZIONEScreen?
Tranquillo, poi farò un tutorial dettagliato.