Szerző Téma: Uticél/Checkpoint-hoz tartózó random koordináta és "név"  (Megtekintve 1573 alkalommal)

Nem elérhető MiKE_

Uticél/Checkpoint-hoz tartózó random koordináta és "név"
« Dátum: 2014. december 28. - 17:52:36 »
0 Show voters
Sziasztok!
Azzal kapcsolatban szeretnék segítséget kérni, hogy miképpen lehet meg oldani azt, hogy random koordinátákhoz legyen hozzájuk tartozó client message vagy akár gametext?
Pl.: Fuvarozós melónál kapsz egy random chekcpointot, és a chat tájékoztat róla hogy; Vidd a szállítmányt Los Santosba!
Előre is köszönöm a válaszokat!
« Utoljára szerkesztve: 2014. december 28. - 22:33:11 írta ƒlaﻛh »

Uticél/Checkpoint-hoz tartózó random koordináta és "név"
« Válasz #1 Dátum: 2014. december 28. - 18:23:04 »
0 Show voters
Egy tömbben el mented a koordinátákat. Mikor a játékos be írja a parancsot akkor a checkpointot random ki választja (koordináta), és a SetPlayerCheckpoint kell használnod. Ha nem érted ezt a véletlenszerű dolgot, akkor itt egy példa.
Most pedig akkor a szöveg.
 
