Skripta koju koristim:Be
Detaljan opis problema:Ovako radio sam reaction system, da se ovi tk poeni povecavaju a ne da uvek stoji 1 kad pogodi da mu ide za 1 gore i kako da stavim vidite dole u drugom kodu da gde pise TRENUTNI REKORD: da pise sekunde koliko je brzo pogodio naprimer 2.13s.Hvala Unapred :)
Dio skripte: switch(xTestBusy)
{
case true:
{
if(!strcmp(xChars, text, false))
{
//new
//string[456],
new pName[MAX_PLAYER_NAME]
;
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "{FF0000}[TK]{FFFFFF}Najbrzi je bio {FF0000}%s\" {FFFFFF}i osvaja nagradu od $%d i sada ima {FF0000}%d {FFFFFF}TK POENA. »", pName,xCash,xScore);
SendClientMessageToAll(COLOR_GRAD1, string);
format(string, sizeof(string), "{00FFFF}« Dobili ste $%d»", xCash);
SendClientMessage(playerid, COLOR_GRAD1, string);
GivePlayerMoney(playerid, 1500);
//PlayerInfo[playerid][pExp] += 1;
SetPlayerScore(playerid, GetPlayerScore(playerid) + xScore);
xReactionTimer = SetTimer("xReactionTest", TIMEE, 1);
xTestBusy = false;
//SavePlayer(playerid);
}
}
}
FUNCTION: xReactionTest()
{
new
xLength = (random(8) + 2),
string[128]
;
xCash = (random(574) + 228);
xScore = (random(1)+1);
format(xChars, sizeof(xChars), "");
Loop(x, xLength) format(xChars, sizeof(xChars), "%s%s", xChars, xCharacters[random(sizeof(xCharacters))][0]);
format(string, sizeof(string), "{FF0000}[TK]{FFFFFF}Ko prvi upise u cetu {FF0000}%s{FFFFFF} dobija %d$. TRENUTNI REKORD: %i sek.", xChars, xCash, GetTimerInSeconds(GetTickCount()),xScore);
SendClientMessageToAll(PURPLE, string);
KillTimer(xReactionTimer);
xTestBusy = true;
SetTimer("xReactionProgress", 50000, 0);
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Mozda sa ovim da pokusas nesto oko tih milisekundi...
http://wiki.sa-mp.com/wiki/GetTickCount
a ovo je count kako da izvedem to :)
BUMP
probaj ovako:
switch(xTestBusy)
{
case true:
{
if(!strcmp(xChars, text, false))
{
//new
//string[456],
new pName[MAX_PLAYER_NAME]
;
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "{FF0000}[TK]{FFFFFF}Najbrzi je bio {FF0000}%s\" {FFFFFF}i osvaja nagradu od $%d i sada ima {FF0000}%d {FFFFFF}TK POENA. Ukucao je za: %d sekundi. »", pName,xCash,xScore,GetTimerInSeconds(GetTickCount()));
SendClientMessageToAll(COLOR_GRAD1, string);
format(string, sizeof(string), "{00FFFF}« Dobili ste $%d»", xCash);
SendClientMessage(playerid, COLOR_GRAD1, string);
GivePlayerMoney(playerid, 1500);
//PlayerInfo[playerid][pExp] += 1;
SetPlayerScore(playerid, GetPlayerScore(playerid) + xScore);
xReactionTimer = SetTimer("xReactionTest", TIMEE, 1);
xTestBusy = false;
//SavePlayer(playerid);
}
}
}
Baci mi warning na ovu liniju format(string, sizeof(string), "{FF0000}[TK]{FFFFFF}Najbrzi je bio {FF0000}%s\" {FFFFFF}i osvaja nagradu od $%d i sada ima {FF0000}%d {FFFFFF}TK POENA. Ukucao je za: %d sekundi. »", pName,xCash,xScore,GetTimerInSeconds(GetTickCount()));
I imam jos jedan problem a to je definisao pTk da idu poeni kad pogodi ima TK poen 1 pa kad pogodi drugi Tk poen 2 i tk dalje ali ono mi stalno stoji Tk Poen 141 i kad pogodi nepomera na gore nzm u cemu problem stavio sam i PlayerInfo[playerid][pTk] += 1;
Koji warning?
Pa dao sam ti liniju msm u toj liniji baca ovo GetTimerInSeconds(GetTickCount()) i mod mi bude unknown tako da nije dobro. :)
Citat: Markoni990 poslato Septembar 19, 2014, 13:12:44 POSLE PODNE
Pa dao sam ti liniju msm u toj liniji baca ovo GetTimerInSeconds(GetTickCount()) i mod mi bude unknown tako da nije dobro. :)
Ne na kojoj liniji je warning nego "naziv" warninga, npr.
- number of arguments does not match definition.
Aha evo izvinjavam se (102854) : warning 202: number of arguments does not match definition
a linija tog format(string, sizeof(string), "{FF0000}[TK]{FFFFFF}Ko prvi upise u cetu {FF0000}%s{FFFFFF} dobija %d$. TRENUTNI REKORD: {FF0000}%d sek.", xChars, xCash,GetTimerInSeconds(GetTickCount()));
Postavi funkciju GetTimerInSeconds.
Namestio moze lock :D