GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: maark - 2012. március 05. - 19:24:45

Cím: Random változó
Írta: maark - 2012. március 05. - 19:24:45
Sziasztok, próbálkoztam, nem sikerült. Nem tudom megcsinálni azt hogy a felsorolt változók közül kiválasszon véletlenszerûen egyet. Próbáltam mátrixxal, de úgy sem sikerült. Ötletek?
pl.: new valtozo[3];
new Randoms[][] =
{
    {valtozo[0]},
    {valtozo[1]},
    {valtozo[2]}
};
és akkor valahogy így gondoltam, de nem jó.
Cím: Random változó
Írta: CANNONN - 2012. március 05. - 19:30:35
Egy próbát megér. Ilyet nem nagyon szoktam csinálni, szóval meg lehet, hogy értelmetlen dolgot írtam le.
 
new Randoms[][3] =
{
    {valtozo[0]},
    {valtozo[1]},
    {valtozo[2]}
};
Cím: Random változó
Írta: Gang[St]e[R] - 2012. március 05. - 19:35:07
Megcsinálod számmal.
[pawn]new 1, 2, 3, 4, 5;[/pawn] // ezeket majd az objectel egyenlõvé teszed ahogy gondoltad privátba..
Beágyazás:
[pawn]SetObjectPos(rand(5), x, y, z);[/pawn]

Dupla hozzászólás automatikusan összefûzve. ( 2012. március 05. - 19:38:46 )

Mivel a számok a változók amit az objectel egyenlõvé teszed, ez olyan mintha new object és azzal tennéd egyenlõvé, csak ez egy szám, ne tévezd össze egy object id-vel. Azért rand(5) ,mert a példában csak 5 db változót hoztam létre ami szám, és ebböl sorsol ki 5-öt.
Cím: Random változó
Írta: CANNONN - 2012. március 05. - 19:46:05
Egy másik megoldás.
 

new valami = random(3);
switch(valami)
{
        case 1:
        {
        // Függvény
        }
        case 2:
        {
        // Függvény
        }
        case 3:
        {
        // Függvény
        }
}
Cím: Random változó
Írta: Gang[St]e[R] - 2012. március 05. - 19:48:09
Idézetet írta: Cannonn date=1330973165\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"18051\" data-ipsquote-contentclass=\"forums_Topic
Egy másik megoldás.
 

new valami = random(3);
if(valami == 0)
{
// Függvény.
}
if(valami == 1)
{
// Függvény.
}
if(valami == 2)
{
// Függvény.
}

 

Ha már így csinálod legalább switch-el, hogy csak 1 lekérdezéssel terheljük a procit, ne többel.
Cím: Random változó
Írta: kurta999 - 2012. március 05. - 19:48:28

new const
g_iWheels[17] =
{
1025, 1073, 1074, 1075, 1076,
1077, 1078, 1079, 1080, 1081,
1082, 1083, 1084, 1085, 1096,
1097, 1098
};
// Aztán valahova..
AddVehicleComponent(vehicleid, g_iWheels[random(sizeof(g_iWheels))]); // Csak példa
printf(\"Random Wheel: %d\", g_iWheels[random(sizeof(g_iWheels))]);
Cím: Random változó
Írta: Gang[St]e[R] - 2012. március 05. - 20:01:25
Idézetet írta: kurta999 date=1330973308\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"18051\" data-ipsquote-contentclass=\"forums_Topic


new const
g_iWheels[17] =
{
1025, 1073, 1074, 1075, 1076,
1077, 1078, 1079, 1080, 1081,
1082, 1083, 1084, 1085, 1096,
1097, 1098
};
// Aztán valahova..
AddVehicleComponent(vehicleid, g_iWheels[random(sizeof(g_iWheels))]); // Csak példa
printf(\"Random Wheel: %d\", g_iWheels[random(sizeof(g_iWheels))]);

 

Szintén rossz. Már megoldottam neki privátba, csak teszteli.
Cím: Random változó
Írta: CANNONN - 2012. március 05. - 20:04:07
Ha már így csinálod legalább switch-el, hogy csak 1 lekérdezéssel terheljük a procit, ne többel.[/quote]
Milyen igazad van, kösz, hogy szóltál, ha nem gond, javítom.
Cím: Random változó
Írta: kurta999 - 2012. március 05. - 20:05:48
\" post=\"234943\" timestamp=\"1330974085\"]

 

new const
g_iWheels[17] =
{
1025, 1073, 1074, 1075, 1076,
1077, 1078, 1079, 1080, 1081,
1082, 1083, 1084, 1085, 1096,
1097, 1098
};
// Aztán valahova..
AddVehicleComponent(vehicleid, g_iWheels[random(sizeof(g_iWheels))]); // Csak példa
printf(\"Random Wheel: %d\", g_iWheels[random(sizeof(g_iWheels))]);

 

[/quote]
Szintén rossz. Már megoldottam neki privátba, csak teszteli.
 
[/quote]
Miért lenne rossz?
Így használom, használtam mindig is és nekem megy.
Cím: Random változó
Írta: maark - 2012. március 05. - 20:08:01
pontosítok.
new halal[3];
halal[0] = CreateObject(....
halal[1] = CreateObject(....
halal[2] = CreateObject(....
és random egy eljárásnál kiválasszon a halal közül egyet. Az objectetet eltolja aztán 5 mp múlva vissza tegye a helyére. :S
Cím: Random változó
Írta: dexi - 2012. március 05. - 21:17:43
esetleg:
 
new rand = random(3);
MoveObject(halal[rand]....);
SetTimerEx(\"ObjectVisszaTolas\", 5000, false, \"i\", halal[rand]);
forward ObjectVisszaTolas(objid);
public ObjectVisszaTolas(objid)
{
//MoveObject... stb
}

 
Lehet hogy hülyeséget írtam...