new vszeru = random(sizeof(position));
switch(vszeru)
        {
                case 0: SendClientMessageToAll(playerid, -1,\"Szállítsd el xy helyre xy rakományt!\");
                case 1: SendClientMessageToAll(playerid, -1,\"Szállítsd el xy helyre xy rakományt!\");
                case 2: SendClientMessageToAll(playerid, -1,\"Szállítsd el xy helyre xy rakományt!\");
        }
        return 1;
}

 
Ha még valamit nem értesz jelezd!

Nem elérhető MiKE_

Uticél/Checkpoint-hoz tartózó random koordináta és "név"
« Válasz #2 Dátum: 2014. december 28. - 19:49:09 »
0 Show voters
Köszi, valahol mintha láttam volna hogy case-el kell, a randomos dolgot értem, a koordináták meg is vannak, mindössze ezzel az aprósággal szeretném bővíteni az egészet, hogy még az uticélt is kiírja, tudnál mutatni egy példát hogy, hogy néz ez ki koordinátákkal?

Uticél/Checkpoint-hoz tartózó random koordináta és "név"
« Válasz #3 Dátum: 2014. december 28. - 19:58:11 »
0 Show voters
random(sizeof(position)); //A szerver lekéri a pozíciókat.

 

case 0: SendClientMessageToAll(playerid, -1,\"Szállítsd el \'Las Venturas - Repülőtér\' helyre xy rakományt!\"); //Az első pozíciónak a szövege, ha ezt választja véletlenül.

 
És valahogy így nézne ki a tömb.
 
new Float:position[][4] =
{
    {0.0, 0.0, 0.0, 0.0},
    {0.0, 0.0, 0.0, 0.0},
    {0.0, 0.0, 0.0, 0.0}
};

Nem elérhető MiKE_

Uticél/Checkpoint-hoz tartózó random koordináta és "név"
« Válasz #4 Dátum: 2014. december 28. - 20:39:24 »
0 Show voters
Bocsi, még mindig nem értem!  :D
 
 
new Float:RandomDelivery[][] =
{
{-1474.1970,2651.0898,55.8359},
{-813.6776,1560.3115,27.1172},
{-169.6747,1016.4630,19.7422}
};

 


if (strcmp(\"/munka\", cmdtext, true, 10) == 0)
{
            new rand = random(sizeof(RandomDelivery));
    SetPlayerCheckpoint(playerid, RandomDelivery[rand][0], RandomDelivery[rand][1],RandomDelivery[rand][2],  6);
}

 
Ebbe hogy tudnám bele operálni?
« Utoljára szerkesztve: 2014. december 28. - 20:41:45 írta MiKE_ »

Uticél/Checkpoint-hoz tartózó random koordináta és "név"
« Válasz #5 Dátum: 2014. december 28. - 21:23:02 »
0 Show voters
Ugyan úgy, csak hozzá teszed a switch-es részt.
 
random(sizeof(RandomDelivery)); //Csak akkor így lesz

Nem elérhető MiKE_

Uticél/Checkpoint-hoz tartózó random koordináta és "név"
« Válasz #6 Dátum: 2014. december 28. - 21:51:11 »
0 Show voters
Le tudnád írni egy scriptbe? Ha nem nagy kérés, természetesen!  :)
Valahogy nem jön össze, sőt már ott tartok hogy be crashel a compiler. :D

Uticél/Checkpoint-hoz tartózó random koordináta és "név"
« Válasz #7 Dátum: 2014. december 28. - 22:04:47 »
0 Show voters
Kíváncsi vagyok, hogy hogyan is próbálod meg oldani. Be tudod másolni a kódot?

Nem elérhető MiKE_

Uticél/Checkpoint-hoz tartózó random koordináta és "név"
« Válasz #8 Dátum: 2014. december 28. - 22:49:33 »
0 Show voters
Mostanra kicsit sűrűre sikeredett ezért csináltam a modról egy biztonsági másolatot, hogy ne kelljen annyit szenvednem ha valamit nagyon el rontok, és hát így is lett, ezért vissza másoltam és a szerencsétlenkedésemnek nincs nyoma, szóval nem, bocsi. :D Később megpróbálom újra.

Uticél/Checkpoint-hoz tartózó random koordináta és "név"
« Válasz #9 Dátum: 2014. december 28. - 23:17:05 »
0 Show voters
PPC Truck módot kénytelen voltam elő venni, mert most már nekem is kell egy kis segítség.
 
enum TBrokenVehicleLocation
{
BrokenName[50], // Holds the name of the location where the vehicle is located
Float:BrokenX, // Holds the X coordinate where the vehicle spawns
Float:BrokenY, // Holds the Y coordinate where the vehicle spawns
Float:BrokenZ // Holds the Z coordinate where the vehicle spawns
}
new ABrokenVehicles[][TBrokenVehicleLocation] =
{
{\"Shady Creeks\", -2047.5, -1882.25, 52.4},
{\"Angel Pine\", -2072.5, -2407.75, 30.7},
{\"Shady Creeks\", -1595.25, -2625.0, 52.6},
{\"Back O Beyond\", -990.25, -2335.5, 66.8},
{\"Flint County\", 46.5, -2654.25, 40.5},
{\"Los Santos Inlet\", -313.5, -1959.75, 20.0},
{\"Leafy Hollow\", -833.0, -1737.25, 80.8},
{\"Flint Range\", -347.5, -1331.0, 17.1},
{\"Flint County\", 17.25, -987.75, 28.7},
{\"Fallen Tree\", -763.0, -621.25, 61.5},
{\"Foster Valley\", -1885.5, -435.5, 25.2},
{\"Missionary Hill\", -2451.25, -681.0, 133.6},
{\"Garcia\", -2371.5, 118.25, 35.3},
{\"Downtown\", -1781.5, 429.25, 16.6},
{\"Palisades\", -2905.0, 656.5, 6.3},
{\"Paradiso\", -2771.25, 1239.5, 22.6}
//   {\"nnnnnnnnnn\", xxxxxxx, yyyyyyyy, zzzzzzz},
};

 
PPC Truck-ban így van meg oldva a tömb, tehát a hely és a koordináta is egy helyen van. Így már gondolom haladtunk egy kicsit. És ilyen módon rakja le a checkpointot.
 
x = ABrokenVehicles[APlayerData[playerid][JobLoc1]][brokenX];
y = ABrokenVehicles[APlayerData[playerid][JobLoc1]][brokenY];
z = ABrokenVehicles[APlayerData[playerid][JobLoc1]][brokenZ];
SetPlayerCheckpoint(playerid, x, y, z, 10.0);

 
A szöveges részen egy picit gondolkodom.


De majd kíváncsi leszek a megoldásodra, mert én gondolkodom a szöveg részen, mivel a checkpoint lerakás az percek alatt meg van.

Nem elérhető MiKE_

Uticél/Checkpoint-hoz tartózó random koordináta és "név"
« Válasz #10 Dátum: 2014. december 28. - 23:27:55 »
0 Show voters
Igen, ezt én is néztem, de számomra túl zavarosnak tűnt, biztos van rá valami egyszerűbb megoldás.  :D

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Uticél/Checkpoint-hoz tartózó random koordináta és "név"
« Válasz #11 Dátum: 2014. december 28. - 23:30:24 »
0 Show voters
szerintem így egyszerűbb....
 

//parancs része, vagy ahova szeretnéd...
{
     switch(random(3))
     {
          case 0:SendClientMessage(playerid, -1, \"Vidd a rakományt xy-ra!\"), SetPlayerCheckpoint(playerid, x, y, z, 10.0);
          case 1:SendClientMessage(playerid, -1, \"Vidd a rakományt xy-ra!\"), SetPlayerCheckpoint(playerid, x, y, z, 10.0);
          case 2:SendClientMessage(playerid, -1, \"Vidd a rakományt xy-ra!\"), SetPlayerCheckpoint(playerid, x, y, z, 10.0);
     }
     return 1;
}

Uticél/Checkpoint-hoz tartózó random koordináta és "név"
« Válasz #12 Dátum: 2014. december 28. - 23:37:09 »
0 Show voters
Ez is jó megoldás.


Ez már nekem volt kellemetlen, hogy egy ennyire egyszerű dolgot nem tudtam meg oldani. :/
« Utoljára szerkesztve: 2014. december 28. - 23:50:02 írta Gregor »

Nem elérhető MiKE_

Uticél/Checkpoint-hoz tartózó random koordináta és "név"
« Válasz #13 Dátum: 2014. december 28. - 23:56:45 »
0 Show voters
Kipróbáltam, működik!  :mml: Az elején kicsit megijedtem amikor tesztelés közben egymás után felváltva az elsőt és az utolsót \"dobta\", de egy idő után mást is hajlandó volt, csak ötöt csináltam, de talán ha adok hozzá többet akkor gondolom a randomnak lesz bőven választani valója! :D

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Uticél/Checkpoint-hoz tartózó random koordináta és "név"
« Válasz #14 Dátum: 2014. december 28. - 23:57:05 »
0 Show voters
Idézetet írta: Gregor date=1419806229\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"51902\" data-ipsquote-contentclass=\"forums_Topic
Ez már nekem volt kellemetlen, hogy egy ennyire egyszerű dolgot nem tudtam meg oldani. :/
 
nem kellemetlen ez.....csak a tapasztalt scriptereknek már a probléma olvasása kközben megvan a fejükben, mit hogy kell írni. :)

Dupla hozzászólás automatikusan összefûzve. ( 2014. december 28. - 23:58:05 )


Kipróbáltam, működik!  :mml: Az elején kicsit megijedtem amikor tesztelés közben egymás után felváltva az elsőt és az utolsót \"dobta\", de egy idő után mást is hajlandó volt, csak ötöt csináltam, de talán ha adok hozzá többet akkor gondolom a randomnak lesz bőven választani valója! :D
 
[/quote]
ha hozzáadsz, ne felejtsd el növelni a randomban szereplő számot. :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal