Szerző Téma: Checkpoint Hiba  (Megtekintve 866 alkalommal)

Checkpoint Hiba
« Dátum: 2017. Január 25. - 22:19:19 »
0
Sziasztok
 
Ma elkezdtem írni egy jogosítvány rendszert az új szerveremnek de valamiért problémám adódott az OnPlayerEnterCheckpoint eljárásnál.
 
A probléma mégpedig az hogy az eljáráshoz tettem egy IsPlayerInVehicle függvényt bár hiába adtam meg hogy melyik járműveket engedélyezze akkor is azt engedélyezi amelyik kocsival elsőnek bele megyek az első CP -be.
 
Esetleg ha valaki tudna és persze szeretne segíteni azt nagyon megköszönném. :)
 
Itt megleshetitek a félkész rendszert természetesen ez nem a végleges, mint láthatjátok még semmi nagyobb szerepe nincs. :)
 
A lényeget bemásoltam.
 
 
 

new CP[MAX_PLAYERS];
new Text3D:Autoszoveg1;
new Text3D:Autoszoveg2;
new Text3D:Autoszoveg3;
new Text3D:Autoszoveg4;
new Text3D:Autoszoveg5;
new Text3D:Autoszoveg6;
new Auto1, Auto2, Auto3, Auto4, Auto5, Auto6;
public OnFilterScriptInit()
{
Auto1 = AddStaticVehicle(436,1100.2856,1359.2258,10.5868,179.4666,1,1);
Auto2 = AddStaticVehicle(436,1104.8123,1359.2400,10.5878,179.0873,1,1);
Auto3 = AddStaticVehicle(436,1109.9321,1359.2382,10.5876,179.1250,1,1);
Auto4 = AddStaticVehicle(436,1115.3640,1359.2383,10.5873,178.8346,1,1);
Auto5 = AddStaticVehicle(436,1121.0760,1359.2388,10.5872,180.7337,1,1);
Auto6 = AddStaticVehicle(436,1127.5044,1359.2421,10.5880,179.3033,1,1);
Autoszoveg1 = Create3DTextLabel(\"Vizsga Kocsi\",0x6fce71,0,0,0,50.0,0,0);
Autoszoveg2 = Create3DTextLabel(\"Vizsga Kocsi\",0x6fce71,0,0,0,50.0,0,0);
Autoszoveg3 = Create3DTextLabel(\"Vizsga Kocsi\",0x6fce71,0,0,0,50.0,0,0);
Autoszoveg4 = Create3DTextLabel(\"Vizsga Kocsi\",0x6fce71,0,0,0,50.0,0,0);
Autoszoveg5 = Create3DTextLabel(\"Vizsga Kocsi\",0x6fce71,0,0,0,50.0,0,0);
Autoszoveg6 = Create3DTextLabel(\"Vizsga Kocsi\",0x6fce71,0,0,0,50.0,0,0);

Attach3DTextLabelToVehicle(Autoszoveg1,Auto1,0,0,1.0);
Attach3DTextLabelToVehicle(Autoszoveg2,Auto2,0,0,1.0);
Attach3DTextLabelToVehicle(Autoszoveg3,Auto3,0,0,1.0);
Attach3DTextLabelToVehicle(Autoszoveg4,Auto4,0,0,1.0);
Attach3DTextLabelToVehicle(Autoszoveg5,Auto5,0,0,1.0);
Attach3DTextLabelToVehicle(Autoszoveg6,Auto6,0,0,1.0);
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
    if(IsPlayerInVehicle(playerid, Auto1 || Auto2 || Auto3 || Auto4 || Auto5 || Auto6))
    {
    if(CP[playerid] == 1)
{
        DisablePlayerCheckpoint(playerid);
   CP[playerid] = 2;
   SetPlayerCheckpoint(playerid, 1108.9778,1241.1200,10.8203, 3.0);
   SendClientMessage(playerid,COLOR_SKYBLUE,\"{6fce71}[Oktató]: {ffffff}Haladj tovább majd bal oldalt a két roncs közé parkolj be!\");
   return 1;
}
if(CP[playerid] == 2)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 3;
   SetPlayerCheckpoint(playerid, 1121.6144,1211.2061,10.8203, 3.0);
   return 1;
}
if(CP[playerid] == 3)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 4;
   SetPlayerCheckpoint(playerid, 1118.9000,1228.0891,10.8203, 3.0);
   SendClientMessage(playerid,COLOR_SKYBLUE,\"{6fce71}[Oktató]: {ffffff}Remek, most tegyünk egy pár kanyart!\");
   return 1;
}
if(CP[playerid] == 4)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 5;
   SetPlayerCheckpoint(playerid, 1119.0364,1254.8292,10.8203, 3.0);
   return 1;
}
if(CP[playerid] == 5)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 6;
   SetPlayerCheckpoint(playerid, 1114.2899,1267.3672,10.8203, 3.0);
   SendClientMessage(playerid,COLOR_SKYBLUE,\"{6fce71}[Oktató]: {ffffff}Most szlalomozni fogunk balról jobbra!\");
   return 1;
}
if(CP[playerid] == 6)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 7;
   SetPlayerCheckpoint(playerid, 1120.5067,1276.2975,10.8203, 3.0);
   return 1;
}
if(CP[playerid] == 7)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 8;
   SetPlayerCheckpoint(playerid, 1114.7067,1284.7339,10.8203, 3.0);
   return 1;
}
if(CP[playerid] == 8)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 9;
   SetPlayerCheckpoint(playerid, 1120.6525,1295.1920,10.8203, 3.0);
   return 1;
}
if(CP[playerid] == 9)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 10;
   SetPlayerCheckpoint(playerid, 1113.9001,1307.1466,10.8203, 3.0);
   return 1;
}
if(CP[playerid] == 10)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 11;
   SetPlayerCheckpoint(playerid, 1120.3893,1318.4081,10.8203, 3.0);
   return 1;
}
if(CP[playerid] == 11)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 12;
   SetPlayerCheckpoint(playerid, 1112.1976,1337.3412,10.8203, 3.0);
   SendClientMessage(playerid,COLOR_SKYBLUE,\"{6fce71}[Oktató]: {ffffff}Remek, látom egészen jól megy, de még nincs vége!\");
   return 1;
}
if(CP[playerid] == 12)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 13;
   SetPlayerCheckpoint(playerid, 1130.9514,1295.7828,10.8203, 3.0);
   SendClientMessage(playerid,COLOR_SKYBLUE,\"{6fce71}[Oktató]: {ffffff}Egy szép kanyarodást szeretnék látni jobbra!\");
   return 1;
}
if(CP[playerid] == 13)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 14;
   SetPlayerCheckpoint(playerid, 1142.9425,1237.0931,10.8203, 3.0);
   return 1;
}
if(CP[playerid] == 14)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 15;
   SetPlayerCheckpoint(playerid, 1169.4423,1227.8192,10.8125, 3.0);
   SendClientMessage(playerid,COLOR_SKYBLUE,\"{6fce71}[Oktató]: {ffffff}Most állj be a két kordon közé az autó elejével!\");
   return 1;
}
if(CP[playerid] == 15)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 16;
   SetPlayerCheckpoint(playerid, 1171.0964,1243.1199,10.8203, 3.0);
   SendClientMessage(playerid,COLOR_SKYBLUE,\"{6fce71}[Oktató]: {ffffff}Remek, most tolass ki majd fordúlj balra!\");
   return 1;
}
if(CP[playerid] == 16)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 17;
   SetPlayerCheckpoint(playerid, 1147.4846,1246.4272,10.8203, 3.0);
   return 1;
}
if(CP[playerid] == 17)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 18;
   SetPlayerCheckpoint(playerid, 1147.9906,1270.3859,10.8203, 3.0);
   SendClientMessage(playerid,COLOR_SKYBLUE,\"{6fce71}[Oktató]: {ffffff}Fordúlj be jobbra majd parkolj be a két roncs közé!\");
   return 1;
}
if(CP[playerid] == 18)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 19;
   SetPlayerCheckpoint(playerid, 1135.9957,1262.7509,10.8203, 3.0);
   SendClientMessage(playerid,COLOR_SKYBLUE,\"{6fce71}[Oktató]: {ffffff}Most tolatásból a hátad mögött lévõ két roncs közé parkolj!\");
   return 1;
}
if(CP[playerid] == 19)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 20;
   SetPlayerCheckpoint(playerid, 1147.9954,1246.2094,10.8203, 3.0);
   return 1;
}
if(CP[playerid] == 20)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 21;
   SetPlayerCheckpoint(playerid, 1157.8430,1277.3403,10.8203, 3.0);
   SendClientMessage(playerid,COLOR_SKYBLUE,\"{6fce71}[Oktató]: {ffffff}Szép volt, most fordúlj balra!\");
   return 1;
}
if(CP[playerid] == 21)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 22;
   SetPlayerCheckpoint(playerid, 1140.3965,1284.5442,10.8203, 3.0);
   SendClientMessage(playerid,COLOR_SKYBLUE,\"{6fce71}[Oktató]: {ffffff}Fordúlj be balra!\");
   return 1;
}
if(CP[playerid] == 22)
{
   DisablePlayerCheckpoint(playerid);
   CP[playerid] = 23;
   SetPlayerCheckpoint(playerid, 1157.8447,1301.7847,10.8203, 3.0);
   SendClientMessage(playerid,COLOR_SKYBLUE,\"{6fce71}[Oktató]: {ffffff}Remek, most tolass ki!\");
   return 1;
}
if(CP[playerid] == 23)
{
   DisablePlayerCheckpoint(playerid);
   SendClientMessage(playerid, COLOR_SKYBLUE, \"{6fce71}[Oktató]: {ffffff}Sikeresen levizsgáztál a rutin vizsgán is, megkaptad a jogosítványodat!\");
   return 1;
}
}else{
SendClientMessage(playerid, COLOR_SKYBLUE, \"{6fce71}[Las Vegas RPG]: {ffffff}Kizárólag tanuló autóval teheted le a rutin vizsgát!\");}
return 1;
}

Nem elérhető whadez

  • 719
  • DEFEATER
    • Profil megtekintése
Checkpoint Hiba
« Válasz #1 Dátum: 2017. Január 25. - 23:52:15 »
+1

if(IsPlayerInVehicle(playerid, Auto1 || Auto2 || Auto3 || Auto4 || Auto5 || Auto6))

 
Ez itt a probléma.
 
A függvény a következőképpen működik
 
IsPlayerInVehicle(playerid,vehicleid);
 
A vehicleid értékedhez több lekérdezést is írtál, ami hatására valószínűleg bypassol ott a script.
 
Hol láttál te ilyen megoldást?

Nem elérhető whadez

  • 719
  • DEFEATER
    • Profil megtekintése
Checkpoint Hiba
« Válasz #2 Dátum: 2017. Január 25. - 23:54:27 »
+1
new KocsiID[2];
KocsiID[0] = AddStaticVehicle(436,1100.2856,1359.2258,10.5868,179.4666,1,1); // 1
AddStaticVehicle(436,1104.8123,1359.2400,10.5878,179.0873,1,1);
AddStaticVehicle(436,1109.9321,1359.2382,10.5876,179.1250,1,1);
AddStaticVehicle(436,1115.3640,1359.2383,10.5873,178.8346,1,1);
AddStaticVehicle(436,1121.0760,1359.2388,10.5872,180.7337,1,1);
KocsiID[1] = AddStaticVehicle(436,1127.5044,1359.2421,10.5880,179.3033,1,1); // 6
 
// Ha 1 és 6 között van az ID
if(GetPlayerVehicleID(playerid)>=KocsiID[0]&&GetPlayerVehicleID(playerid)<=KocsiID[1]) {
    ...
}
 
 
 
btw, borzasztó a megoldásod, olyan mint ha egy afterlife/see módból lett volna másolva.

Checkpoint Hiba
« Válasz #3 Dátum: 2017. Január 26. - 00:13:57 »
0
Szia, megfogadtam a tanácsod. Az a probléma hogy most akár gyalog, akár más autóval, akár oktató autóval megyek bele a CP be a tiltóüzenet fogad..
 
UI.: A szervert teljesen 0-ról írom kb 1 hete, és láttam már hasonló lekérdezéseket hív fórumon bár mostanáig nem alkalmaztam..
 
 
« Utoljára szerkesztve: 2017. Január 26. - 00:18:57 írta BlackScripter »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Checkpoint Hiba
« Válasz #4 Dátum: 2017. Január 26. - 00:20:33 »
+1
Másold be azt a részt ahol lekérdezed amikor a játékos belemegy a checkpointba. 

Checkpoint Hiba
« Válasz #5 Dátum: 2017. Január 26. - 00:24:58 »
0

public OnPlayerEnterCheckpoint(playerid)
{
    if(GetPlayerVehicleID(playerid)>=Auto[0]&&GetPlayerVehicleID(playerid)<=Auto[5])
{
    if(CP[playerid] == 1)
{
        DisablePlayerCheckpoint(playerid);
   CP[playerid] = 2;
   SetPlayerCheckpoint(playerid, 1108.9778,1241.1200,10.8203, 3.0);
   SendClientMessage(playerid,COLOR_SKYBLUE,\"{6fce71}[Oktató]: {ffffff}Haladj tovább majd bal oldalt a két roncs közé parkolj be!\");
        }else{
    SendClientMessage(playerid, COLOR_SKYBLUE, \"{6fce71}[Las Vegas RPG]: {ffffff}Kizárólag tanuló autóval teheted le a rutin vizsgát!\");}                         return 1;
}
    return 1;
}
                                                                               

 
Tessék.

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Checkpoint Hiba
« Válasz #6 Dátum: 2017. Január 26. - 00:27:15 »
+1

public OnPlayerEnterCheckpoint(playerid)
{
    if(GetPlayerVehicleID(playerid)>=Auto[0]&&GetPlayerVehicleID(playerid)<=Auto[5]) return SendClientMessage(playerid, COLOR_SKYBLUE, \"{6fce71}[Las Vegas RPG]: {ffffff}Kizárólag tanuló autóval teheted le a rutin vizsgát!\");
    if(CP[playerid] == 1)
{
        DisablePlayerCheckpoint(playerid);
   CP[playerid] = 2;
   SetPlayerCheckpoint(playerid, 1108.9778,1241.1200,10.8203, 3.0);
   SendClientMessage(playerid,COLOR_SKYBLUE,\"{6fce71}[Oktató]: {ffffff}Haladj tovább majd bal oldalt a két roncs közé parkolj be!\");
    }
    return 1;
}

 
Próbáld meg így.
« Utoljára szerkesztve: 2017. Január 26. - 00:28:11 írta ZyZu »

Checkpoint Hiba
« Válasz #7 Dátum: 2017. Január 26. - 00:44:01 »
0
Köszönöm mindenki segítségét!
 
DEFEATER, a te megoldásoddal nem is volt gond csak én egy értéket véletlenűl elírtam ezért volt a keveredés, nagyon szépen köszönöm Isten vagy.
 
ZyZu, DEFEATER megoldását miután javítottam, megpróbáltam a te megoldásodat is beleírni..de valamiért ez a megoldás szintén azt csinálta mint amikor még nem volt javítva DEFEATERÉ.
 
Külön köszönet ZyZu -nak a hajlamáért :)
 
Megy mindenkinek a szivecske, a posztot zárom! 
 
Sziasztok <3.
 
UI.: Nem találom hol lehet a postot lezárni, ezért megkérnék valakit hogy zárja. 
 
Köszönöm.
« Utoljára szerkesztve: 2017. Január 26. - 00:46:50 írta BlackScripter »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Checkpoint Hiba
« Válasz #8 Dátum: 2017. Január 26. - 00:48:44 »
0
A téma lezárva. Nincs mit.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal