Vidim da vas puno zanima kako napraviti race, u ovom tutorijalu cu vam objasniti kako napraviti jedan jednostavan race.
Prvo u
enum pInfo
{
dodajte ovo:
pAdjustable,
pFuel,
pMarried,
pMarriedTo[128],
pUtrka, <---- varijabla za utrku
Zatim odite u debug mod i snimite cp-ove za utrku, zapamtite da ih snimate po redu, naravno sa komandom /save.
Kada ste to napravili potrebno je napraviti komandu za race i odbrojavanje, ali prije toga cemo napraiviti kapiju za start i to na sljedeci nacin:
gore u skriptu:
new utrkakapija;
u onagamemodeinit
utrkakapija = CreateObject(id kapije,x, y, z, rotx, roty, rotz); // najbolje koordinate podignute kapije
I sada mozemo praviti komandu:
if(strcmp(cmd, "/Utrka", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
SendClientMessage(playerid, COLOR_TOMATO, "Aktivirao si utrku");
format(string, sizeof(string),"*Admin %s je aktivirao Utrku",sendername);
SendAdminMessage(COLOR_TOMATO,string);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
SendClientMessage(i,COLOR_FLBLUE, "Utrka ce startati za 3 sekunde");
GameTextForPlayer(i, "3",1000,6);
SetTimer("UtrkaTimer",1000,0);
}
}
}
}
return 1;
}
Kao sto ste vidjeli pozvao sam u komandi timer "UtrkaTimer", pa idemo i njega napraviti:
Gore stavite:
forward UtrkaTimer();
forward UtrkaTimer2();
forward UtrkaTimer3();
dolje u skriptu stavite
public UtrkaTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "2",1000,6);
SetTimer("UtrkaTimer2",1000,0);
}
}
}
}
public UtrkaTimer2()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "1",1000,6);
SetTimer("UtrkaTimer3",1000,0);
}
}
}
}
public UtrkaTimer3()
{
MoveObject(utrkakapija,xkapije, ykapije, zkapije, brzina);//znaci kapija se automatski spusta kad timer kaze start
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "START !!!",1000,6);
SetPlayerRaceCheckpoint(i, type, Float:x, Float:y, Float:z, Float:nextx, Float:nexty, Float:nextz, Float:size);//cp 1
PlayerInfo[i][pUtrka] = 2;
}
}
}
}
Kao sto ste primjetili vise ne morate jedan odbrojavati a drugi aktivirati race. U ovome slucaju kada upisete /utrka igracima koji imaju aktiviranu utrku ispisivati ce odbrojavanje 3,2,1 i Start. Kada ispise start kapija ce se sama spustiti.
E sad krenimo na cpove, pronadjite:
public OnPlayerEnterRaceCheckpoint(playerid)
i tamo dodajte:
if(PlayerInfo[playerid][pUtrka] >= 2)
{
if(PlayerToPoint(radius, playerid,x1, y1, z1))//cp1
{
if(PlayerInfo[playerid][pUtrka] == 2)
{
PlayerInfo[playerid][pUtrka] = 3;
SetPlayerRaceCheckpoint(playerid, tip, x2, y2, z2, x3, y3, z3, radius2);// kao sto vidite u race cp unosite iduci cp i onaj iza njega
}
}
if(PlayerToPoint(radius2, playerid,x2, y2, z2))//cp2
{
if(PlayerInfo[playerid][pUtrka] == 3)
{
PlayerInfo[playerid][pUtrka] = 4;
SetPlayerRaceCheckpoint(playerid, tip, x3, y3, z3, x4, y4, z4, radius3);
}
}
.
.
.
.
.
.
.
.
if(PlayerToPoint(radiusn, playerid,xn, yn, zn))//cp n-ti
{
if(PlayerInfo[playerid][pUtrka] == n)
{
SendClientMessage(playerid, COLOR_YELLOW, "Prosao si kroz cilj");
PlayerInfo[playerid][pUtrka] = n+1;//da mozete i dalje vidjeti kad prolaze kroz cilj
DisablePlayerRaceCheckpoint(playerid);
//-------------------[Ovo je da svi oni koji su na raceu vide kad prodjete kroz cilj]
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] > 0)
{
format(string, sizeof(string), "Utrka - Cilj: %s",sendername);
SendClientMessage(i,COLOR_WHITE , string);
}
}
}
//-----------------------------------------------------------------------------
}
}
}
Zapamtite da cete kad netko prodje kroz ako ste na tom raceu vidjeti kad on prodje.
I jos ostaje da napravite komandu za aktivaciju, ovaj puta cemo napraviti to za admina:
if(strcmp(cmd, "/utrkaaktivacija", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Pisi: /utrkaaktivacija [id igraca/Dio imena]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "ArenaAdmin: %s, tebi je admin %s aktivirao utrku", giveplayer, sendername);
SendClientMessage(giveplayerid,COLOR_BRIGHTRED, string);
format(string, sizeof(string), "[Utrka] igracu %s je utrku aktivirao admin %s", giveplayer, sendername);
SendAdminMessage(COLOR_YELLOWGREEN, string);
PlayerInfo[giveplayerid][pUtrka] = 1;
}
}
}
else
{
format(string, sizeof(string), " %d nije aktivan igrac.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
Eto to bi bilo to, ukoliko imate pitanja, pohvala, doskoÄica, zaskoÄica slobodno piÅ¡ite ovdje...
svaka Äast thumbsup
taman trebam ovo :)
dobar tut svaka cast :) dobro ce doć ;D
hehe, np, drago mi je da vam se svidja... thumbsup
Svaka cast Djuro,mozda ce za pocetnike biti malo tesko,al valjda ce skontat... odlicno ! ;)
Kako napraviti race-u u YSI-u?
Sve sto vam treba je sljedece:
Command_(setuprace)
{
new
rLaps,
rEntry,
rCountdown,
rExitTime,
rInterior,
rWorld;
if(sscanf(params, "dddddd", rLaps, rEntry, rCountdown, rExitTime, rInterior, rWorld))
{
Text_Send(playerid, "SETUPRACE_USAGE_MSG");
return 0;
}
raceHandle = Race_Create();
Race_SetFixedWin(raceHandle, 0);
Race_SetArial(raceHandle, 0);
Race_SetCountdown(raceHandle, rCountdown);
Race_SetInterior(raceHandle, rInterior);
Race_SetWorld(raceHandle, rWorld);
Race_SetExitTime(raceHandle, rExitTime);
Race_SetLaps(raceHandle, rLaps);
Race_SetEntry(raceHandle, rEntry);
Text_Send(playerid, "SETUPRACE_INFO1_MSG");
Text_Send(playerid, "SETUPRACE_INFO2_MSG");
Text_Send(playerid, "SETUPRACE_INFO3_MSG");
Text_Send(playerid, "SETUPRACE_INFO4_MSG");
return 1;
}
Command_(setstart)
{
#pragma unused params
new
Float: startX,
Float: startY,
Float: startZ,
Float: startA;
GetPlayerPos(playerid, startX, startY, startZ);
GetPlayerFacingAngle(playerid, startA);
if(Race_AddStart(raceHandle, startX, startY, startZ, startA) == RACE_NO_CHECKPOINT)
{
Text_Send(playerid, "SETSTART_FAIL_MSG");
return 0;
}
return 1;
}
Command_(setcheck)
{
#pragma unused params
new
Float: checkX,
Float: checkY,
Float: checkZ;
GetPlayerPos(playerid, checkX, checkY, checkZ);
if(Race_AddCheckpoint(raceHandle, checkX, checkY, checkZ) == RACE_NO_CHECKPOINT)
{
Text_Send(playerid, "SETCHECK_FAIL_MSG");
return 0;
}
return 1;
}
Command_(startrace)
{
#pragma unused params
Race_Start(raceHandle);
Text_Send(playerid, "STARTRACE_STARTED_MSG");
return 1;
}
Command_(putinrace)
{
if(sscanf(params, "u", oid))
{
Text_Send(playerid, "PUTINRACE_USAGE_MSG");
return 0;
}
Race_PlayerJoin(oid, raceHandle);
Text_Send(playerid, "PUTINRACE_ADDED_MSG");
return 1;
}
Znam da puno vas nije upoznato nimalo sa YSI-om, ali eto tko je dobro ce mu doc.. Sa ovih 5 komanda moci cete praviti race u igri te brze i efikasnije od GodFather nacina..
Napomena[:]
varijable "oid" i "raceHandle" su globalne...
Citat: Chrome poslato Avgust 30, 2009, 01:25:42 PRE PODNE
Kako napraviti race-u u YSI-u?
Sve sto vam treba je sljedece:
Command_(setuprace)
{
new
rLaps,
rEntry,
rCountdown,
rExitTime,
rInterior,
rWorld;
if(sscanf(params, "dddddd", rLaps, rEntry, rCountdown, rExitTime, rInterior, rWorld))
{
Text_Send(playerid, "SETUPRACE_USAGE_MSG");
return 0;
}
raceHandle = Race_Create();
Race_SetFixedWin(raceHandle, 0);
Race_SetArial(raceHandle, 0);
Race_SetCountdown(raceHandle, rCountdown);
Race_SetInterior(raceHandle, rInterior);
Race_SetWorld(raceHandle, rWorld);
Race_SetExitTime(raceHandle, rExitTime);
Race_SetLaps(raceHandle, rLaps);
Race_SetEntry(raceHandle, rEntry);
Text_Send(playerid, "SETUPRACE_INFO1_MSG");
Text_Send(playerid, "SETUPRACE_INFO2_MSG");
Text_Send(playerid, "SETUPRACE_INFO3_MSG");
Text_Send(playerid, "SETUPRACE_INFO4_MSG");
return 1;
}
Command_(setstart)
{
#pragma unused params
new
Float: startX,
Float: startY,
Float: startZ,
Float: startA;
GetPlayerPos(playerid, startX, startY, startZ);
GetPlayerFacingAngle(playerid, startA);
if(Race_AddStart(raceHandle, startX, startY, startZ, startA) == RACE_NO_CHECKPOINT)
{
Text_Send(playerid, "SETSTART_FAIL_MSG");
return 0;
}
return 1;
}
Command_(setcheck)
{
#pragma unused params
new
Float: checkX,
Float: checkY,
Float: checkZ;
GetPlayerPos(playerid, checkX, checkY, checkZ);
if(Race_AddCheckpoint(raceHandle, checkX, checkY, checkZ) == RACE_NO_CHECKPOINT)
{
Text_Send(playerid, "SETCHECK_FAIL_MSG");
return 0;
}
return 1;
}
Command_(startrace)
{
#pragma unused params
Race_Start(raceHandle);
Text_Send(playerid, "STARTRACE_STARTED_MSG");
return 1;
}
Command_(putinrace)
{
if(sscanf(params, "u", oid))
{
Text_Send(playerid, "PUTINRACE_USAGE_MSG");
return 0;
}
Race_PlayerJoin(oid, raceHandle);
Text_Send(playerid, "PUTINRACE_ADDED_MSG");
return 1;
}
Znam da puno vas nije upoznato nimalo sa YSI-om, ali eto tko je dobro ce mu doc.. Sa ovih 5 komanda moci cete praviti race u igri te brze i efikasnije od GodFather nacina..
Napomena[:]
varijable "oid" i "raceHandle" su globalne...
sto si se ti tolko napalio na taj YSI xD?
zato jer sam zamrzio GF :D
vec mi dosta kolko sam tuta napisao i pomagao oko njega a gle da YSI nekom objasnis nesto napravit treba max 4-5 funkcija i manje itd ;)
tnx djuro, tnx bullet :-)
e zerocoolos,daj napravi da igraci napisu /aktiviraj i onda im admin starta
omG sta ce ti to... ti reci igracu da kaze ID na /re i samo ga inv na race
Opa djuro sad si se sjetio napraviti kad odlazis xD svaka cast ;D
jel moze neko postat neki tut kako dodat da neki race ima npr. 3 kruga i npr. kad udes u zadnji CP u prvom krugu da dode taj i taj je upravo zavrsio prvi krug tog i tog race-a
PLS ljudovi pomozite >:(
Citat: Razbojnik poslato Avgust 31, 2009, 18:11:12 POSLE PODNE
jel moze neko postat neki tut kako dodat da neki race ima npr. 3 kruga i npr. kad udes u zatnji CP u prvom krugu da dode taj i taj je upravo zavrsio prvi krug tog i tog race-a
PLS ljudovi pomozite :D >:(
koristi malo svoj mozak, dao sam ti jednostavan race, pa ti ga razvij...
king on ti zeli da mu se da gotov race sa komandom /utrka [broj krugova], nema malo promisli pa neka nesta i sam napravi
lol Razbojnik onda samo ponavljas CPove toliko puta kolko krugova zelis
Citat: zerocoolos poslato Avgust 31, 2009, 18:36:56 POSLE PODNE
Citat: Razbojnik poslato Avgust 31, 2009, 18:11:12 POSLE PODNE
jel moze neko postat neki tut kako dodat da neki race ima npr. 3 kruga i npr. kad udes u zatnji CP u prvom krugu da dode taj i taj je upravo zavrsio prvi krug tog i tog race-a
PLS ljudovi pomozite :D >:(
koristi malo svoj mozak, dao sam ti jednostavan race, pa ti ga razvij...
king on ti zeli da mu se da gotov race sa komandom /utrka [broj krugova], nema malo promisli pa neka nesta i sam napravi
ne ne ne, ne trazim ja da mi napravite gotov race nego samo funkciju s kojom napravim da ima 2 ili 3 kruga...
Citat: panda poslato Avgust 31, 2009, 18:50:57 POSLE PODNE
lol Razbojnik onda samo ponavljas CPove toliko puta kolko krugova zelis
OMG ae necu ovu glupu poruku komentirat...jbt to je onda 1 krug a ne 3 jbt...
gle ovako da ti objasnim, napravi si varijablu za krugove, to podrazumijeva da gore u skripti napravis new krugovi; i provjeravaj kasnije u kojem su krugu, ne moras cpove ponavljat... ovako mozes npr stavit 1000 krugova ako zelis...
Citat: Razbojnik poslato Avgust 31, 2009, 18:53:23 POSLE PODNE
Citat: zerocoolos poslato Avgust 31, 2009, 18:36:56 POSLE PODNE
Citat: Razbojnik poslato Avgust 31, 2009, 18:11:12 POSLE PODNE
jel moze neko postat neki tut kako dodat da neki race ima npr. 3 kruga i npr. kad udes u zatnji CP u prvom krugu da dode taj i taj je upravo zavrsio prvi krug tog i tog race-a
PLS ljudovi pomozite :D >:(
koristi malo svoj mozak, dao sam ti jednostavan race, pa ti ga razvij...
king on ti zeli da mu se da gotov race sa komandom /utrka [broj krugova], nema malo promisli pa neka nesta i sam napravi
ne ne ne, ne trazim ja da mi napravite gotov race nego samo funkciju s kojom napravim da ima 2 ili 3 kruga...
Citat: panda poslato Avgust 31, 2009, 18:50:57 POSLE PODNE
lol Razbojnik onda samo ponavljas CPove toliko puta kolko krugova zelis
OMG ae necu ovu glupu poruku komentirat...jbt to je onda 1 krug a ne 3 jbt...
pa lol ti nisi najbistriji a ?
omfg
recimo svaki krug tvog racea ima 3 checkpointa
e sad tvoji checkpointovi
else if(CP[playerid] == 300) { CP[playerid] = 301; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 677.9709,-2667.4248,76.4162,50.0); } //1
else if(CP[playerid] == 301) { CP[playerid] = 302; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 106.4192,-2659.7209,49.0916,50.0); } //2
else if(CP[playerid] == 302) { CP[playerid] = 303; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, -452.0713,-2660.3865,179.8581,50.0); } //3
- ovo je bezvezni primjer uzet iz tuta za checkpointove
e sad ti to onda samo kopiras kolko krugova imas omg
else if(CP[playerid] == 300) { CP[playerid] = 301; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 677.9709,-2667.4248,76.4162,50.0); } //1
else if(CP[playerid] == 301) { CP[playerid] = 302; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 106.4192,-2659.7209,49.0916,50.0); } //2
else if(CP[playerid] == 302) { CP[playerid] = 303; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, -452.0713,-2660.3865,179.8581,50.0); } //3
else if(CP[playerid] == 300) { CP[playerid] = 301; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 677.9709,-2667.4248,76.4162,50.0); } //1
else if(CP[playerid] == 301) { CP[playerid] = 302; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 106.4192,-2659.7209,49.0916,50.0); } //2
else if(CP[playerid] == 302) { CP[playerid] = 303; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, -452.0713,-2660.3865,179.8581,50.0); } //3
else if(CP[playerid] == 300) { CP[playerid] = 301; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 677.9709,-2667.4248,76.4162,50.0); } //1
else if(CP[playerid] == 301) { CP[playerid] = 302; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 106.4192,-2659.7209,49.0916,50.0); } //2
else if(CP[playerid] == 302) { CP[playerid] = 303; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, -452.0713,-2660.3865,179.8581,50.0); } //3
else if(CP[playerid] == 300) { CP[playerid] = 301; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 677.9709,-2667.4248,76.4162,50.0); } //1
else if(CP[playerid] == 301) { CP[playerid] = 302; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 106.4192,-2659.7209,49.0916,50.0); } //2
else if(CP[playerid] == 302) { CP[playerid] = 303; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, -452.0713,-2660.3865,179.8581,50.0); } //3
sad bi to bila 4 kruga.... jesi sad skuzio ?!
Odlican Tutorial..Svaka cast
Citat: panda poslato Avgust 31, 2009, 19:48:41 POSLE PODNE
Citat: Razbojnik poslato Avgust 31, 2009, 18:53:23 POSLE PODNE
Citat: zerocoolos poslato Avgust 31, 2009, 18:36:56 POSLE PODNE
Citat: Razbojnik poslato Avgust 31, 2009, 18:11:12 POSLE PODNE
jel moze neko postat neki tut kako dodat da neki race ima npr. 3 kruga i npr. kad udes u zatnji CP u prvom krugu da dode taj i taj je upravo zavrsio prvi krug tog i tog race-a
PLS ljudovi pomozite :D >:(
koristi malo svoj mozak, dao sam ti jednostavan race, pa ti ga razvij...
king on ti zeli da mu se da gotov race sa komandom /utrka [broj krugova], nema malo promisli pa neka nesta i sam napravi
ne ne ne, ne trazim ja da mi napravite gotov race nego samo funkciju s kojom napravim da ima 2 ili 3 kruga...
Citat: panda poslato Avgust 31, 2009, 18:50:57 POSLE PODNE
lol Razbojnik onda samo ponavljas CPove toliko puta kolko krugova zelis
OMG ae necu ovu glupu poruku komentirat...jbt to je onda 1 krug a ne 3 jbt...
pa lol ti nisi najbistriji a ?
omfg
recimo svaki krug tvog racea ima 3 checkpointa
e sad tvoji checkpointovi
else if(CP[playerid] == 300) { CP[playerid] = 301; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 677.9709,-2667.4248,76.4162,50.0); } //1
else if(CP[playerid] == 301) { CP[playerid] = 302; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 106.4192,-2659.7209,49.0916,50.0); } //2
else if(CP[playerid] == 302) { CP[playerid] = 303; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, -452.0713,-2660.3865,179.8581,50.0); } //3
- ovo je bezvezni primjer uzet iz tuta za checkpointove
e sad ti to onda samo kopiras kolko krugova imas omg
else if(CP[playerid] == 300) { CP[playerid] = 301; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 677.9709,-2667.4248,76.4162,50.0); } //1
else if(CP[playerid] == 301) { CP[playerid] = 302; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 106.4192,-2659.7209,49.0916,50.0); } //2
else if(CP[playerid] == 302) { CP[playerid] = 303; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, -452.0713,-2660.3865,179.8581,50.0); } //3
else if(CP[playerid] == 300) { CP[playerid] = 301; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 677.9709,-2667.4248,76.4162,50.0); } //1
else if(CP[playerid] == 301) { CP[playerid] = 302; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 106.4192,-2659.7209,49.0916,50.0); } //2
else if(CP[playerid] == 302) { CP[playerid] = 303; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, -452.0713,-2660.3865,179.8581,50.0); } //3
else if(CP[playerid] == 300) { CP[playerid] = 301; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 677.9709,-2667.4248,76.4162,50.0); } //1
else if(CP[playerid] == 301) { CP[playerid] = 302; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 106.4192,-2659.7209,49.0916,50.0); } //2
else if(CP[playerid] == 302) { CP[playerid] = 303; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, -452.0713,-2660.3865,179.8581,50.0); } //3
else if(CP[playerid] == 300) { CP[playerid] = 301; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 677.9709,-2667.4248,76.4162,50.0); } //1
else if(CP[playerid] == 301) { CP[playerid] = 302; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, 106.4192,-2659.7209,49.0916,50.0); } //2
else if(CP[playerid] == 302) { CP[playerid] = 303; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, -452.0713,-2660.3865,179.8581,50.0); } //3
sad bi to bila 4 kruga.... jesi sad skuzio ?!
1. to nisu 4 kruga nego 4x isto postavljeni CP-i i to smao bzvz zauzima redove npr. ja sad imam 40 CP-a i ocu 3 kruga pa lakse mi je u 8-9 redova napravit nego u 120 :-\ :-X
Citat: zerocoolos poslato Avgust 31, 2009, 18:58:29 POSLE PODNE
gle ovako da ti objasnim, napravi si varijablu za krugove, to podrazumijeva da gore u skripti napravis new krugovi; i provjeravaj kasnije u kojem su krugu, ne moras cpove ponavljat... ovako mozes npr stavit 1000 krugova ako zelis...
Otprilike znam na sta mislis pokusat cu ako ne uspijem jbg...
EDIT: jbg meni ovo ne ide xDD al nema veze BTW Ako neko moze neka stavi neki tut o tome pls...
pa djuro di ces u krc e svaka cast za naziv djurine kucne carolije hahah ma bravo care, javi se ponekad...
ja tako napravim i dobijem ove errore
C:\DOCUME~1\sarma\Desktop\KUCNIS~1\GAMEMO~1\gf.pwn(3792) : error 017: undefined symbol "string"
C:\DOCUME~1\sarma\Desktop\KUCNIS~1\GAMEMO~1\gf.pwn(3792) : error 017: undefined symbol "string"
C:\DOCUME~1\sarma\Desktop\KUCNIS~1\GAMEMO~1\gf.pwn(3792) : error 029: invalid expression, assumed zero
C:\DOCUME~1\sarma\Desktop\KUCNIS~1\GAMEMO~1\gf.pwn(3792) : fatal error 107: too many error messages on one line
a svi su na ovoj crti
format(string, sizeof(string), "Utrka - Cilj: %s",sendername);
citaj sta ti pise za error... lijepo pise da "string" nije definiran... sada ga samo moras definirat....
new string[128];
kako to napraviti kao FS?
Djurp-Legenda skriptanja xD :D ;)
Prekuco skriptanje ;D
____________________________-
Zeljo vodiiii idemo u finale kupa (izvinite ali morao sam ;D ;D ;D ;D ;D)
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1423) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1434) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1688) : error 004: function "SetPlayerToTeamColor" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1713) : error 004: function "SetPlayerToTeamColor" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1733) : error 004: function "SetPlayerCriminal" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1738) : error 004: function "SetPlayerCriminal" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1802) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1806) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1818) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1822) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1826) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1830) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1834) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1838) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1842) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1854) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1858) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1862) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1866) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1870) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1882) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1886) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1890) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1902) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1906) : error 004: function "PlayerToPoint" is not implemented
C:\Users\Zeros\Desktop\SRVR\gamemodes\RG-RP.pwn(1910) : error 004: function "PlayerToPoint" is not implemented
ste bi te bilo?
na necemu sto si zadnje radio si krivo zatvorio zagradu...
trebam pomoc oko ovih chekpointova ::)
public OnPlayerLeaveCheckpoint(playerid)
{
if(PlayerInfo[playerid][pUtrka] >= 2)
{
if(PlayerToPoint(5, playerid,1007.5831,2224.0020,10.3791))//cp1
{
if(PlayerInfo[playerid][pUtrka] == 2)
{
PlayerInfo[playerid][pUtrka] = 3;
SetPlayerRaceCheckpoint(playerid, 0, 1007.0598,1874.7622,10.3779, 1007.4919,1384.5295,10.3775, 5);// kao sto vidite u race cp unosite iduci cp i onaj iza njega
}
}
if(PlayerToPoint(10, playerid,1007.4919,1384.5295,10.3775))//cp n-ti
{
if(PlayerInfo[playerid][pUtrka] == 3)
{
SendClientMessage(playerid, COLOR_YELLOW, "Prosao si kroz cilj");
PlayerInfo[playerid][pUtrka] = 3;//da mozete i dalje vidjeti kad prolaze kroz cilj
DisablePlayerRaceCheckpoint(playerid);
ovo mi je cp 1: 1007.5831,2224.0020,10.3791
ovo mi je cp 2: 1007.0598,1874.7622,10.3779
ovo mi je cilj to jest zadnji cp: 1007.4919,1384.5295,10.3775
ako bi mi neko pls mogao ovo posloziti u gore navedeni kod :-[ :-[ :-[
ja imam slijedeci problem.sve napravim po ovom tutu,pozovem npr sebe i frenda obadvoje smo admini,i utrka normalno krene spusti se kapija sve radi savrseno ali kad npr pozovem sebe i neku osobu koja nije admin pise utrka aktivirana od admina tog i tog al nista se ne dogaÄ'a nece se spustit kapija nista,uopce ni ne pocne odbrojavat.di bi mogo bit problem?
postaj ovdje svoj kod pa cu ti reci...
Evo kako sam ja to radio:
new drag[MAX_PLAYERS];
new dragrace;
pod forward:
forward UtrkaTimer();
forward UtrkaTimer2();
forward UtrkaTimer3();
ongamemodeinit:
dragrace = CreateObject(982, 2050.7309570313, -2493.9169921875, 13.230429649353, 0, 0, 0);
onplayercommand:
if(strcmp(cmd, "/dragracer", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Pisi: /dragracer [id igraca/Dio imena]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "DragRace: %s, tebi je admin %s aktivirao utrku", giveplayer, sendername);
SendClientMessage(giveplayerid,COLOR_RED, string);
format(string, sizeof(string), "[DragRace]Igracu %s je utrku aktivirao admin %s", giveplayer, sendername);
SendAdminMessage(COLOR_GREEN, string);
SetPlayerRaceCheckpoint(giveplayerid, 1,1465.1482,-2493.8542,13.1253,0,0,0,20);
drag[giveplayerid] = 100;
}
}
}
else
{
format(string, sizeof(string), " %d nije aktivan igrac.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
if(strcmp(cmd, "/startdragrace", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
SendClientMessage(playerid, COLOR_GREEN, "Aktivirao si utrku");
format(string, sizeof(string),"*Admin %s je aktivirao DragRace",sendername);
SendAdminMessage(COLOR_RED,string);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
SendClientMessage(i,COLOR_BLUE, "Utrka ce startati za 3 sekunde");
GameTextForPlayer(i, "3",1000,6);
SetTimer("UtrkaTimer",1000,0);
}
}
}
}
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid);
new string[128];
new name[MAX_PLAYER_NAME];
if(drag[playerid] == 100){ DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid, 1,1465.1482,-2493.8542,13.1253,0,0,0,20);
drag[playerid] =101;}
else if(drag[playerid] == 101) {DisablePlayerRaceCheckpoint(playerid);
{
drag[playerid] = 0;
DisablePlayerRaceCheckpoint(playerid);
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "DragRace : %s je upravo zavrsio utrku ", name);
SendClientMessageToAll(COLOR_LIGHTRED, string);
}
}
return 1;
}
i na kraj skripte:
public UtrkaTimer()
{
new giveplayerid;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
GameTextForPlayer(i, "2",1000,6);
SetTimer("UtrkaTimer2",1000,0);
}
}
}
}
public UtrkaTimer2()
{
new giveplayerid;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
GameTextForPlayer(i, "1",1000,6);
SetTimer("UtrkaTimer3",1000,0);
}
}
}
}
public UtrkaTimer3()
{
new giveplayerid;
MoveObject(dragrace,2050.73046875,-2493.9169921875,11.190228462219, 4.0);//znaci kapija se automatski spusta kad timer kaze start
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
GameTextForPlayer(i, "START !!!",1000,6);
}
}
}
}
zadnji timer samo promijeni u ovaj:
public UtrkaTimer3()
{
new giveplayerid;
MoveObject(dragrace,2050.73046875,-2493.9169921875,11.190228462219, 4.0);//znaci kapija se automatski spusta kad timer kaze start
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
GameTextForPlayer(i, "START !!!",1000,6);
SetPlayerRaceCheckpoint(i, 1,x1,y1,z1,x2,y2,z2,20);-----> tu mijenjaj koordinate za oba cp-a
}
}
}
}
Prvi cp: x1,y1,z1
Drugi: x2,y2,z2
Umjesto x1,y1... stavi float koordinate tvoja dva cp-a...
ja imam samo 1 cp tj on je zajedniÄki, znaci hvata oba dvije trake vozaca,i sad kad sam ja napravio tako kako si rekao,pozovem igraca,pojavi se taj cilj(cp) i kad startam utrku kad timer odradi svoje kaze start taj cilji cp nestane(a crveni kvadratic ostane na mapi) i ja odvezem do tog kvadratica tu di bi trebo bit cilj nista se ne dogaÄ'a.jel imas jos kakvih ideja?(da negdje u komandi za pozivanje igraca nije greska,mozda samo poziva admine ili tako nesta)
Mogu se ja malo umjesati... Jer postoji mogucnost dodavanja arrow i finish checkpointa?
svaka cast korisno
Djuro pomagaj :D ,
isao sam ponovno radit race po ovom tutu i opet imam problemcic,znaci kad doÄ'em do starta pozovem igraca pise da sam pozvan,startam utrku,timer odradi svoje kad kaze start pojavi mi se prvi cp i ograda se spusti,ali kad doÄ'em do tog cp-a on stoji i dalje znaci nece se maknut i pokazat slijedeci,evo kodova pa probaj naci di je greska:
na vrhu skripte :
new dragrace;
forward UtrkaTimer();
forward UtrkaTimer2();
forward UtrkaTimer3();
public ongamemodeinit:
dragrace = CreateObject(982, 2050.7309570313, -2493.9169921875, 13.230429649353, 0, 0, 0);
public onplayercommand:
if(strcmp(cmd, "/dragracer", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Pisi: /dragracer [id igraca/Dio imena]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "DragRace: %s, tebi je admin %s aktivirao utrku", giveplayer, sendername);
SendClientMessage(giveplayerid,COLOR_RED, string);
format(string, sizeof(string), "[DragRace]Igracu %s je utrku aktivirao admin %s", giveplayer, sendername);
SendAdminMessage(COLOR_GREEN, string);
PlayerInfo[giveplayerid][pUtrka] = 1;
}
}
}
else
{
format(string, sizeof(string), " %d nije aktivan igrac.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
if(strcmp(cmd, "/startdragrace", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
SendClientMessage(playerid, COLOR_GREEN, "Aktivirao si utrku");
format(string, sizeof(string),"*Admin %s je aktivirao DragRace",sendername);
SendAdminMessage(COLOR_RED,string);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
SendClientMessage(i,COLOR_BLUE, "Utrka ce startati za 3 sekunde");
GameTextForPlayer(i, "3",1000,6);
SetTimer("UtrkaTimer",1000,0);
}
}
}
}
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid):
if(PlayerInfo[playerid][pUtrka] >= 2)
{
if(PlayerToPoint(2.0, playerid,2010.2949,-2493.9670,13.1025))//cp1
{
if(PlayerInfo[playerid][pUtrka] == 2)
{
PlayerInfo[playerid][pUtrka] = 3;
SetPlayerRaceCheckpoint(playerid, 0, 1915.4852,-2493.9519,13.1102, 1774.5427,-2493.7131,13.5547, 2.0);// kao sto vidite u race cp unosite iduci cp i onaj iza njega
}
}
if(PlayerToPoint(2.0, playerid,1915.4852,-2493.9519,13.1102))//cp2
{
if(PlayerInfo[playerid][pUtrka] == 3)
{
PlayerInfo[playerid][pUtrka] = 4;
SetPlayerRaceCheckpoint(playerid, 0,1774.5427,-2493.7131,13.5547, 1465.1482,-2493.8542,13.1253, 2.0);
SendClientMessage(playerid, COLOR_YELLOW, "Prosao si kroz cilj");
PlayerInfo[playerid][pUtrka] = 4+1;//da mozete i dalje vidjeti kad prolaze kroz cilj
DisablePlayerRaceCheckpoint(playerid);
//-------------------[Ovo je da svi oni koji su na raceu vide kad prodjete kroz cilj]
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] > 0)
{
format(string, sizeof(string), "Utrka - Cilj: %s",sendername);
SendClientMessage(i,COLOR_WHITE , string);
}
}
}
}
}
}
i na kraju skripte:
public UtrkaTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "2",1000,6);
SetTimer("UtrkaTimer2",1000,0);
}
}
}
}
public UtrkaTimer2()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "1",1000,6);
SetTimer("UtrkaTimer3",1000,0);
}
}
}
}
public UtrkaTimer3()
{
MoveObject(dragrace,2050.73046875,-2493.9169921875,11.190228462219, 4.0);//znaci kapija se automatski spusta kad timer kaze start
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "START !!!",1000,6);
SetPlayerRaceCheckpoint(i, 0, 2010.2949,-2493.9670,13.1025, 1915.4852,-2493.9519,13.1102, 20);//cp 1
PlayerInfo[i][pUtrka] = 2;
}
}
}
}
Plzz recte mi gdje sam pogrijesio
CitatC:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3634) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3635) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3636) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3637) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3638) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3639) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3640) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3641) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3641 -- 3642) : warning 215: expression has no effect
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3642) : error 001: expected token: ";", but found "if"
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3642) : error 036: empty statement
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3642) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
11 Errors.
Plzz pomoc
Si mozda zaoravio negdje zagrade?
Citat: Night_Mare poslato April 21, 2010, 18:34:28 POSLE PODNE
Plzz recte mi gdje sam pogrijesio
CitatC:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3634) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3635) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3636) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3637) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3638) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3639) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3640) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3641) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3641 -- 3642) : warning 215: expression has no effect
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3642) : error 001: expected token: ";", but found "if"
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3642) : error 036: empty statement
C:\Documents and Settings\Servis\Desktop\Kucni server\gamemodes\RG-RP.pwn(3642) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
11 Errors.
Plzz pomoc
postaj redove...
sta niko nezna di bi mogo bit problem?
cp-ove za utrku?? mozete mi malo pojasniti?
Sta pojasnit?
CP = Check point?
Citat: SoaD123 poslato Maj 01, 2010, 15:37:03 POSLE PODNE
sta niko nezna di bi mogo bit problem?
fali ti DisablePlayerCheckpoint(playerid) prije SetPlayerCheckpoint, SetPlayerCheckpoint ne radi to automatski pa morate vi inace vam nece dobro raditi ;)
Citat: JoeBullet v2.1 poslato Maj 13, 2010, 12:53:33 POSLE PODNE
Citat: SoaD123 poslato Maj 01, 2010, 15:37:03 POSLE PODNE
sta niko nezna di bi mogo bit problem?
fali ti DisablePlayerCheckpoint(playerid) prije SetPlayerCheckpoint, SetPlayerCheckpoint ne radi to automatski pa morate vi inace vam nece dobro raditi ;)
ili neka jednostavno naprave novu f-ju npr SetPlayerCheckpoint_ koja ce u sebi prvo imate DisablePlayerCheckpoint pa onda SetPlayerCheckpoint da ne moraju puno toga mijenjati...
Citat: SoaD123 poslato April 19, 2010, 16:46:36 POSLE PODNE
Evo kako sam ja to radio:
new drag[MAX_PLAYERS];
new dragrace;
pod forward:
forward UtrkaTimer();
forward UtrkaTimer2();
forward UtrkaTimer3();
dragrace = CreateObject(982, 2050.7309570313, -2493.9169921875, 13.230429649353, 0, 0, 0);
onplayercommand:
if(strcmp(cmd, "/dragracer", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Pisi: /dragracer [id igraca/Dio imena]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "DragRace: %s, tebi je admin %s aktivirao utrku", giveplayer, sendername);
SendClientMessage(giveplayerid,COLOR_RED, string);
format(string, sizeof(string), "[DragRace]Igracu %s je utrku aktivirao admin %s", giveplayer, sendername);
SendAdminMessage(COLOR_GREEN, string);
SetPlayerRaceCheckpoint(giveplayerid, 1,1465.1482,-2493.8542,13.1253,0,0,0,20);
drag[giveplayerid] = 100;
}
}
}
else
{
format(string, sizeof(string), " %d nije aktivan igrac.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
if(strcmp(cmd, "/startdragrace", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
SendClientMessage(playerid, COLOR_GREEN, "Aktivirao si utrku");
format(string, sizeof(string),"*Admin %s je aktivirao DragRace",sendername);
SendAdminMessage(COLOR_RED,string);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
SendClientMessage(i,COLOR_BLUE, "Utrka ce startati za 3 sekunde");
GameTextForPlayer(i, "3",1000,6);
SetTimer("UtrkaTimer",1000,0);
}
}
}
}
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid);
new string[128];
new name[MAX_PLAYER_NAME];
if(drag[playerid] == 100){ DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid, 1,1465.1482,-2493.8542,13.1253,0,0,0,20);
drag[playerid] =101;}
else if(drag[playerid] == 101) {DisablePlayerRaceCheckpoint(playerid);
{
drag[playerid] = 0;
DisablePlayerRaceCheckpoint(playerid);
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "DragRace : %s je upravo zavrsio utrku ", name);
SendClientMessageToAll(COLOR_LIGHTRED, string);
}
}
return 1;
}
i na kraj skripte:
public UtrkaTimer()
{
new giveplayerid;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
GameTextForPlayer(i, "2",1000,6);
SetTimer("UtrkaTimer2",1000,0);
}
}
}
}
public UtrkaTimer2()
{
new giveplayerid;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
GameTextForPlayer(i, "1",1000,6);
SetTimer("UtrkaTimer3",1000,0);
}
}
}
}
public UtrkaTimer3()
{
new giveplayerid;
MoveObject(dragrace,2050.73046875,-2493.9169921875,11.190228462219, 4.0);//znaci kapija se automatski spusta kad timer kaze start
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
GameTextForPlayer(i, "START !!!",1000,6);
}
}
}
}
i tak je men, invitam se na utrku, aktivram utrku i dodem na prvi cp i nis
evo moj cod
public OnPlayerEnterCheckpoint(playerid)
{
if(PlayerInfo[playerid][pUtrka] >= 2)
{
if(PlayerToPoint(5.0, playerid, 1618.3621,-1725.6051,3.7159))//cp1
{
if(PlayerInfo[playerid][pUtrka] == 3)
{
DisablePlayerRaceCheckpoint(playerid);
PlayerInfo[playerid][pUtrka] = 3;
SetPlayerRaceCheckpoint(playerid, 0, 1630.9906,-1764.9762,3.7915, 1982.5056,-1849.8158,3.8735, 5.0);// kao sto vidite u race cp unosite iduci cp i onaj iza njega
}
}
if(PlayerToPoint(5.0, playerid,1630.9906,-1764.9762,3.7915))//cp2
{
if(PlayerInfo[playerid][pUtrka] == 3)
{
DisablePlayerRaceCheckpoint(playerid);
PlayerInfo[playerid][pUtrka] = 4;
SetPlayerRaceCheckpoint(playerid, 0, 1982.5056,-1849.8158,3.8735, 2416.0830,-1848.7604,1.2584, 5.0);
}
}
if(PlayerToPoint(5.0, playerid,1982.5056,-1849.8158,3.8735))//cp2
{
if(PlayerInfo[playerid][pUtrka] == 4)
{
DisablePlayerRaceCheckpoint(playerid);
PlayerInfo[playerid][pUtrka] = 5;
SetPlayerRaceCheckpoint(playerid, 0, 2416.0830,-1848.7604,1.2584, 2587.9768,-1595.2267,4.1636, 5.0);
}
}
if(PlayerToPoint(5.0, playerid,2416.0830,-1848.7604,1.2584))//cp n-ti
{
if(PlayerInfo[playerid][pUtrka] == 5)
{
SendClientMessage(playerid, COLOR_YELLOW, "Prosao si kroz cilj");
PlayerInfo[playerid][pUtrka] = 6;//da mozete i dalje vidjeti kad prolaze kroz cilj
DisablePlayerRaceCheckpoint(playerid);
//-------------------[Ovo je da svi oni koji su na raceu vide kad prodjete kroz cilj]
new string[128];
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] > 0)
{
format(string, sizeof(string), "|| = Phoenix Race: %s = ||",sendername);
SendClientMessage(i,COLOR_WHITE , string);
}
}
}
//-----------------------------------------------------------------------------
}
}
}
I timer jer ovo drugo nije tak vazno
public UtrkaTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "2",1000,6);
SetTimer("UtrkaTimer2",1000,0);
}
}
}
}
public UtrkaTimer2()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "1",1000,6);
SetTimer("UtrkaTimer3",1000,0);
}
}
}
}
public UtrkaTimer3()
{
MoveObject(utrkakapija,1617.6695556641, -1664.7639160156, 11.683554649353, 2.00);//znaci kapija se automatski spusta kad timer kaze start
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "START !!!",1000,6);
SetPlayerRaceCheckpoint(i, 0, 1618.3621,-1725.6051,3.7159, 1630.9906,-1764.9762,3.7915, 5.0);//cp 1
PlayerInfo[i][pUtrka] = 2;
}
}
}
}
HELP
Citat: [BM]Alen_Sudec poslato Maj 21, 2010, 20:37:59 POSLE PODNE
Citat: SoaD123 poslato April 19, 2010, 16:46:36 POSLE PODNE
Evo kako sam ja to radio:
new drag[MAX_PLAYERS];
new dragrace;
pod forward:
forward UtrkaTimer();
forward UtrkaTimer2();
forward UtrkaTimer3();
dragrace = CreateObject(982, 2050.7309570313, -2493.9169921875, 13.230429649353, 0, 0, 0);
onplayercommand:
if(strcmp(cmd, "/dragracer", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Pisi: /dragracer [id igraca/Dio imena]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "DragRace: %s, tebi je admin %s aktivirao utrku", giveplayer, sendername);
SendClientMessage(giveplayerid,COLOR_RED, string);
format(string, sizeof(string), "[DragRace]Igracu %s je utrku aktivirao admin %s", giveplayer, sendername);
SendAdminMessage(COLOR_GREEN, string);
SetPlayerRaceCheckpoint(giveplayerid, 1,1465.1482,-2493.8542,13.1253,0,0,0,20);
drag[giveplayerid] = 100;
}
}
}
else
{
format(string, sizeof(string), " %d nije aktivan igrac.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
if(strcmp(cmd, "/startdragrace", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
SendClientMessage(playerid, COLOR_GREEN, "Aktivirao si utrku");
format(string, sizeof(string),"*Admin %s je aktivirao DragRace",sendername);
SendAdminMessage(COLOR_RED,string);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
SendClientMessage(i,COLOR_BLUE, "Utrka ce startati za 3 sekunde");
GameTextForPlayer(i, "3",1000,6);
SetTimer("UtrkaTimer",1000,0);
}
}
}
}
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid);
new string[128];
new name[MAX_PLAYER_NAME];
if(drag[playerid] == 100){ DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid, 1,1465.1482,-2493.8542,13.1253,0,0,0,20);
drag[playerid] =101;}
else if(drag[playerid] == 101) {DisablePlayerRaceCheckpoint(playerid);
{
drag[playerid] = 0;
DisablePlayerRaceCheckpoint(playerid);
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "DragRace : %s je upravo zavrsio utrku ", name);
SendClientMessageToAll(COLOR_LIGHTRED, string);
}
}
return 1;
}
i na kraj skripte:
public UtrkaTimer()
{
new giveplayerid;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
GameTextForPlayer(i, "2",1000,6);
SetTimer("UtrkaTimer2",1000,0);
}
}
}
}
public UtrkaTimer2()
{
new giveplayerid;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
GameTextForPlayer(i, "1",1000,6);
SetTimer("UtrkaTimer3",1000,0);
}
}
}
}
public UtrkaTimer3()
{
new giveplayerid;
MoveObject(dragrace,2050.73046875,-2493.9169921875,11.190228462219, 4.0);//znaci kapija se automatski spusta kad timer kaze start
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
GameTextForPlayer(i, "START !!!",1000,6);
}
}
}
}
i tak je men, invitam se na utrku, aktivram utrku i dodem na prvi cp i nis
evo moj cod
public OnPlayerEnterCheckpoint(playerid)
{
if(PlayerInfo[playerid][pUtrka] >= 2)
{
if(PlayerToPoint(5.0, playerid, 1618.3621,-1725.6051,3.7159))//cp1
{
if(PlayerInfo[playerid][pUtrka] == 3)
{
DisablePlayerRaceCheckpoint(playerid);
PlayerInfo[playerid][pUtrka] = 3;
SetPlayerRaceCheckpoint(playerid, 0, 1630.9906,-1764.9762,3.7915, 1982.5056,-1849.8158,3.8735, 5.0);// kao sto vidite u race cp unosite iduci cp i onaj iza njega
}
}
if(PlayerToPoint(5.0, playerid,1630.9906,-1764.9762,3.7915))//cp2
{
if(PlayerInfo[playerid][pUtrka] == 3)
{
DisablePlayerRaceCheckpoint(playerid);
PlayerInfo[playerid][pUtrka] = 4;
SetPlayerRaceCheckpoint(playerid, 0, 1982.5056,-1849.8158,3.8735, 2416.0830,-1848.7604,1.2584, 5.0);
}
}
if(PlayerToPoint(5.0, playerid,1982.5056,-1849.8158,3.8735))//cp2
{
if(PlayerInfo[playerid][pUtrka] == 4)
{
DisablePlayerRaceCheckpoint(playerid);
PlayerInfo[playerid][pUtrka] = 5;
SetPlayerRaceCheckpoint(playerid, 0, 2416.0830,-1848.7604,1.2584, 2587.9768,-1595.2267,4.1636, 5.0);
}
}
if(PlayerToPoint(5.0, playerid,2416.0830,-1848.7604,1.2584))//cp n-ti
{
if(PlayerInfo[playerid][pUtrka] == 5)
{
SendClientMessage(playerid, COLOR_YELLOW, "Prosao si kroz cilj");
PlayerInfo[playerid][pUtrka] = 6;//da mozete i dalje vidjeti kad prolaze kroz cilj
DisablePlayerRaceCheckpoint(playerid);
//-------------------[Ovo je da svi oni koji su na raceu vide kad prodjete kroz cilj]
new string[128];
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] > 0)
{
format(string, sizeof(string), "|| = Phoenix Race: %s = ||",sendername);
SendClientMessage(i,COLOR_WHITE , string);
}
}
}
//-----------------------------------------------------------------------------
}
}
}
I timer jer ovo drugo nije tak vazno
public UtrkaTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "2",1000,6);
SetTimer("UtrkaTimer2",1000,0);
}
}
}
}
public UtrkaTimer2()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "1",1000,6);
SetTimer("UtrkaTimer3",1000,0);
}
}
}
}
public UtrkaTimer3()
{
MoveObject(utrkakapija,1617.6695556641, -1664.7639160156, 11.683554649353, 2.00);//znaci kapija se automatski spusta kad timer kaze start
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "START !!!",1000,6);
SetPlayerRaceCheckpoint(i, 0, 1618.3621,-1725.6051,3.7159, 1630.9906,-1764.9762,3.7915, 5.0);//cp 1
PlayerInfo[i][pUtrka] = 2;
}
}
}
}
HELP
Oce li netko odgovoriti ovom decku xD
Imam isti
problem :S
dobar si ucitelj napravi tut na youtube :D
Citat: Billy_Armstrong poslato Maj 24, 2010, 18:46:23 POSLE PODNE
dobar si ucitelj napravi tut na youtube :D
Djuro je medju najboljima na balkanu :)
jebu me ovi cp odman me porta na zadnji ali sve u svemu odlicno
Ljudi, trebam malu pomoc.
Naime radio sam race prema ovom tutu, i dodavao, CP-ove, i krene utrka i sve, prvi cp pokaze, i kad dodjem na taj cp, nece uopce da dalje nastavi pokazivat cp-ove. nzm u cem je problem.
Evo code kako sam radio, pa ak netko zna...
public UtrkaTimer4()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka1] == 1)
{
GameTextForPlayer(i, "2",1000,6);
SetTimer("UtrkaTimer5",1000,0);
}
}
}
}
public UtrkaTimer5()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka1] == 1)
{
GameTextForPlayer(i, "1",1000,6);
SetTimer("UtrkaTimer6",1000,0);
}
}
}
}
public UtrkaTimer6()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka1] == 1)
{
GameTextForPlayer(i, "START !!!",1000,6);
SetPlayerRaceCheckpoint(i, 0, -2279.8643,-1728.5593,470.1421, -2343.3291,-1816.8014,434.2834, 10);
PlayerInfo[i][pUtrka1] = 2;
}
}
}
}
I evo nastavak dodavanja, cp-ova.....Ali nisam do kraja sve postavio, samo nekoliko da vidim oce to uopce raditi, i ispostavilo se da ne radi....
if(PlayerInfo[playerid][pUtrka1] >= 2)
{
if(PlayerToPoint(5, playerid,-2279.8643,-1728.5593,470.1421))//cp1
{
if(PlayerInfo[playerid][pUtrka1] == 2)
{
PlayerInfo[playerid][pUtrka1] = 3;
SetPlayerRaceCheckpoint(playerid, 0, -2343.3291,-1816.8014,434.2834, -2426.4685,-1738.7672,434.1338, 10);// kao sto vidite u race cp unosite iduci cp i onaj iza njega
}
}
if(PlayerToPoint(10, playerid,-2343.3291,-1816.8014,434.2834))//cp2
{
if(PlayerInfo[playerid][pUtrka1] == 3)
{
PlayerInfo[playerid][pUtrka1] = 4;
SetPlayerRaceCheckpoint(playerid, 0, -2426.4685,-1738.7672,434.1338, -2441.1936,-1785.4551,414.7432, 10);
}
}
}
Hvala unaprijed
Citat: Moonwalker poslato Novembar 08, 2010, 19:02:08 POSLE PODNE
Ljudi, trebam malu pomoc.
Naime radio sam race prema ovom tutu, i dodavao, CP-ove, i krene utrka i sve, prvi cp pokaze, i kad dodjem na taj cp, nece uopce da dalje nastavi pokazivat cp-ove. nzm u cem je problem.
Evo code kako sam radio, pa ak netko zna...
public UtrkaTimer4()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka1] == 1)
{
GameTextForPlayer(i, "2",1000,6);
SetTimer("UtrkaTimer5",1000,0);
}
}
}
}
public UtrkaTimer5()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka1] == 1)
{
GameTextForPlayer(i, "1",1000,6);
SetTimer("UtrkaTimer6",1000,0);
}
}
}
}
public UtrkaTimer6()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka1] == 1)
{
GameTextForPlayer(i, "START !!!",1000,6);
SetPlayerRaceCheckpoint(i, 0, -2279.8643,-1728.5593,470.1421, -2343.3291,-1816.8014,434.2834, 10);
PlayerInfo[i][pUtrka1] = 2;
}
}
}
}
I evo nastavak dodavanja, cp-ova.....Ali nisam do kraja sve postavio, samo nekoliko da vidim oce to uopce raditi, i ispostavilo se da ne radi....
if(PlayerInfo[playerid][pUtrka1] >= 2)
{
if(PlayerToPoint(5, playerid,-2279.8643,-1728.5593,470.1421))//cp1
{
if(PlayerInfo[playerid][pUtrka1] == 2)
{
PlayerInfo[playerid][pUtrka1] = 3;
SetPlayerRaceCheckpoint(playerid, 0, -2343.3291,-1816.8014,434.2834, -2426.4685,-1738.7672,434.1338, 10);// kao sto vidite u race cp unosite iduci cp i onaj iza njega
}
}
if(PlayerToPoint(10, playerid,-2343.3291,-1816.8014,434.2834))//cp2
{
if(PlayerInfo[playerid][pUtrka1] == 3)
{
PlayerInfo[playerid][pUtrka1] = 4;
SetPlayerRaceCheckpoint(playerid, 0, -2426.4685,-1738.7672,434.1338, -2441.1936,-1785.4551,414.7432, 10);
}
}
}
Hvala unaprijed
Imam isti problem, a nzm kako rjesiti, zna li neko mozda?
Citat: Moonwalker poslato Novembar 09, 2010, 15:24:54 POSLE PODNE
Citat: Moonwalker poslato Novembar 08, 2010, 19:02:08 POSLE PODNE
Ljudi, trebam malu pomoc.
Naime radio sam race prema ovom tutu, i dodavao, CP-ove, i krene utrka i sve, prvi cp pokaze, i kad dodjem na taj cp, nece uopce da dalje nastavi pokazivat cp-ove. nzm u cem je problem.
Evo code kako sam radio, pa ak netko zna...
public UtrkaTimer4()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka1] == 1)
{
GameTextForPlayer(i, "2",1000,6);
SetTimer("UtrkaTimer5",1000,0);
}
}
}
}
public UtrkaTimer5()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka1] == 1)
{
GameTextForPlayer(i, "1",1000,6);
SetTimer("UtrkaTimer6",1000,0);
}
}
}
}
public UtrkaTimer6()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka1] == 1)
{
GameTextForPlayer(i, "START !!!",1000,6);
SetPlayerRaceCheckpoint(i, 0, -2279.8643,-1728.5593,470.1421, -2343.3291,-1816.8014,434.2834, 10);
PlayerInfo[i][pUtrka1] = 2;
}
}
}
}
I evo nastavak dodavanja, cp-ova.....Ali nisam do kraja sve postavio, samo nekoliko da vidim oce to uopce raditi, i ispostavilo se da ne radi....
if(PlayerInfo[playerid][pUtrka1] >= 2)
{
if(PlayerToPoint(5, playerid,-2279.8643,-1728.5593,470.1421))//cp1
{
if(PlayerInfo[playerid][pUtrka1] == 2)
{
PlayerInfo[playerid][pUtrka1] = 3;
SetPlayerRaceCheckpoint(playerid, 0, -2343.3291,-1816.8014,434.2834, -2426.4685,-1738.7672,434.1338, 10);// kao sto vidite u race cp unosite iduci cp i onaj iza njega
}
}
if(PlayerToPoint(10, playerid,-2343.3291,-1816.8014,434.2834))//cp2
{
if(PlayerInfo[playerid][pUtrka1] == 3)
{
PlayerInfo[playerid][pUtrka1] = 4;
SetPlayerRaceCheckpoint(playerid, 0, -2426.4685,-1738.7672,434.1338, -2441.1936,-1785.4551,414.7432, 10);
}
}
}
Hvala unaprijed
Imam isti problem, a nzm kako rjesiti, zna li neko mozda?
Umjesto SetPlayerRaceCheckpoint stavi SetPlayerCheckpoint ;)
Taj lik je to pitao prije GODINU DANA!!! I ti mu sada odgovaraš?! Ide ti zabrana pisanja na 24h
OdliÄan TUTORIAL
Moze neko pomoc, radio sam po ovom TuTu ali mi cp nece pokazat, dole na mapi mi pokazuje ali da crveno svijetli tamo u igri odnosno na cesti ne svijetli :S
Da li je moguce sto CPove nisam snimao u debug nego na svom kucnom serveru ?
Spamate po tutu a tut je star 100godina
ti si jedini vodje koji spamma, trazim pomoc i sam vidis ...
ako mi mozes pomoc, pomozi
a ako nemozes odjebi
Citat: Robyo97o poslato Maj 22, 2010, 20:04:02 POSLE PODNE
Citat: [BM]Alen_Sudec poslato Maj 21, 2010, 20:37:59 POSLE PODNE
Citat: SoaD123 poslato April 19, 2010, 16:46:36 POSLE PODNE
Evo kako sam ja to radio:
new drag[MAX_PLAYERS];
new dragrace;
pod forward:
forward UtrkaTimer();
forward UtrkaTimer2();
forward UtrkaTimer3();
dragrace = CreateObject(982, 2050.7309570313, -2493.9169921875, 13.230429649353, 0, 0, 0);
onplayercommand:
if(strcmp(cmd, "/dragracer", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Pisi: /dragracer [id igraca/Dio imena]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1)
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "DragRace: %s, tebi je admin %s aktivirao utrku", giveplayer, sendername);
SendClientMessage(giveplayerid,COLOR_RED, string);
format(string, sizeof(string), "[DragRace]Igracu %s je utrku aktivirao admin %s", giveplayer, sendername);
SendAdminMessage(COLOR_GREEN, string);
SetPlayerRaceCheckpoint(giveplayerid, 1,1465.1482,-2493.8542,13.1253,0,0,0,20);
drag[giveplayerid] = 100;
}
}
}
else
{
format(string, sizeof(string), " %d nije aktivan igrac.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
if(strcmp(cmd, "/startdragrace", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
SendClientMessage(playerid, COLOR_GREEN, "Aktivirao si utrku");
format(string, sizeof(string),"*Admin %s je aktivirao DragRace",sendername);
SendAdminMessage(COLOR_RED,string);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
SendClientMessage(i,COLOR_BLUE, "Utrka ce startati za 3 sekunde");
GameTextForPlayer(i, "3",1000,6);
SetTimer("UtrkaTimer",1000,0);
}
}
}
}
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid);
new string[128];
new name[MAX_PLAYER_NAME];
if(drag[playerid] == 100){ DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid, 1,1465.1482,-2493.8542,13.1253,0,0,0,20);
drag[playerid] =101;}
else if(drag[playerid] == 101) {DisablePlayerRaceCheckpoint(playerid);
{
drag[playerid] = 0;
DisablePlayerRaceCheckpoint(playerid);
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "DragRace : %s je upravo zavrsio utrku ", name);
SendClientMessageToAll(COLOR_LIGHTRED, string);
}
}
return 1;
}
i na kraj skripte:
public UtrkaTimer()
{
new giveplayerid;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
GameTextForPlayer(i, "2",1000,6);
SetTimer("UtrkaTimer2",1000,0);
}
}
}
}
public UtrkaTimer2()
{
new giveplayerid;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
GameTextForPlayer(i, "1",1000,6);
SetTimer("UtrkaTimer3",1000,0);
}
}
}
}
public UtrkaTimer3()
{
new giveplayerid;
MoveObject(dragrace,2050.73046875,-2493.9169921875,11.190228462219, 4.0);//znaci kapija se automatski spusta kad timer kaze start
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(drag[giveplayerid] == 100)
{
GameTextForPlayer(i, "START !!!",1000,6);
}
}
}
}
i tak je men, invitam se na utrku, aktivram utrku i dodem na prvi cp i nis
evo moj cod
public OnPlayerEnterCheckpoint(playerid)
{
if(PlayerInfo[playerid][pUtrka] >= 2)
{
if(PlayerToPoint(5.0, playerid, 1618.3621,-1725.6051,3.7159))//cp1
{
if(PlayerInfo[playerid][pUtrka] == 3)
{
DisablePlayerRaceCheckpoint(playerid);
PlayerInfo[playerid][pUtrka] = 3;
SetPlayerRaceCheckpoint(playerid, 0, 1630.9906,-1764.9762,3.7915, 1982.5056,-1849.8158,3.8735, 5.0);// kao sto vidite u race cp unosite iduci cp i onaj iza njega
}
}
if(PlayerToPoint(5.0, playerid,1630.9906,-1764.9762,3.7915))//cp2
{
if(PlayerInfo[playerid][pUtrka] == 3)
{
DisablePlayerRaceCheckpoint(playerid);
PlayerInfo[playerid][pUtrka] = 4;
SetPlayerRaceCheckpoint(playerid, 0, 1982.5056,-1849.8158,3.8735, 2416.0830,-1848.7604,1.2584, 5.0);
}
}
if(PlayerToPoint(5.0, playerid,1982.5056,-1849.8158,3.8735))//cp2
{
if(PlayerInfo[playerid][pUtrka] == 4)
{
DisablePlayerRaceCheckpoint(playerid);
PlayerInfo[playerid][pUtrka] = 5;
SetPlayerRaceCheckpoint(playerid, 0, 2416.0830,-1848.7604,1.2584, 2587.9768,-1595.2267,4.1636, 5.0);
}
}
if(PlayerToPoint(5.0, playerid,2416.0830,-1848.7604,1.2584))//cp n-ti
{
if(PlayerInfo[playerid][pUtrka] == 5)
{
SendClientMessage(playerid, COLOR_YELLOW, "Prosao si kroz cilj");
PlayerInfo[playerid][pUtrka] = 6;//da mozete i dalje vidjeti kad prolaze kroz cilj
DisablePlayerRaceCheckpoint(playerid);
//-------------------[Ovo je da svi oni koji su na raceu vide kad prodjete kroz cilj]
new string[128];
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] > 0)
{
format(string, sizeof(string), "|| = Phoenix Race: %s = ||",sendername);
SendClientMessage(i,COLOR_WHITE , string);
}
}
}
//-----------------------------------------------------------------------------
}
}
}
I timer jer ovo drugo nije tak vazno
public UtrkaTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "2",1000,6);
SetTimer("UtrkaTimer2",1000,0);
}
}
}
}
public UtrkaTimer2()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "1",1000,6);
SetTimer("UtrkaTimer3",1000,0);
}
}
}
}
public UtrkaTimer3()
{
MoveObject(utrkakapija,1617.6695556641, -1664.7639160156, 11.683554649353, 2.00);//znaci kapija se automatski spusta kad timer kaze start
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "START !!!",1000,6);
SetPlayerRaceCheckpoint(i, 0, 1618.3621,-1725.6051,3.7159, 1630.9906,-1764.9762,3.7915, 5.0);//cp 1
PlayerInfo[i][pUtrka] = 2;
}
}
}
}
HELP
Oce li netko odgovoriti ovom decku xD
Imam isti problem :S
decki imam potpuno isti problem, dodem na prvi CP i nece ga izbrisat da mi se pokaze drugi a htio bi RACE cp-ove.... ako netko zna instalirati ovaj mod, zamolio bi ga neka mi se javi, stvarno trebam pomoc :) Hvala :DD
@ SoaD123 Mesas babe i zabe kod komande za prozivanje stavljas:
dragrace[giveplayerid] = 100;
a kod onplayerenterracecheckpoint trazis:
PlayerInfo[playerid][pUtrka]
Kako ocekujes da radi? :/
Stavi za proveru ili jedno ili drugo, ne mozes oba ... :)
dobar tut svaka cast
Citat: dock poslato Februar 13, 2012, 09:05:16 PRE PODNE
@ SoaD123 Mesas babe i zabe kod komande za prozivanje stavljas:
dragrace[giveplayerid] = 100;
a kod onplayerenterracecheckpoint trazis:
PlayerInfo[playerid][pUtrka]
Kako ocekujes da radi? :/
Stavi za proveru ili jedno ili drugo, ne mozes oba ... :)
A gle moje... :S
Ovo mi je Onplayerenterracecheckpoint
public OnPlayerEnterRaceCheckpoint(playerid)
{
if(PlayerInfo[playerid][pUtrka] >= 2)
{
if(PlayerToPoint(3.0, playerid,-2279.7034,-1726.2952,470.2519))//cp1
{
if(PlayerInfo[playerid][pUtrka] == 2)
{
PlayerInfo[playerid][pUtrka] = 3;
SetPlayerRaceCheckpoint(playerid, 0, -2334.3279,-1816.5967,434.4522, -2444.0710,-1718.9965,431.9598, 3.0);// kao sto vidite u race cp unosite iduci cp i onaj iza njega
}
}
if(PlayerToPoint(3.0, playerid,-2334.3279,-1816.5967,434.4522))//cp2
{
if(PlayerInfo[playerid][pUtrka] == 3)
{
PlayerInfo[playerid][pUtrka] = 4;
SetPlayerRaceCheckpoint(playerid, 0, -2444.0710,-1718.9965,431.9598, -2440.2944,-1811.3301,410.2977, 3.0);
}
}
if(PlayerToPoint(3.0, playerid,-2444.0710,-1718.9965,431.9598))//cp3
{
if(PlayerInfo[playerid][pUtrka] == 4)
{
PlayerInfo[playerid][pUtrka] = 5;
SetPlayerRaceCheckpoint(playerid, 0, -2440.2944,-1811.3301,410.2977, -2520.4897,-1693.7389,401.9930, 3.0);
}
}
if(PlayerToPoint(3.0, playerid,-2440.2944,-1811.3301,410.2977))//cp4
{
if(PlayerInfo[playerid][pUtrka] == 5)
{
PlayerInfo[playerid][pUtrka] = 6;
SetPlayerRaceCheckpoint(playerid, 0, -2520.4897,-1693.7389,401.9930, -2497.7583,-1561.1998,394.8573, 3.0);
}
}
if(PlayerToPoint(3.0, playerid,-2520.4897,-1693.7389,401.9930))//cp5
{
if(PlayerInfo[playerid][pUtrka] == 6)
{
PlayerInfo[playerid][pUtrka] = 7;
SetPlayerRaceCheckpoint(playerid, 0, -2497.7583,-1561.1998,394.8573, -2475.4861,-1475.6108,390.3813, 3.0);
}
}
if(PlayerToPoint(3.0, playerid,-2497.7583,-1561.1998,394.8573))//cp6
{
if(PlayerInfo[playerid][pUtrka] == 7)
{
PlayerInfo[playerid][pUtrka] = 8;
SetPlayerRaceCheckpoint(playerid, 0, -2475.4861,-1475.6108,390.3813, -2328.6982,-1452.1298,381.8164, 3.0);
}
}
if(PlayerToPoint(3.0, playerid,-2475.4861,-1475.6108,390.3813))//cp n-ti
{
if(PlayerInfo[playerid][pUtrka] == 0)
{
SendClientMessage(playerid, COLOR_YELLOW, "Prosao si kroz cilj");
PlayerInfo[playerid][pUtrka] = 0+1;//da mozete i dalje vidjeti kad prolaze kroz cilj
DisablePlayerRaceCheckpoint(playerid);
//-------------------[Ovo je da svi oni koji su na raceu vide kad prodjete kroz cilj]
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] > 0)
{
new string[128];
format(string, sizeof(string), "Utrka - Cilj: %s",sendername);
SendClientMessage(i,COLOR_WHITE , string);
}
}
}
//-----------------------------------------------------------------------------
}
}
}
return 1;
}
a ovo mi je Dolje nastavljeno na kraju skripte ....
public UtrkaTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "2",1000,6);
SetTimer("UtrkaTimer2",1000,0);
}
}
}
}
public UtrkaTimer2()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "1",1000,6);
SetTimer("UtrkaTimer3",1000,0);
}
}
}
}
public UtrkaTimer3()
{
MoveObject(utrkakapija,-2307.099609375, -1661.2998046875, 480.29998779297, 5.0);//znaci kapija se automatski spusta kad timer kaze start
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pUtrka] == 1)
{
GameTextForPlayer(i, "START !!!",1000,6);
SetPlayerRaceCheckpoint(i, 0, -2298.1472,-1675.3359,483.2267, -2279.7034,-1726.2952,470.2519, 3.0);//cp 1
PlayerInfo[i][pUtrka] = 2;
}
}
}
}
komande rade, I odbrojava mi na sredini ekrana kad pokrenem utrku..... dvije svari mi se nedogode.... kada proÄ'em groz start CP onda start CP ne nestane te se nepojavi drugi
a druga stvar je nespusti mi se ograda.... hm...