Wysłany: 2015-02-17, 23:11
125p
Wiek: 31 Na forum: 5215 dni Posty: 7
Nick w MP: w124
W trakcie drugiego wy?cigu przy 3 checkpoincie przerywa wy?cig i wyp?aca nagrod? z pierwszego wy?cigu kt?ry ma w?a?nie 3 checkpointy, za pomoc
Kod: #include <a_samp>
#include <kolory>
#include <zcmd>
#define SLOTS 500
new Float:wyscigelegy[][3] = {
{366.9903, 2500.3359, 16.2279},
{16.3822, 2507.4175, 16.2317},
{-99.6900, 2604.9485, 22.1984},
{97.6678, 2889.5144, 56.9260}
};
new Float:wyscigjeep[][3] = {
{-154.4583, 2822.8105, 87.3605},
{-360.6588, 2851.6689, 111.5284},
{-653.9339, 2834.0352, 86.2685},
{-1170.4802, 2872.0603, 76.5562},
{-1361.5153, 2850.8958, 101.0421},
{-1997.1377, 2818.1492, 158.9050},
{-2102.8870, 2761.3606, 176.0123},
{-2084.8364, 2646.4702, 157.8377},
{-1906.0525, 2483.0044, 56.2944},
{-1670.1411, 2499.0408, 87.5345}
};
new elegy;
new jeep;
main()
{
print("\n----------------------------------");
print(" LS TEST");
print("----------------------------------\n");
}
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("RC");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
elegy=CreateVehicle(562,438.0284,2506.4263,16.9581,93.6742,0,0,0);
jeep=CreateVehicle(495,-14.8752,2784.2065,85.5038,68.4443,0,0,0);
return 1;
}
CMD:wyscigelegy(playerid, params[])
{
SetPlayerRaceCheckpoint(playerid,0,wyscigelegy[0][0],wyscigelegy[0][1],wyscigelegy[0][2],wyscigelegy[1][0],wyscigelegy[1][1],wyscigelegy[1][2],10);
PutPlayerInVehicle(playerid,elegy,0);
SendClientMessage(playerid,COLOR_RED,"Teleportowales sie na wyscig powodzenia!");
return 1;
}
CMD:wyscigjeep(playerid, params[])
{
SetPlayerRaceCheckpoint(playerid,0,wyscigjeep[0][0],wyscigjeep[0][1],wyscigjeep[0][2],wyscigjeep[1][0],wyscigjeep[1][1],wyscigjeep[1][2],10);
PutPlayerInVehicle(playerid,jeep,0);
SendClientMessage(playerid,COLOR_RED,"Teleportowales sie na wyscig powodzenia!");
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
new wyscigelegy_idx = GetPVarInt(playerid, "Wyscig")+1;
SetPVarInt(playerid, "Wyscig", wyscigelegy_idx);
new wyscigjeep_idx = GetPVarInt(playerid, "wyscig2")+1;
SetPVarInt(playerid, "wyscig2", wyscigjeep_idx);
switch(wyscigelegy_idx)
{
case 0..1:
SetPlayerRaceCheckpoint(playerid,0,wyscigelegy[wyscigelegy_idx][0],wyscigelegy[wyscigelegy_idx][1],wyscigelegy[wyscigelegy_idx][2],wyscigelegy[wyscigelegy_idx+1][0],wyscigelegy[wyscigelegy_idx+1][1],wyscigelegy[wyscigelegy_idx+1][2],10);
case 2:
SetPlayerRaceCheckpoint(playerid,1,wyscigelegy[wyscigelegy_idx][0],wyscigelegy[wyscigelegy_idx][1],wyscigelegy[wyscigelegy_idx][2],0,0,0,10);
case 3:
{
DisablePlayerRaceCheckpoint(playerid);
DeletePVar(playerid, "Wyscig");
GivePlayerMoney(playerid,1000);
SendClientMessage(playerid,COLOR_RED,"To by? bana?, wi?c dostajesz 1k!");
SetPlayerPos(playerid,543.9625,-1275.0070,16.8247);
SetVehicleToRespawn(elegy);
}
}
switch(wyscigjeep_idx)
{
case 0..7:
SetPlayerRaceCheckpoint(playerid,0,wyscigjeep[wyscigjeep_idx][0],wyscigjeep[wyscigjeep_idx][1],wyscigjeep[wyscigjeep_idx][2],wyscigjeep[wyscigjeep_idx+1][0],wyscigjeep[wyscigjeep_idx+1][1],wyscigjeep[wyscigjeep_idx+1][2],10);
case 8:
SetPlayerRaceCheckpoint(playerid,1,wyscigjeep[wyscigjeep_idx][0],wyscigjeep[wyscigjeep_idx][1],wyscigjeep[wyscigjeep_idx][2],0,0,0,10);
case 9:
{
DisablePlayerRaceCheckpoint(playerid);
DeletePVar(playerid, "wyscig2");
GivePlayerMoney(playerid,10000);
SendClientMessage(playerid,COLOR_RED,"To by? dobry przejazd dostajesz 10k!");
SetPlayerPos(playerid,543.9625,-1275.0070,16.8247);
SetVehicleToRespawn(jeep);
}
}
return 1;
}
Ostatnio zmieniony przez 125p 2015-02-18, 12:21, w całości zmieniany 2 razy
Wysłany: 2015-02-18, 07:39
Intern
Wiek: 30 Na forum: 4184 dni Posty: 40
Nick w MP: Intern
Piwa : 15
tu masz wyp?at? (3 checkpoint) wi?c o co chodzi? Sam tak ustawi?e?.
Kod: case 3:
{
DisablePlayerRaceCheckpoint(playerid);
DeletePVar(playerid, "Wyscig");
GivePlayerMoney(playerid,1000);
SendClientMessage(playerid,COLOR_RED,"To by? bana?, wi?c dostajesz 1k!");
}
@edit
Zdefinuj bardziej problem bo nie mog? zrozumie? co tu napisa?e?. Z mojego punktu to wygl?da tak: Wygrywam 1 wy?cig a daje mi nagrod? z 1 wy?cigu. Wi?c?
Wysłany: 2015-02-18, 12:21
125p
Wiek: 31 Na forum: 5215 dni Posty: 7
Nick w MP: w124
Sorki ?le to uj??em, problem wygl?da tak jak w po?cie 1
Wysłany: 2015-02-18, 21:47
majster23
Wiek: 28 Na forum: 4274 dni Posty: 1
Nick w MP: [PMS]Majster
Piwa : 3
Czyli przerywa wy?cig za drugim razem ?
Zerujesz licz? CP ? Po pierwszym wy?cigu?
PS: Pisz? z telefonu wi?c ci??ko zerkn?? dok?adnie w kod.
Wysłany: 2015-02-18, 22:05
125p
Wiek: 31 Na forum: 5215 dni Posty: 7
Nick w MP: w124
Zeruj? czyli DisablePlayerRaceCheckpoint? Tak
Wysłany: 2015-02-19, 07:23
Intern
Wiek: 30 Na forum: 4184 dni Posty: 40
Nick w MP: Intern
Piwa : 15
Napisz? jak to widz?
Kiedy robisz 1 wy?cig wszystko jest ok, poniewa? czyta pierwszy switch, kt?ry w?a?nie jest od 1 wy?cigu.
Problem le?y w 2 wy?cigu, poniewa? kiedy go startujesz to nie odpala switch(wyscigjeep_idx) tylko ten 1 switch(wyscigelegy_idx). Doda?em zmienne. Sprawd? teraz.
Kod:
#include <a_samp>
#include <kolory>
#include <zcmd>
#define SLOTS 500
new Float:wyscigelegy[][3] = {
{366.9903, 2500.3359, 16.2279},
{16.3822, 2507.4175, 16.2317},
{-99.6900, 2604.9485, 22.1984},
{97.6678, 2889.5144, 56.9260}
};
new Float:wyscigjeep[][3] = {
{-154.4583, 2822.8105, 87.3605},
{-360.6588, 2851.6689, 111.5284},
{-653.9339, 2834.0352, 86.2685},
{-1170.4802, 2872.0603, 76.5562},
{-1361.5153, 2850.8958, 101.0421},
{-1997.1377, 2818.1492, 158.9050},
{-2102.8870, 2761.3606, 176.0123},
{-2084.8364, 2646.4702, 157.8377},
{-1906.0525, 2483.0044, 56.2944},
{-1670.1411, 2499.0408, 87.5345}
};
new elegy;
new jeep;
new NrWyscigu[MAX_PLAYERS];
main()
{
print("\n----------------------------------");
print(" LS TEST");
print("----------------------------------\n");
}
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("RC");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
elegy=CreateVehicle(562,438.0284,2506.4263,16.9581,93.6742,0,0,0);
jeep=CreateVehicle(495,-14.8752,2784.2065,85.5038,68.4443,0,0,0);
return 1;
}
CMD:wyscigelegy(playerid, params[])
{
NrWyscigu[playerid] = 1;
SetPlayerRaceCheckpoint(playerid,0,wyscigelegy[0][0],wyscigelegy[0][1],wyscigelegy[0][2],wyscigelegy[1][0],wyscigelegy[1][1],wyscigelegy[1][2],10);
PutPlayerInVehicle(playerid,elegy,0);
SendClientMessage(playerid,COLOR_RED,"Teleportowales sie na wyscig powodzenia!");
return 1;
}
CMD:wyscigjeep(playerid, params[])
{
NrWyscigu[playerid] = 2;
SetPlayerRaceCheckpoint(playerid,0,wyscigjeep[0][0],wyscigjeep[0][1],wyscigjeep[0][2],wyscigjeep[1][0],wyscigjeep[1][1],wyscigjeep[1][2],10);
PutPlayerInVehicle(playerid,jeep,0);
SendClientMessage(playerid,COLOR_RED,"Teleportowales sie na wyscig powodzenia!");
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
if(NrWyscigu[playerid] == 1)
{
new wyscigelegy_idx = GetPVarInt(playerid, "Wyscig")+1;
SetPVarInt(playerid, "Wyscig", wyscigelegy_idx);
switch(wyscigelegy_idx)
{
case 0..1:
SetPlayerRaceCheckpoint(playerid,0,wyscigelegy[wyscigelegy_idx][0],wyscigelegy[wyscigelegy_idx][1],wyscigelegy[wyscigelegy_idx][2],wyscigelegy[wyscigelegy_idx+1][0],wyscigelegy[wyscigelegy_idx+1][1],wyscigelegy[wyscigelegy_idx+1][2],10);
case 2:
SetPlayerRaceCheckpoint(playerid,1,wyscigelegy[wyscigelegy_idx][0],wyscigelegy[wyscigelegy_idx][1],wyscigelegy[wyscigelegy_idx][2],0,0,0,10);
case 3:
{
DisablePlayerRaceCheckpoint(playerid);
DeletePVar(playerid, "Wyscig");
GivePlayerMoney(playerid,1000);
SendClientMessage(playerid,COLOR_RED,"To by? bana?, wi?c dostajesz 1k!");
SetPlayerPos(playerid,543.9625,-1275.0070,16.8247);
SetVehicleToRespawn(elegy);
}
}
}
if(NrWyscigu[playerid] == 2)
{
new wyscigjeep_idx = GetPVarInt(playerid, "wyscig2")+1;
SetPVarInt(playerid, "wyscig2", wyscigjeep_idx);
switch(wyscigjeep_idx)
{
case 0..7:
SetPlayerRaceCheckpoint(playerid,0,wyscigjeep[wyscigjeep_idx][0],wyscigjeep[wyscigjeep_idx][1],wyscigjeep[wyscigjeep_idx][2],wyscigjeep[wyscigjeep_idx+1][0],wyscigjeep[wyscigjeep_idx+1][1],wyscigjeep[wyscigjeep_idx+1][2],10);
case 8:
SetPlayerRaceCheckpoint(playerid,1,wyscigjeep[wyscigjeep_idx][0],wyscigjeep[wyscigjeep_idx][1],wyscigjeep[wyscigjeep_idx][2],0,0,0,10);
case 9:
{
DisablePlayerRaceCheckpoint(playerid);
DeletePVar(playerid, "wyscig2");
GivePlayerMoney(playerid,10000);
SendClientMessage(playerid,COLOR_RED,"To by? dobry przejazd dostajesz 10k!");
SetPlayerPos(playerid,543.9625,-1275.0070,16.8247);
SetVehicleToRespawn(jeep);
}
}
}
return 1;
}
Tagi: wyścigi
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: