[Pomoc] Textdraw timer :/


Započeo ѕєуzιι¢н™.amx, Jul 03, 2011, 22:49:10 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: Raven's RP
Detaljan opis problema: Timer -.-" Napravio sam par Textdrawova i hocu da se nakon 30sec mjenjaju ima ih 11 moze li mi neko pomoci trebale bi se paliti na /startdeliver komandu. Znaci trebalo bi mi pomoci kako napraviti timer jer me on najvise i zeza i kako ga ubaciti u komandu ako se nekom da bio bi zahvalan pa da napravi to :)
Dio skripte: //
Neke slike/video za lakse dobivanje pomoci(neobavezno): //
Izrada web aplikacija/desktop aplikacija, kontakt PM.
VPS/Dedi managment 'n' hosting @pm also.

http://wiki.sa-mp.com/wiki/SetTimer evo ovo bi trebalo pomoci ako imalo razumijes engleski  ;)
Ne igram SA:MP vise..

stavis SetTimer, pogledas tu parametre na samp wiki sta ti je ovaj gore dao, i napravis novi public sa forwarrdom primjer Deliver, i onda u timeru taj public koristis a u taj public ti ide TextDrawShowForPlayer...
Uskoro novi stunt server iStunt. DoÄ'ite i zabavite se!




   
   




Dizajniram za $$$
Popis stvari koje radim:

Wallpaper √  Signature ×  Logo √  Dizajn stranice (Ne kodiranje) √  Baner √  Avatar √  Animacija √  Intro √

Mislim da sam skuzio :P

forward deliverdok();

public OnGameModeInit()
{
if strcmp(text,"/startdeliver",true) {
SetTimer("deliverdok", 10000, false);       
}

public deliverdok()
{
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw1);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw2);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw3);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw4);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw5);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw6);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw7);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw8);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw9);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw10);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw11);
{

A sad me muci ti svi TextDrawovi ce mi se od jednom pokazat kako da namjestim da se svaki nakon 30 sekundi pokazuje :S?

Izrada web aplikacija/desktop aplikacija, kontakt PM.
VPS/Dedi managment 'n' hosting @pm also.

Citat: SeYziicH poslato Jul 04, 2011, 16:41:05 POSLE PODNE
Mislim da sam skuzio :P

forward deliverdok();

public OnGameModeInit()
{
if strcmp(text,"/startdeliver",true) {
SetTimer("deliverdok", 10000, false);       
}

public deliverdok()
{
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw1);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw2);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw3);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw4);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw5);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw6);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw7);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw8);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw9);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw10);
  TextDrawShowForPlayer(playerid, Text:DockSysteamTextdraw11);
{

A sad me muci ti svi TextDrawovi ce mi se od jednom pokazat kako da namjestim da se svaki nakon 30 sekundi pokazuje :S?



Nista ne valja! ;S

Kako ces strcmp staviti u OnGameModeInit() ?

i to ces ovako uraditi, pazi:

forward deliverdok();

public OnGameModeInit()
{
if strcmp(text,"/startdeliver",true) { 
SetTimer("deliverdok", 10000, true);        
}
OnPlayerCommandText(playerid, cmdtext[])
{
	if(strcmp(cmdext, "/startdeliver", true) == 0)
	{
		SetPVarInt(playerid, "Deliver", 1);
	}
	return 1;
}
public deliverdok()
{
	for(new i=0; i<MAX_PLAYERS; i++)
	{
		switch(GetPVarInt(i, "Deliver"))
		{
			case 1: { TextDrawShowForPlayer(i, Text:DockSysteamTextdraw1); SetPVarInt(i, "Deliver", 2); }
			case 2: { TextDrawShowForPlayer(i, Text:DockSysteamTextdraw2); SetPVarInt(i, "Deliver", 3); }
			case 3: { TextDrawShowForPlayer(i, Text:DockSysteamTextdraw3); SetPVarInt(i, "Deliver", 4); }
			case 4: { TextDrawShowForPlayer(i, Text:DockSysteamTextdraw4); SetPVarInt(i, "Deliver", 5); }
			case 5: { TextDrawShowForPlayer(i, Text:DockSysteamTextdraw5); SetPVarInt(i, "Deliver", 6); }
			case 6: { TextDrawShowForPlayer(i, Text:DockSysteamTextdraw6); SetPVarInt(i, "Deliver", 7); }
			case 7: { TextDrawShowForPlayer(i, Text:DockSysteamTextdraw7); SetPVarInt(i, "Deliver", 8); }
			case 8: { TextDrawShowForPlayer(i, Text:DockSysteamTextdraw8); SetPVarInt(i, "Deliver", 9); }
			case 9: { TextDrawShowForPlayer(i, Text:DockSysteamTextdraw9); SetPVarInt(i, "Deliver", 10); }
			case 10: { TextDrawShowForPlayer(i, Text:DockSysteamTextdraw10); SetPVarInt(i, "Deliver",11); }
			case 11: { TextDrawShowForPlayer(i, Text:DockSysteamTextdraw11); SetPVarInt(i, "Deliver",12); }
		}
	}
	return 1;
}


I upamti ovo: UVIJEK KORISTI Globalne Timere, UVIJEK... (smanjuju lagg)
Just one more time.

Takodje umesto
for(new i=0; i<MAX_PLAYERS; i++)

koristi

foreach(Player, i)

Napomena: moras imate #include "foreach" i taj include imati u pawno/include
Poslednja Izmena: Jul 04, 2011, 19:21:47 POSLE PODNE od Aleksandar?

Hvala vam puno, puuno ste mi pomogli :*
Izrada web aplikacija/desktop aplikacija, kontakt PM.
VPS/Dedi managment 'n' hosting @pm also.