Szerző Téma: Race (f1) köridő scriptet kérnék!  (Megtekintve 1438 alkalommal)

Race (f1) köridő scriptet kérnék!
« Dátum: 2015. Április 06. - 12:19:13 »
0 Show voters
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.
« Utoljára szerkesztve: 2015. Április 06. - 13:22:49 írta ƒlaﻛh »

Race (f1) köridő scriptet kérnék!
« Válasz #1 Dátum: 2015. Április 10. - 09:29:36 »
0 Show voters
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!
« Utoljára szerkesztve: 2015. Április 11. - 10:21:50 írta anGeL »

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Race (f1) köridő scriptet kérnék!
« Válasz #2 Dátum: 2015. Április 10. - 09:42:32 »
0 Show voters
Idézetet írta: jakab49 date=1428650976\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"53654\" data-ipsquote-contentclass=\"forums_Topic
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!
 
Elég bátor vagy hogy 1ms-os timert létrehozol.  Egyszerűbb GetTickCountot használni.

Race (f1) köridő scriptet kérnék!
« Válasz #3 Dátum: 2015. Április 10. - 10:05:52 »
0 Show voters
GetTickCount-ot még nem használtam! Írsz vele nekem egy példát? Vagy ezt átalakítod GetTickCount-ra?

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Race (f1) köridő scriptet kérnék!
« Válasz #4 Dátum: 2015. Április 10. - 10:33:23 »
0 Show voters
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ó)
« Utoljára szerkesztve: 2015. Április 10. - 10:37:00 írta DrAkE »

Race (f1) köridő scriptet kérnék!
« Válasz #5 Dátum: 2015. Április 10. - 10:46:57 »
0 Show voters
gerrri ebben a formában kérte az időt hogy neki a chat így jelezzen vissza:
\"valami_www.kepfeltoltes.hu_.png\"
És köszi hogy leírtad a GetTickCount-ot.

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Race (f1) köridő scriptet kérnék!
« Válasz #6 Dátum: 2015. Április 10. - 11:40:38 »
0 Show voters
Idézetet írta: jakab49 date=1428655617\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"53654\" data-ipsquote-contentclass=\"forums_Topic
gerrri ebben a formában kérte az időt hogy neki a chat így jelezzen vissza:
\"valami_www.kepfeltoltes.hu_.png\"
És köszi hogy leírtad a GetTickCount-ot.
 
És? Szimpla maradékos osztás.

Race (f1) köridő scriptet kérnék!
« Válasz #7 Dátum: 2015. Április 11. - 09:51:07 »
0 Show voters
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

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal