Wysłany: 2014-10-11, 14:30
KaNdY
Wiek: 29 Na forum: 4487 dni Posty: 53
Nick w MP: KaNdY
Piwa : 1
Prosz? o pomoc. Oczywi?cie za ka?d? cenn? rad?:
1. Tworz? wy?cig, kt?ry mo?na rzuci? dla gracza. Wiadomo /wyscig [ID]. Niestety nie mam osoby z kt?r? m?g?bym to sprawdzi?, wi?c si? pytam. Czy ta komenda jest prawid?owa?
Kod:
CMD:wy222scig(playerid, params[])
{
new player;
sscanf(params, "i", player);
if(isnull(params)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}»Serv4Drift«{FFFFFF} | Z?a komenda. U?uj: /{FFFF00}wyscig {FFFFFF}[{FFFF00}ID gracza{FFFFFF}].");
SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}»Serv4Drift«{FFFFFF} | Nie ma takiego ID na serverze.");
ShowPlayerDialog(playerid, 99, DIALOG_STYLE_MSGBOX, "{FFFF00}»Serv4Drift«{FFFFFF} - Wyzwanie na wy?cig!", "{FFFFFF}Gracz {FFFF00}%s{FFFFFF} rzuci? Ci wyzwanie!\n{FFFF00}We? udzia? w wy?cigu i zdob?d? reputacj?!", "Przyjmuje", "Odrzucam");
new info[72];
format(info, sizeof(info), "{FFFF00}»Serv4Drift«{FFFFFF} | Rzuci?e? wyzwanie {FFFF00}%s{FFFFFF}!", PlayerName(player));
SendClientMessage(playerid, -1, info);
return 1;
}
2. R?wnie? odno?nie wy?cigu. Stworzy?em mniej wi?cej sam wy?cig (czyt. Checkpointy) oraz TP na inny VW. Teraz powiedzcie mi jak zrobi? aby:
• Po teleportacji na wy?cig gracz dosta? frezze na 'X' sekund i odliczy?o a nast?pnie dosta? unfreze.
• Aby wy?cig by? na 5 os?b. Tzn. Je?li jest 1 osoba - wy?cig zostaje anulowany. Je?li 2 i wi?cej (max 5) wy?cig startuje, je?li jest ju? 5 os?b i sz?sta osoba wpisze /wyscig to pisz?, ?e wy?cig ju? trwa.
• Na wy?cig s? stworzone auta. Aby po TP na inny VW teleportowa?o nas do auta, a nie z autem.
3. Chc? zrobi?, aby po ka?dym uderzeniu i dachowaniu automatycznie naprawia?o pojazd i dawa?o flip'a. Czy jest mo?e taka funkcja? Bo je?li dam Timer (jak mi kto? napisa?) to powsta?o mega lagi oraz nie b?dzie da?o si? jecha?, przez flipa.
Wysłany: 2014-10-11, 15:14
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Nie poprawna cmd
Pawn
CMD : wy222scig ( playerid , params [])
{
if( isnull ( params )) return SendClientMessage ( playerid , 0xFFFFFFFF , "{FFFF00}»Serv4Drift«{FFFFFF} | Z?a komenda. U?uj: /{FFFF00}wyscig {FFFFFF}[{FFFF00}ID gracza{FFFFFF}]." );
new player = strval ( params );
if(! IsPlayerConnected ( player )) return SendClientMessage ( playerid , 0xFFFFFFFF , "{FFFF00}»Serv4Drift«{FFFFFF} | Nie ma takiego ID na serverze." );
new s [ 121 ];
format ( s , sizeof ( s ), "{FFFFFF}Gracz {FFFF00}%s{FFFFFF} rzuci? Ci wyzwanie!\n{FFFF00}We? udzia? w wy?cigu i zdob?d? reputacj?!" , PlayerName ( playerid ));
ShowPlayerDialog ( player , 99 , DIALOG_STYLE_MSGBOX , "{FFFF00}»Serv4Drift«{FFFFFF} - Wyzwanie na wy?cig!" , s , "Przyjmuje" , "Odrzucam" );
new info [ 72 ];
format ( info , sizeof ( info ), "{FFFF00}»Serv4Drift«{FFFFFF} | Rzuci?e? wyzwanie {FFFF00}%s{FFFFFF}!" , PlayerName ( player ));
SendClientMessage ( playerid , - 1 , info );
return 1 ;
}
Chjyba tak.
[ Dodano : 2014-10-11, 15:20 ]
2.
Zamra?anie:
Pawn
Odliczankoo ( playerid , 5 );
TogglePlayerControllable ( playerid , 0 );
SetTimerEx ( "Unfreeze" , 5000 , false , "i" , playerid );
A to po za mapk?, czyli co w timerze:
Pawn
forward Unfreeze ( playerid );
public Unfreeze ( playerid )
{
TogglePlayerControllable ( playerid , 1 );
return 1 ;
}
To r?wniez po za mapk?:
Pawn
forward Odliczankoo ( playerid , sec );
public Odliczankoo ( playerid , sec )
{
if( sec <= 0 )
{
new stringxx [ 24 ];
format ( stringxx , sizeof ( stringxx ), "Go Go Go!" );
GameTextForPlayer ( playerid , stringxx , 2000 , 2 );
}
else
{
new stringx [ 64 ];
format ( stringx , sizeof ( stringx ), " Pozostalo: %s" , ToTime ( sec ));
GameTextForPlayer ( playerid , stringx , 1000 , 2 );
SetTimerEx ( "Odliczankoo" , 1000 , 0 , "dd" , playerid , sec - 1 );
}
return 1 ;
}
stock ToTime ( sec )
{
new hx , mx ;
mx = sec ;
while ( mx >= 60 )
{
hx ++;
mx -= 60 ;
}
new xstr [ 16 ];
format ( xstr , 16 , "%d:%02d" , hx , mx );
return xstr ;
}
//
[ Dodano : 2014-10-11, 15:27 ]
odliczanie nie moje, przerobi?em tylko - jak co?.
Reszty nie zrobie bo nie ma na tyle k?oda
Wysłany: 2014-10-11, 15:43
IgrexolonO
Wiek: 34 Na forum: 6809 dni Posty: 1386
Piwa : 1062
Kod: CMD:wy222scig(playerid, p[])
{
if(isnull(p)) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Serv4Drift{FFFFFF} | Z?a komenda. U?uj: /{FFFF00}wyscig {FFFFFF}[{FFFF00}ID gracza{FFFFFF}].");
new player;
sscanf(p, "u", player);
if(player == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Serv4Drift{FFFFFF} | Nie ma takiego ID na serverze.");
new _infoABDuel[150+MAX_PLAYER_NAME];
format(_infoABDuel, sizeof(_infoABDuel), "{FFFF00}Serv4Drift{FFFFFF} - Wyzwanie na wy?cig!", "{FFFFFF}Gracz {FFFF00}%s{FFFFFF} rzuci? Ci wyzwanie!\n{FFFF00}We? udzia? w wy?cigu i zdob?d? reputacj?!", PlayerName(playerid));
ShowPlayerDialog(player, 99, DIALOG_STYLE_MSGBOX, _infoABDuel, "Przyjmuje", "Odrzucam");
new info[72];
format(info, sizeof(info), "{FFFF00}Serv4Drift{FFFFFF} | Rzuci?e? wyzwanie {FFFF00}%s{FFFFFF}!", PlayerName(player));
SendClientMessage(playerid, -1, info);
return 1;
}
Wysłany: 2014-10-11, 17:46
KaNdY
Wiek: 29 Na forum: 4487 dni Posty: 53
Nick w MP: KaNdY
Piwa : 1
Dobra. Dzi?ki ch?opaki piwo leci. Teraz mam kolejny problem. Wszystko pi?knie, cacy, stuk, stuk, tylko ?e... W?a?nie.
• Nie teleportuje mnie do pojazdu.
• Alby po uko?czeniu wy?cigu wyskoczy?o.. Gracz xXx dojecha? 1 miejscu. Gracz XxX dojecha? na 2 miejscu.
Oto kod:
Kod:
new Float:wyscig[][3] = {
{2500.3999, 860.2000, 6.6999},
{2583.8000, 894.9000, 6.6999},
{2651.3999, 956.5000, 6.6999},
{2686.1999, 1016.0999, 6.6999},
{2701.0000, 1059.0000, 6.6999},
{2709.0000, 1276.0000, 6.6999}
};
//============================================
if(dialogid == 81)
{
if(response == 1)
{
SetPlayerVirtualWorld(playerid, 1);
PutPlayerInVehicle(playerid, 2, 0);
SetPlayerRaceCheckpoint(playerid,0,wyscig[0][0],wyscig[0][1],wyscig[0][2],wyscig[1][0],wyscig[1][1],wyscig[1][2],10);
SetTimerEx("Unfreeze", 5000, false, "i", playerid);
TogglePlayerControllable(playerid,0);
if(Count >= 5)
CountDown();
}
}
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
new wyscig_idx = GetPVarInt(playerid, "Wyscig")+1;
SetPVarInt(playerid, "Wyscig", wyscig_idx);
switch(wyscig_idx)
{
case 0..3:
SetPlayerRaceCheckpoint(playerid,0,wyscig[wyscig_idx][0],wyscig[wyscig_idx][1],wyscig[wyscig_idx][2],wyscig[wyscig_idx+1][0],wyscig[wyscig_idx+1][1],wyscig[wyscig_idx+1][2],10);
case 4:
SetPlayerRaceCheckpoint(playerid,1,wyscig[wyscig_idx][0],wyscig[wyscig_idx][1],wyscig[wyscig_idx][2],0,0,0,10);
case 5:
{
SetPlayerVirtualWorld(playerid, 0);
new rand = random(sizeof(spawny));
SetPlayerPos(playerid, spawny[rand][0], spawny[rand][1], spawny[rand][2]);
DisablePlayerRaceCheckpoint(playerid);
DeletePVar(playerid, "Wyscig");
}
}
}
Wysłany: 2014-10-11, 17:49
IgrexolonO
Wiek: 34 Na forum: 6809 dni Posty: 1386
Piwa : 1062
Kod: PutPlayerInVehicle(playerid, 2, 0);
Masz pewno?? ?e pojazd o ID 2 to pojazd na wy?cig?
Wysłany: 2014-10-11, 18:18
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
a w og?le to masz stworzone te pojazdy w vw 1?
Wysłany: 2014-10-11, 18:19
KaNdY
Wiek: 29 Na forum: 4487 dni Posty: 53
Nick w MP: KaNdY
Piwa : 1
"IgrexolonO" napisał/a : Kod: PutPlayerInVehicle(playerid, 2, 0);
Masz pewno?? ?e pojazd o ID 2 to pojazd na wy?cig?
Na 100%. Pod /dl sprawdza?em. Ale w og?le nie teleportuje do pojazdu. W tym jest problem. Je?li wiesz o co chodzi, mo?esz odrazu wyt?umaczy?, jak zrobi?, ?e gdy w poje?dzie o ID 2 kto? jest, to tepa do ID 3.
[ Dodano : 2014-10-11, 18:21 ]
"ToxiC`" napisał/a :a w og?le to masz stworzone te pojazdy w vw 1?
Tak. s?.
Kod:
AddStaticVehicleEx(411,1672.70000,1618.9000,10.6000,93,126,0);
AddStaticVehicleEx(411, 2479.0000, 860.7000, 6.6999,93,126,0);
Wysłany: 2014-10-11, 18:30
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
To nie to, xd
Pawn
to na g?re.
Pawn
pojazdy [ 0 ] = AddStaticVehicleEx ( 411 , 1672.70000 , 1618.9000 , 10.6000 , 93 , 126 , 0 );
SetVehicleVirtualWorld ( pojazdy [ 0 ], 1 );
pojazdy [ 1 ] = AddStaticVehicleEx ( 411 , 2479.0000 , 860.7000 , 6.6999 , 93 , 126 , 0 );
SetVehicleVirtualWorld ( pojazdy [ 1 ], 1 );
[ Dodano : 2014-10-11, 18:31 ]
I teraz wk?adasz do pojazdu gracza tak:
Pawn PutPlayerInVehicle ( playerid , pojazdy [ 0 ], 0 );
[ Dodano : 2014-10-11, 18:32 ]
Jak masz wiecej tych pojazd?w, to mo?na p?tle zrobi? i wtedy nie trzeba si? tyle m?czy?
Wysłany: 2014-10-12, 09:08
KaNdY
Wiek: 29 Na forum: 4487 dni Posty: 53
Nick w MP: KaNdY
Piwa : 1
Niestety co? si? dzieje, ?e teraz s? lagi! ?adna komenda nie dzia?a, nic, po prostu nic.
Wysłany: 2014-10-12, 09:10
IgrexolonO
Wiek: 34 Na forum: 6809 dni Posty: 1386
Piwa : 1062
Poka? ca?y skrypt, albo podaj swoje GG na privce.
Tagi: wyścig/naprawa/flip
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: