Szerző Téma: Pickupok véletlenszerû "spawnolása" vol/2  (Megtekintve 381 alkalommal)

Pickupok véletlenszerû "spawnolása" vol/2
« Dátum: 2012. április 10. - 11:05:50 »
+1 Show voters
Üdv!
Az elõzõ témám elveszett, és hát nem kaptam normális választ rá, vagyis egyet kaptam, de az nem mûködött rendesen. Ahogy már a cím is írja, azt szeretném, hogy egy Pickup \"fölvevése\" után megkapja a velejáró \"bónuszt\", és akkor az a pickup átkerüljön egy másik, véletlenszerû koordinátára.
Az elõzõ témában volt egy válaszoló, aki leírta hogyan is kell, nos az mintájára megcsináltam, de nem adta ki a Pickupot. Bemásolom azokat a sorokat, amiket megcsináltam, és ha valaki tudna segíteni, akkor annak örülnék :)
 

/*
AddPlayerClass(217,2037.9685,790.6490,11.3516,335.2168,0,0,0,0,0,0); // Pickup1 (fõ)
AddPlayerClass(217,2042.0023,770.2899,11.2504,268.4762,0,0,0,0,0,0); // Pickup2 (fõ)
*/
new Pickup;
new Float:RandomPickupSpawns[2][3] = // pickup koordináták
{
    {2037.9685,790.6490,11.3516},
    {2042.0023,770.2899,11.2504}
};
forward SpawnRandomPickup();
public SpawnRandomPickup() // pickup spawnolás
{
    new rand = random(sizeof(RandomPickupSpawns));
    CreatePickup(1276, 2, RandomPickupSpawns[rand][0], RandomPickupSpawns[rand][1], RandomPickupSpawns[rand][2], -1);
    CreatePickup(1276, 2, RandomPickupSpawns[rand][0], RandomPickupSpawns[rand][1], RandomPickupSpawns[rand][2], -1);
    return 1;
   
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == Pickup) // amikor felveszi
    {
       GivePlayerMoney(playerid, 3000); // adunk neki pénzt
GivePlayerWeapon(playerid, 31, 250); // és fegyvert
SendClientMessage(playerid,zold,\"Te fölvettél egy bónuszdobozt! Találtál benne: 3.000$-t és 250 lõszernyi M4-et!\");
DestroyPickup(Pickup); // majd töröljük a pickupot
SpawnRandomPickup(); // és spawnolunk egy úja
    }
    return 1;
}

 
Hibát nem jelez ki nekem, de a megadott (két) koordinátán sehol sincs ott a Pickup, ha valaki tudna segíteni, megköszönném, és adnék +-t, mivel fontos lenne.
MEGOLDVA!
A gond ott volt, hogy a
[pawn]
    new rand = random(sizeof(RandomPickupSpawns));
    CreatePickup(1276, 2, RandomPickupSpawns[rand][0], RandomPickupSpawns[rand][1], RandomPickupSpawns[rand][2], -1);
    CreatePickup(1276, 2, RandomPickupSpawns[rand][0], RandomPickupSpawns[rand][1], RandomPickupSpawns[rand][2], -1);
[/pawn]
sorokat az OnGameModeInit()-be, (is) be kellet másolni. Azért írtam le ezt, mert hátha valakinek ez még jól jöhet, így \"tanulhat\" ebbõl. Köszönöm az elõzõ témában érkezett válaszokat! :)
« Utoljára szerkesztve: 2012. április 10. - 11:12:50 írta Harsanyi Alex »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal