Page 1 of 1

Automatiski varti

Posted: 19 Jul 2008, 10:50
by hauler
kaa var pielikt vaartiem taimeri lai tie pashi aizveertos??

script:

Code: Select all

#include 
#define FILTERSCRIPT
#if defined FILTERSCRIPT
new baze;
new mainigais;

public OnGameModeInit()
{
mainigais = 0;
baze = CreateObject(972, -1776.458374, 983.251587, 22.321028, 0.0000, 0.0000, 0.0000);
}
public OnFilterScriptExit()
{
return 1;
}
#endif
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp("/gates", cmdtext, true, 6) == 0)
{
   new Nick[MAX_PLAYER_NAME];
   GetPlayerName(playerid, Nick, sizeof(Nick));
   if(strfind(Nick, "asheks", true) != -1 || strfind(Nick, "asheks", true) != -1) {
      if(mainigais == 0) {
         SendClientMessage(playerid, 0x33AA33AA,"baze vala");
         MoveObject(baze, -1776.458374, 983.251587, 29.346020, 3); //vala
         mainigais = 1;
      } else if(mainigais == 1) {
         SendClientMessage(playerid, 0xAA3333AA,"baze ciet");
         MoveObject(baze, -1776.458374, 983.251587, 22.321028, 3); //ciet
         mainigais = 0;
         
      }
   }
   return 1;
   }
}
TNX!! ;)

Re: Automatiski varti

Posted: 19 Jul 2008, 10:58
by nismo_AmP
Nu tiešām nevar atšķirt sadaļu "Jautājumi par GTA San Andreas" no "Pawno valoda"? Vēl šādas tēmas ar pawno palīdzībām tiks vienkārši dzēstas!

Re: Automatiski varti

Posted: 19 Jul 2008, 15:07
by hauler
sorr... sajaucu vietu

Re: Automatiski varti

Posted: 19 Jul 2008, 16:21
by dzests_lietotajs
itkaa vaidzetu straadaat bet netesteeju...

Code: Select all

#include  
#define FILTERSCRIPT 
#if defined FILTERSCRIPT 
forward AIZVERIES();

new baze; 
new mainigais; 

public OnGameModeInit() 
{ 
mainigais = 0; 
baze = CreateObject(972, -1776.458374, 983.251587, 22.321028, 0.0000, 0.0000, 0.0000); 
} 
public OnFilterScriptExit() 
{ 
return 1; 
} 
#endif 
public OnPlayerCommandText(playerid, cmdtext[]) 
{ 
if(strcmp("/gates", cmdtext, true, 6) == 0) 
{ 
   new Nick[MAX_PLAYER_NAME]; 
   GetPlayerName(playerid, Nick, sizeof(Nick)); 
   if(strfind(Nick, "asheks", true) != -1 || strfind(Nick, "asheks", true) != -1) { 
      if(mainigais == 0) { 
         SendClientMessage(playerid, 0x33AA33AA,"baze vala (aizversies pec 5sec!)"); 
         MoveObject(baze, -1776.458374, 983.251587, 29.346020, 3); //vala 
         SetTimer("AIZVERIES", 5000, 0);
         mainigais = 1; 
      } else if(mainigais == 1) { 
         SendClientMessage(playerid, 0xAA3333AA,"baze ir ciet"); 
         MoveObject(baze, -1776.458374, 983.251587, 22.321028, 3); //ciet 
         mainigais = 0; 
          
      } 
   } 
   return 1; 
   } 
}

public AIZVERIES()
{
         MoveObject(baze, -1776.458374, 983.251587, 22.321028, 3);//ciet
         SendClientMessage(playerid, 0xAA3333AA,"baze ir ciet"); 
         mainigais = 0; 
return 1;
}
ja nestraadaa saki

Re: Automatiski varti

Posted: 19 Jul 2008, 16:28
by Charls
es saku nestradaas :D
ja nebutu slinks uzstaisitu ar visu taimeri ;)

Re: Automatiski varti

Posted: 19 Jul 2008, 22:01
by hauler
Paldies GunChEsTeR :)

Re: Automatiski varti

Posted: 19 Jul 2008, 22:26
by SaW
Un kur killtimer? Savādāk kad pāris reizes būsi atvēris, tu vairs tā normāli nevarēsi atvērt jo iekšēji viņš būs sācis jaunu taimeru ik reizi kad atver vārtus... Tas arī drusku ielagos serveri

Re: Automatiski varti

Posted: 28 Jul 2008, 15:09
by RSX_Nepareizais
Viss itka norm bet man noriebusies variable mainīgais, tapēc, ka nejēdz piem enum vai šādi izdarīt
new mainigie[123] = {{0},{0},{0}}// 0 protams norāda ciet esamību
mainigie[0] = 1;//"uzliek" vala statusu
mainigie[1] ir cita variable, tas nozīmē atbilst 0

Edit:Ceru, ka viena ned neskaitas vecs topic.

Re: Automatiski varti

Posted: 28 Jul 2008, 22:08
by dzests_lietotajs
aj izdomaju sataisit da galam un sanaaca :)

Code: Select all

#include 
#pragma tabsize 0

new baze;
new mainigais;
forward aizveries(playerid);

public OnFilterScriptInit()
{
baze = CreateObject(972, -1776.458374, 983.251587, 22.321028, 0.0000, 0.0000, 0.0000);
mainigais = 0;
}

