Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2015-02-17, 23:11


125p







Wiek: 31
Na forum: 5215 dni
Posty: 7
Nick w MP: w124



Respekt: 50

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 :piwo:

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  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-18, 07:39


Intern







Wiek: 30
Na forum: 4184 dni
Posty: 40
Nick w MP: Intern

Piwa: 15

Respekt: 80

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?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-18, 12:21


125p







Wiek: 31
Na forum: 5215 dni
Posty: 7
Nick w MP: w124



Respekt: 50

Sorki ?le to uj??em, problem wygl?da tak jak w po?cie 1

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-18, 21:47


majster23







Wiek: 28
Na forum: 4274 dni
Posty: 1
Nick w MP: [PMS]Majster

Piwa: 3

Respekt: 60

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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-18, 22:05


125p







Wiek: 31
Na forum: 5215 dni
Posty: 7
Nick w MP: w124



Respekt: 50

Zeruj? czyli DisablePlayerRaceCheckpoint? Tak

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-19, 07:23


Intern







Wiek: 30
Na forum: 4184 dni
Posty: 40
Nick w MP: Intern

Piwa: 15

Respekt: 80

Napisz? jak to widz? :D

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;
}


Postaw piwo autorowi tego posta
 

 
Tagi: wyścigi
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku