Skripta koju koristim: >>Moj mod<<
Detaljan opis problema: Ovako na serveru bih zelio napraviti Tutorial nakon registracije! Ali ima jedan problem neznam raditit s Timereima Pa ko bi mi netko mogao pomoci jedan dio..
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Sta tocno neznas raditi s timerima? Objasni pa ti pomognemo :)
Kako aktivirati taj timer I kako napraviti timer Da Nakon 5 - 10 sekundi prenosi na slijedeci tut
Citat: Mladen Smiljan poslato Januar 15, 2012, 14:17:40 POSLE PODNE
Kako aktivirati taj timer I kako napraviti timer Da Nakon 5 - 10 sekundi prenosi na slijedeci tut
Napravis timer od jedne sekunde. I stavis u public na tu neku varijablu ++ znaci da dodje na nju po jedan. I onda napravis ispitivanje
if(tavarijabla == 10)//Kada je na 10
{
//TO odradi
}
else if(tavarijabla == 20)//Kada je na 20 znaci proslo je 10 sekundi od one prosle
{
//To odradi
}
Inace mozes koristiti global timer. I onda samo stavis ispitivanje da li tavarijabla >= 1 i dodajes na nju
To je sada nesto iz glave ako hoces mogu ti i primer uraditi
Gagi , mislim da bi bilo bolje da se napravi varijabla za MAX_PLAYERS zato što će ta varijabla svima biti ista onda.
Citat: Get busy living or Get busy dying poslato Januar 15, 2012, 14:54:08 POSLE PODNE
Gagi , mislim da bi bilo bolje da se napravi varijabla za MAX_PLAYERS zato što će ta varijabla svima biti ista onda.
Da "tavarijabla" to je samo bio primer sta da pise nisam stavljao sve to se odnosilo da on upise taj deo.
EDIT:
Evo i neki tut koji ti mozda moze pomoci: http://balkan-samp.com/forum/index.php?topic=29567.0
HAHA jos uvjek ne kuzim...
Kako ne kužiš , imaš tutorial sve dano i ne znaš ni to iskopirati?
Citat: Mladen Smiljan poslato Januar 15, 2012, 17:07:01 POSLE PODNE
HAHA jos uvjek ne kuzim...
Evo primer.
Na vrh skripter new Intro[MAX_PLAYERS];
Stavis pod OnGameModeInit
SetTimer("Intro",1000,true);//Ako imas vec neki timer koji koristis global ubaci u njega ovo ti nece trebati onda
I onda uradis
forward Intro();
public Intro()
{
foreach(Player,i)
{
if(Intro[i] >= 1)//Provera da li je pokrenut
{
Intro[i]++;//Dodaje na njega
if(Intro[i] == 2)//Ako je na 2 ispod radi sledece....
{
//Prvi deo
}
if(Intro[i] == 10)
{
//Drugi deo nakon 8 sekundi
}
.... na kraju Intro[i] = 0;//Sa tim da zavrsi tut da nebi pokrenuo
}
}
}
I samo onda u registraciju Intro[playerid] = 1;
Citat: [TL:RP]Mr.Gagi poslato Januar 15, 2012, 17:12:50 POSLE PODNE
Citat: Mladen Smiljan poslato Januar 15, 2012, 17:07:01 POSLE PODNE
HAHA jos uvjek ne kuzim...
Evo primer.
Na vrh skripter new Intro[MAX_PLAYERS];
Stavis pod OnGameModeInit
SetTimer("Intro",1000,true);//Ako imas vec neki timer koji koristis global ubaci u njega ovo ti nece trebati onda
I onda uradis
forward Intro();
public Intro()
{
foreach(Player,i)
{
if(Intro[i] >= 1)//Provera da li je pokrenut
{
Intro[i]++;//Dodaje na njega
if(Intro[i] == 2)//Ako je na 2 ispod radi sledece....
{
//Prvi deo
}
if(Intro[i] == 10)
{
//Drugi deo nakon 8 sekundi
}
.... na kraju Intro[i] = 0;//Sa tim da zavrsi tut da nebi pokrenuo
}
}
}
I samo onda u registraciju Intro[playerid] = 1;
E hvala sad cu to isporbati!
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Citat: Get busy living or Get busy dying poslato Januar 15, 2012, 17:09:03 POSLE PODNE
Kako ne kužiš , imaš tutorial sve dano i ne znaš ni to iskopirati?
Nije sve u Copy Paste.. Treba i nesto nauciti
Nest Sam zajebo ili?
public Intro(playerid)
{
foreach(Player,i)
{
if(Intro[i] >= 1)//Provera da li je pokrenut
{
Intro[i]++;//Dodaje na njega
if(Intro[i] == 2)//Ako je na 2 ispod radi sledece....
{
SendClientMessage(playerid, BJELA, "Tutorial 1");
}
if(Intro[i] == 10)
{
SendClientMessage(playerid, BJELA, "Tutorial 2");
}
if(Intro[i] == 20)
{
SendClientMessage(playerid, BJELA, "Tutorial 3");
}
Intro[i] = 0;//Sa tim da zavrsi tut da nebi pokrenuo
}
}
}
C:\Users\Smiljan\Desktop\Serveri\HardCore RolePlay\gamemodes\HardCore.pwn(82) : error 021: symbol already defined: "Intro"
C:\Users\Smiljan\Desktop\Serveri\HardCore RolePlay\gamemodes\HardCore.pwn(542) : error 021: symbol already defined: "Intro"
C:\Users\Smiljan\Desktop\Serveri\HardCore RolePlay\gamemodes\HardCore.pwn(544) : error 054: unmatched closing brace ("}")
C:\Users\Smiljan\Desktop\Serveri\HardCore RolePlay\gamemodes\HardCore.pwn(711) : warning 203: symbol is never used: "foreach"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
3 Errors.
public Intro(playerid)
{
foreach(Player,i)
{
if(Intro[i] >= 1)//Provera da li je pokrenut
{
Intro[i]++;//Dodaje na njega
if(Intro[i] == 2)//Ako je na 2 ispod radi sledece....
{
SendClientMessage(playerid, BJELA, "Tutorial 1");
}
if(Intro[i] == 10)
{
SendClientMessage(playerid, BJELA, "Tutorial 2");
}
if(Intro[i] == 20)
{
SendClientMessage(playerid, BJELA, "Tutorial 3");
Intro[i] = 0;//tako zavrsava tut
}
}
}
}
Prvo tako stavi tako.
Onda vec ti je jednom definisano tako promeni ovo intro[... sve u nesto drugo mozes TutorialTime[....
error 054: unmatched closing brace ("}") - verovatno imas visak zagrada mozda
A ovo za foreach sta si ti definisao za njega. Koristi include
Citat: [TL:RP]Mr.Gagi poslato Januar 15, 2012, 19:11:36 POSLE PODNE
public Intro(playerid)
{
foreach(Player,i)
{
if(Intro[i] >= 1)//Provera da li je pokrenut
{
Intro[i]++;//Dodaje na njega
if(Intro[i] == 2)//Ako je na 2 ispod radi sledece....
{
SendClientMessage(playerid, BJELA, "Tutorial 1");
}
if(Intro[i] == 10)
{
SendClientMessage(playerid, BJELA, "Tutorial 2");
}
if(Intro[i] == 20)
{
SendClientMessage(playerid, BJELA, "Tutorial 3");
Intro[i] = 0;//tako zavrsava tut
}
}
}
}
Prvo tako stavi tako.
Onda vec ti je jednom definisano tako promeni ovo intro[... sve u nesto drugo mozes TutorialTime[....
error 054: unmatched closing brace ("}") - verovatno imas visak zagrada mozda
A ovo za foreach sta si ti definisao za njega. Koristi include
I dalje nece....
SetTimer("IntroVreme",1000,true);
forward IntroVreme();
public IntroVreme()//Tu neide playerid
{
foreach(Player,i)
{
if(TutorialTime[i] >= 1)//Provera da li je pokrenut
{
TutorialTime[i]++;//Dodaje na njega
if(TutorialTime[i] == 2)//Ako je na 2 ispod radi sledece....
{
SendClientMessage(playerid, BJELA, "Tutorial 1");
}
if(TutorialTime[i] == 10)
{
SendClientMessage(playerid, BJELA, "Tutorial 2");
}
if(TutorialTime[i] == 20)
{
SendClientMessage(playerid, BJELA, "Tutorial 3");
TutorialTime[i] = 0;//tako zavrsava tut
}
}
}
}
new TutorialTime[MAX_PLAYERS];//Definicija
TutorialTime[playerid] = 1;//Kod registracije
Verovatno je problem bio sto sam za timer stavio Intro i za ovo Intro[...
Evo ima nekih errora:
C:\Users\Smiljan\Desktop\Serveri\HardCore RolePlay\gamemodes\HardCore.pwn(552) : error 017: undefined symbol "playerid"
C:\Users\Smiljan\Desktop\Serveri\HardCore RolePlay\gamemodes\HardCore.pwn(556) : error 017: undefined symbol "playerid"
C:\Users\Smiljan\Desktop\Serveri\HardCore RolePlay\gamemodes\HardCore.pwn(560) : error 017: undefined symbol "playerid"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
3 Errors.
Citat: Mladen Smiljan poslato Januar 15, 2012, 19:59:29 POSLE PODNE
Evo ima nekih errora:
C:\Users\Smiljan\Desktop\Serveri\HardCore RolePlay\gamemodes\HardCore.pwn(552) : error 017: undefined symbol "playerid"
C:\Users\Smiljan\Desktop\Serveri\HardCore RolePlay\gamemodes\HardCore.pwn(556) : error 017: undefined symbol "playerid"
C:\Users\Smiljan\Desktop\Serveri\HardCore RolePlay\gamemodes\HardCore.pwn(560) : error 017: undefined symbol "playerid"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
3 Errors.
SendClientMessage(playerid, BJELA, "Tutorial 3");
U SCM ne stavljas playerid
nego
iTo stavi kod svih tu u tutu kod svih SCM-ova tu
Hvala
Radii
I usput sam naucio kako koristiti timere i sve Hvala