Race (f1) köridő scriptet kérnék!

Indította gerrri, 2015. április 06. - 12:19:13

Előző téma - Következő téma

gerrri

Hello!
Egy olyan scriptre lenne szükségem,ami egy formula 1 pályán lenne használatos. A lényege,hogy adott pontból elindulok és ha oda visszaérkezek akkor mutatja,hogy mennyi idő alatt tettem meg ezt a távolságot. Magyarul mérje a köridőt.
Fayrpg-n van ilyen script a race szerveren.
Előre is köszönöm.

jakab49

#1
Szia. Írtam számodra egy ilyen scriptet. Remélem tudtam segíteni. Majd tetszés szerint alakísd át. Teszteletem és müködik!
 

//Mod elejére írd be:
new teszttimer[MAX_PLAYERS]; // Ezt bármire átnevezheted!(teszttimer)
Alája:
enum pAdat
{
NSec,
QSec,
MSec,
Sec,
P
};
new pInfo[MAX_PLAYERS][pAdat];
//OnPlayerSpawn-hoz vagy a te mododban ahova szeretnéd és tudod hogy fog müködni írd be:
teszttimer = SetTimerEx(\"stopperora\",1,1,\"i\",playerid);
//Majd a Mód aljára írd be az alábbi részt:
forward stopperora(playerid);
public stopperora(playerid)
{
new S[128];
pInfo[playerid][NSec]++;
format(S,sizeof(S),\"Stopperóra: %d:%d.%d%d%d\",pInfo[playerid][P],pInfo[playerid][sec],pInfo[playerid][MSec],pInfo[playerid][QSec],pInfo[playerid][NSec]);
SendClientMessage(playerid,-1,S);
if(pInfo[playerid][NSec] == 9)
{
pInfo[playerid][NSec] = 0;
pInfo[playerid][QSec]++;
if(pInfo[playerid][QSec] == 9)
{
pInfo[playerid][QSec] = 0;
pInfo[playerid][MSec]++;
if(pInfo[playerid][MSec] == 9)
{
pInfo[playerid][MSec] = 0;
pInfo[playerid][sec]++;
if(pInfo[playerid][sec] == 60)
{
pInfo[playerid][sec] = 0;
pInfo[playerid][P]++;
}
}
}
}
}

 
Majd tetszés szerint alakítsd át hogy ha átmegy az adott ponton az illető akkor indítsa el a timert és ha megint odaér akkor 0-zza és kiírja a mért kört, valamint újra elindítsa a timert!

DrAkE

Idézetet írta: jakab49 date=1428650976\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"53654\" data-ipsquote-contentclass=\"forums_TopicSzia. Írtam számodra egy ilyen scriptet. Remélem tudtam segíteni. Majd tetszés szerint alakísd át. Teszteletem és müködik!
 

//Mod elejére írd be:
new teszttimer[MAX_PLAYERS]; // Ezt bármire átnevezheted!(teszttimer)
Alája:
enum pAdat
{
NSec,
QSec,
MSec,
Sec,
P
};
new pInfo[MAX_PLAYERS][pAdat];
//OnPlayerSpawn-hoz vagy a te mododban ahova szeretnéd és tudod hogy fog müködni írd be:
teszttimer = SetTimerEx(\"stopperora\",1,1,\"i\",playerid);
//Majd a Mód aljára írd be az alábbi részt:
forward stopperora(playerid);
public stopperora(playerid)
{
new S[128];
pInfo[playerid][NSec]++;
format(S,sizeof(S),\"Stopperóra: %d:%d.%d%d%d\",pInfo[playerid][P],pInfo[playerid][sec],pInfo[playerid][MSec],pInfo[playerid][QSec],pInfo[playerid][NSec]);
SendClientMessage(playerid,-1,S);
if(pInfo[playerid][NSec] == 9)
{
pInfo[playerid][NSec] = 0;
pInfo[playerid][QSec]++;
if(pInfo[playerid][QSec] == 9)
{
pInfo[playerid][QSec] = 0;
pInfo[playerid][MSec]++;
if(pInfo[playerid][MSec] == 9)
{
pInfo[playerid][MSec] = 0;
pInfo[playerid][sec]++;
if(pInfo[playerid][sec] == 60)
{
pInfo[playerid][sec] = 0;
pInfo[playerid][P]++;
}
}
}
}
}

 
Majd tetszés szerint alakítsd át hogy ha átmegy az adott ponton az illető akkor indítsa el a timert és ha megint odaér akkor 0-zza és kiírja a mért kört, valamint újra elindítsa a timert!
 
Elég bátor vagy hogy 1ms-os timert létrehozol.  Egyszerűbb GetTickCountot használni.

jakab49

GetTickCount-ot még nem használtam! Írsz vele nekem egy példát? Vagy ezt átalakítod GetTickCount-ra?

DrAkE

#4
Egyszerű, mikor elkezdődik a verseny, akkor egy globális változóba elmented a GetTickCount értéket, majd a verseny végén kivonod azt egy újabb GetTickCountbol és amit megkapsz, az a kezdet és a vég között eltelt idő miliszekundumban mérve. (pl. GetTickCount()  -  változó)

jakab49

gerrri ebben a formában kérte az időt hogy neki a chat így jelezzen vissza:
http://kepfeltoltes.hu/150410/valami_www.kepfeltoltes.hu_.png\" alt=\"valami_www.kepfeltoltes.hu_.png\" />
És köszi hogy leírtad a GetTickCount-ot.

DrAkE

Idézetet írta: jakab49 date=1428655617\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"53654\" data-ipsquote-contentclass=\"forums_Topicgerrri ebben a formában kérte az időt hogy neki a chat így jelezzen vissza:
http://kepfeltoltes.hu/150410/valami_www.kepfeltoltes.hu_.png\" alt=\"valami_www.kepfeltoltes.hu_.png\" />
És köszi hogy leírtad a GetTickCount-ot.
 
És? Szimpla maradékos osztás.

gerrri

Köszönöm szépen , hogy megírtad ezt. A kérdésem,azt az adott pont koordinátáit hova írjam be? Elküldöd azt teljes egészében amit teszteltél? Meg így csak ezzel nem írná le a köridőm.
Még kezdő vagyok a témában , nem tudom hogyan és mit kell átalakítani