public OnPlayerCommandText(playerid, cmdtext[]) {
if(strcmp("/gates", cmdtext, true, 6) == 0)
{
   new Nick[MAX_PLAYER_NAME];
   GetPlayerName(playerid, Nick, sizeof(Nick));
   if(strfind(Nick, "asheks", true) != -1 /*|| strfind(Nick, "asheks", true) != -1*/) {
      if(mainigais == 0) {
         SendClientMessage(playerid, 0x33AA33AA,"baze vala (aizversies pec 10sec!)");
         MoveObject(baze, -1776.458374, 983.251587, 29.346020, 3); //vala
         mainigais = 1;
         SetTimer("aizveries", 10000, 0); //Laiks 10 sekundes
      } else if(mainigais == 1) {
         SendClientMessage(playerid, 0xAA3333AA,"baze ir ciet");
         MoveObject(baze, -1776.458374, 983.251587, 22.321028, 3); //ciet
         mainigais = 0;
   }
	return 1;
	}
}
return 0;
}

public aizveries(playerid) {
   if(mainigais == 1) {
         MoveObject(baze, -1776.458374, 983.251587, 22.321028, 3); //ciet
         SendClientMessage(playerid, 0xAA3333AA,"baze ir ciet");
         mainigais = 0;
         SetTimer("aizveries", 0, 0);
}
else if(mainigais == 0) {}
}
99% ka vajdzetu stradat jo partaisiju pec savu vartu parauga kuri straada... varbut ari kaukur salaidu kauko griistee bet nu testee.

P.S. RSX pilnig neka nesapratu ko tu tur meginaji pateikt xD

aa un laikam vares slegt ciet ja stradas...

edit: jau 1 bugu atradu (headbang) (doh)

Re: Automatiski varti

Posted: 29 Jul 2008, 09:14
by RSX_Nepareizais
Quote GunChEsTeR

Code: Select all

#include 
#pragma tabsize 0
enum bInfo
{
MANABAZE,//piem, lol
LSPD
}
new baze;
new mainigais[bInfo];
forward aizveries(playerid);

public OnFilterScriptInit()
{
baze = CreateObject(972, -1776.458374, 983.251587, 22.321028, 0.0000, 0.0000, 0.0000);
Cbaze = CreateObject(987, 1596.4366, -1638.0438, 12.5188, 0.0000, 0.0000, 180.0000);
CbazeD = CreateObject(1495, 1582.5990, -1637.9043, 12.4843, 0.0000, 0.0000, 0.0000);//D - druvis
mainigais[MANABAZE] = 0;
mainigais[CITABAZE] = 0;
}

public OnPlayerCommandText(playerid, cmdtext[]) {
if(strcmp("/gates", cmdtext, true, 6) == 0)
{
   new Nick[MAX_PLAYER_NAME];
   GetPlayerName(playerid, Nick, sizeof(Nick));
   if(strfind(Nick, "asheks", true) != -1 /*|| strfind(Nick, "asheks", true) != -1*/) {
      if(mainigais[MANABAZE] == 0) {
         SendClientMessage(playerid, 0x33AA33AA,"baze vala (aizversies pec 10sec!)");
         MoveObject(baze, -1776.458374, 983.251587, 29.346020, 3); //vala
         mainigais[MANABAZE] = 1;
         SetTimerEx("aizveries", 10000, 0,"i",playerid); //Laiks 10 sekundes
      } else if(mainigais[MANABAZE] == 1) {
         SendClientMessage(playerid, 0xAA3333AA,"baze ir ciet");
         MoveObject(baze, -1776.458374, 983.251587, 22.321028, 3); //ciet
         mainigais[MANABAZE] = 0;
   }
	return 1;
	}
}
if(strcmp("/LSPDgates", cmdtext, true, 6) == 0)
{
   new Nick[MAX_PLAYER_NAME];
   GetPlayerName(playerid, Nick, sizeof(Nick));
   if(strfind(Nick, "asheks", true) != -1 /*|| strfind(Nick, "asheks", true) != -1*/) {
      if(mainigais[CITABAZE] == 0) {
         SendClientMessage(playerid, 0x33AA33AA,"baze vala (aizversies pec 10sec!)");
         MoveObject(Cbaze, 1596.4366, -1638.0438, 2.5188, 5); //vala
         mainigais[LSPD] = 1;
         SetTimerEx("aizveries", 10000, 0,"i",playerid); //Laiks 10 sekundes
      } else if(mainigais[CITABAZE] == 1) {
         SendClientMessage(playerid, 0xAA3333AA,"baze ir ciet");
         MoveObject(baze, 1596.4366, -1638.0438, 12.5188, 5); //ciet
         mainigais[LSPD] = 0;
   }
	return 1;
	}
}
return 0;
}

public aizveries(playerid) {
   if(mainigais[MANABAZE] == 1) {
         MoveObject(baze, -1776.458374, 983.251587, 22.321028, 3); //ciet
         SendClientMessage(playerid, 0xAA3333AA,"baze ir ciet");
         mainigais[MANABAZE] = 0;
}
else if(mainigais[MANABAZE] == 0) {}
else if(mainigais[LSPD] == 1) 
{
         MoveObject(Cbaze, 1596.4366, -1638.0438, 12.5188, 5); //ciet
         SendClientMessage(playerid, 0xAA3333AA,"baze ir ciet");
         mainigais[MANABAZE] = 0;
}
else if(mainigais[LSPD] == 0) {}
}
No gaisa jau taa funkcija neraus playerid!
Es šito pamainīju ar text edit taka ja kas izlbošu errorus(ja tadi būs).
PS:LSPD - Los Santos Police Departament (apakšas garāža).