Szerző Téma: Két nagyobb kérdés:timer mentés,több random checkpoint  (Megtekintve 1295 alkalommal)

Nem elérhető Mokus

  • 608
    • Profil megtekintése
Két nagyobb kérdés:timer mentés,több random checkpoint
« Dátum: 2012. szeptember 21. - 22:31:24 »
0 Show voters
Sziasztok valaki le írná a timer mentést betöltést és több random checkpointot mert ezt a változásokat nem értem hogy ne keveredjen össze a 2 külön random checkpoint
Ez az elsõ munka checkpointjai
 
new Float: UTCP[][3] =
{
{-1426.3839,2169.4773,50.0169},
{-1501.1021,1962.9080,47.9499},
{-1479.3350,2547.4475,55.7802},
{-1479.3350,2547.4475,55.7802},
{-1529.7706,2686.3264,55.8359},
{-1563.9922,2711.1482,55.8594},
{-1563.9922,2711.1482,55.8594}
};
public OnPlayerEnterCheckpoint(playerid)
{
new rand = random(sizeof(UTCP));
SetPlayerCheckpoint(playerid,UTCP[rand][0],UTCP[rand][1],UTCP[rand][2],4);
new randomcash[MAX_PLAYERS];
randomcash[playerid] = random(200);
GivePlayerMoney(playerid,randomcash[playerid]);
new str[25+1];
format(str, sizeof(str), \"Kereset: %d$\", randomcash[playerid]);
GameTextForPlayer(playerid, str, 3000, 1);
return 1;
}
[/code
]
Checkpoint megjelenitései:
[code=pawn]new rand = random(sizeof(UTCP));
SetPlayerCheckpoint(playerid, UTCP[rand][0],UTCP[rand][1],UTCP[rand][2], 4);

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
Két nagyobb kérdés:timer mentés,több random checkpoint
« Válasz #1 Dátum: 2012. szeptember 21. - 22:37:36 »
0 Show voters
new Float: UTCP[7][3] =
{
{-1426.3839,2169.4773,50.0169},
{-1501.1021,1962.9080,47.9499},
{-1479.3350,2547.4475,55.7802},
{-1479.3350,2547.4475,55.7802},
{-1529.7706,2686.3264,55.8359},
{-1563.9922,2711.1482,55.8594},
{-1563.9922,2711.1482,55.8594}
};

Nem elérhető Mokus

  • 608
    • Profil megtekintése
Két nagyobb kérdés:timer mentés,több random checkpoint
« Válasz #2 Dátum: 2012. szeptember 21. - 23:03:42 »
0 Show voters
És alá?
 
public OnPlayerEnterCheckpoint(playerid)
{
return1;
}
« Utoljára szerkesztve: 2012. szeptember 21. - 23:09:33 írta Mokus »

Két nagyobb kérdés:timer mentés,több random checkpoint
« Válasz #3 Dátum: 2012. szeptember 22. - 11:59:30 »
0 Show voters
Egyszerre egy játékosnak csak egy darab checkpoint jelenik meg, akkor mi keveredhet össze?

Nem elérhető Mokus

  • 608
    • Profil megtekintése
Két nagyobb kérdés:timer mentés,több random checkpoint
« Válasz #4 Dátum: 2012. szeptember 22. - 12:01:50 »
0 Show voters
Úgy értem hogy ami megjeleniti a checkpointot az a másikat jeleniti meg nem azt és össze keveredik a 2 entercheckpoint

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
Két nagyobb kérdés:timer mentés,több random checkpoint
« Válasz #5 Dátum: 2012. szeptember 22. - 12:03:24 »
0 Show voters
public OnPlayerEnterCheckpoint(playerid)
{
DisablePlayerCheckpoint(playerid);
new rand = random(sizeof(UTCP));
SetPlayerCheckpoint(playerid,UTCP[rand][0],UTCP[rand][1],UTCP[rand][2],4);
new randomcash[MAX_PLAYERS];
randomcash[playerid] = random(200);
GivePlayerMoney(playerid,randomcash[playerid]);
new str[25+1];
format(str, sizeof(str), \"Kereset: %d$\", randomcash[playerid]);
GameTextForPlayer(playerid, str, 3000, 1);
return 1;
}

Nem elérhető Mokus

  • 608
    • Profil megtekintése
Két nagyobb kérdés:timer mentés,több random checkpoint
« Válasz #6 Dátum: 2012. szeptember 22. - 12:08:01 »
0 Show voters
Így nem fog össze keveredni?
 
case 0:
{
new rand = random(sizeof(UTCP));
SetPlayerCheckpoint(playerid,UTCP[rand][0],UTCP[rand][1],UTCP[rand][2],4);
new randomcash[MAX_PLAYERS];
randomcash[playerid] = random(200);
GivePlayerMoney(playerid,randomcash[playerid]);
new str[25+1];
format(str, sizeof(str), \"Kereset: %d$\", randomcash[playerid]);

 
GameTextForPlayer(playerid, str, 3000, 1);
}
}[/code]
« Utoljára szerkesztve: 2012. szeptember 22. - 16:16:15 írta Mokus »

Két nagyobb kérdés:timer mentés,több random checkpoint
« Válasz #7 Dátum: 2012. szeptember 22. - 19:14:21 »
+1 Show voters
Egy SetPlayerCheckpointnak nincs id visszatérése ami alapján betudod azonosítani melyik van éppen megjelenítve egy játékosnak.
Tehát létre kell hoznod egy plusz változót, ami majd tárolni fogja hogy éppen melyik checkpoint van megjelenítve egy játékosnak.
 
new aktivcp[MAX_PLAYERS];
enum
{
    NOAKTIVCP,
    ANYAMTYUKJACHECKPOINT,
    KISDENEVERKOLOK,
    MALOMKOTOREDEK
};
 
public OnPlayerConnect(playerid)
{
    aktivcp[playerid] = NOAKTIVCP;
    return 1;
}
 
CMD:empire(playerid)
{
    SetPlayerCheckpoint(playerid, ..............
    aktivcp[playerid] = ANYAMTYUKJACHECKPOINT;
    return 1;
}
CMD:vasalo(playerid)
{
    SetPlayerCheckpoint(playerid, ..............
    aktivcp[playerid] = KISDENEVERKOLOK;
    return 1;
}
CMD:hegesztogep(playerid)
{
    SetPlayerCheckpoint(playerid, ..............
    aktivcp[playerid] = MALOMKOTOREDEK;
    return 1;
}
 
public OnPlayerEnterCheckpoint(playerid)
{
    switch(aktivcp[playerid])
    {
         case ANYAMTYUKJACHECKPOINT: { SendClientMessage(playerid, -1, \"hullahopp\");  DisablePlayerCheckpoint(playerid); aktivcp[playerid] = NOAKTIVCP;}
         case KISDENEVERKOLOK: { SendClientMessage(playerid, -1, \"Ipijáé\"); DisablePlayerCheckpoint(playerid);  aktivcp[playerid] = NOAKTIVCP; }
         case MALOMKOTOREDEK: { SendClientMessage(playerid, -1, \"sörlock holms\"); DisablePlayerCheckpoint(playerid);  aktivcp[playerid] = NOAKTIVCP; }
    }
    return 1;
}

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
Két nagyobb kérdés:timer mentés,több random checkpoint
« Válasz #8 Dátum: 2012. szeptember 22. - 19:18:37 »
0 Show voters
Idézetet írta: ɐʞzssǝlosz date=1348334061\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"27776\" data-ipsquote-contentclass=\"forums_Topic
Egy SetPlayerCheckpointnak nincs id visszatérése ami alapján betudod azonosítani melyik van éppen megjelenítve egy játékosnak.
Tehát létre kell hoznod egy plusz változót, ami majd tárolni fogja hogy éppen melyik checkpoint van megjelenítve egy játékosnak.
 
new aktivcp[MAX_PLAYERS];
enum
{
    NOAKTIVCP,
    ANYAMTYUKJACHECKPOINT,
    KISDENEVERKOLOK,
    MALOMKOTOREDEK
};
 
public OnPlayerConnect(playerid)
{
    aktivcp[playerid] = NOAKTIVCP;
    return 1;
}
 
CMD:empire(playerid)
{
    SetPlayerCheckpoint(playerid, ..............
    aktivcp[playerid] = ANYAMTYUKJACHECKPOINT;
    return 1;
}
CMD:vasalo(playerid)
{
    SetPlayerCheckpoint(playerid, ..............
    aktivcp[playerid] = KISDENEVERKOLOK;
    return 1;
}
CMD:hegesztogep(playerid)
{
    SetPlayerCheckpoint(playerid, ..............
    aktivcp[playerid] = MALOMKOTOREDEK;
    return 1;
}
 
public OnPlayerEnterCheckpoint(playerid)
{
    switch(aktivcp[playerid])
    {
         case ANYAMTYUKJACHECKPOINT: { SendClientMessage(playerid, -1, \"hullahopp\");  DisablePlayerCheckpoint(playerid); aktivcp[playerid] = NOAKTIVCP;}
         case KISDENEVERKOLOK: { SendClientMessage(playerid, -1, \"Ipijáé\"); DisablePlayerCheckpoint(playerid);  aktivcp[playerid] = NOAKTIVCP; }
         case MALOMKOTOREDEK: { SendClientMessage(playerid, -1, \"sörlock holms\"); DisablePlayerCheckpoint(playerid);  aktivcp[playerid] = NOAKTIVCP; }
    }
    return 1;
}

 

mit szívtál? nekem is adj :Ð

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal