Szerző Téma: Tehén kereső akció.  (Megtekintve 970 alkalommal)

Nem elérhető Th0mas

  • 278
    • Profil megtekintése
Tehén kereső akció.
« Dátum: 2015. április 07. - 15:31:51 »
0 Show voters
Sziasztok!
Egy olyat szerettem volna létrehozni,hogy random lespawnol egy tehén object (11470) és kiírja a szerver,hogy Riska eltűnt és xy közelébe van és ha Riskának nekimész akkor kapsz valami jutalmat,hogy megtaláltad. Minden jó pozokat megkerestem,object id-t is csak nem tudom hogy kezdjem el,valaki segítene?
[gmod]Kiraktam a megfelelő kategóriát (Martin)[/gmod]
« Utoljára szerkesztve: 2015. április 07. - 21:26:16 írta BLKDMND$ »

Nem elérhető M1A1

Tehén kereső akció.
« Válasz #1 Dátum: 2015. április 07. - 18:54:43 »
0 Show voters

//Létrehozol globálisan egy kétdimenziós float tömböt:
new const Float:g_cowPositions[][6] =
{
        //Ezek csak példa koordináták!
        //     X          Y         Z      RotX      RotY     RotZ
{321.553, 231.410004, 242.422, 34343.525, 524.24, 52424.52},
{33421.553253, 263.4123, 24862.43422, 0.0, 0.0, 0.0}
};
//+ egy változót a tehén objectnek:
new g_cow = INVALID_OBJECT_ID; //Nem muszáj itt értéket adni neki, de én most megtettem.
 
//Ha pl. timerrel csinálod, akkor így indítsd el mondjuk OnGameModeInit-nél:
SetTimer(\"timerneve\", randomminmax(1200000, 7200000, false)); //pl. 20-120 percenként szökjön el Riska
//A timerben:
public timerneve()
{
        //Itt kiírod hogy elszökött és lerakod random tömbbeli koordinátára:
        new pos = random(sizeof(g_cowPositions) - 1);
        g_cow = CreateObject(tehénmodell, g_cowPositions[pos][0], g_cowPositions[pos][1], g_cowPositions[pos][2], g_cowPositions[pos][3], g_cowPositions[pos][4], g_cowPositions[pos][5]);
        //+ elindítasz egy check timert, ami mondjuk 5000ms-onként meghívódik, amiben majd ellenőrzöd, hogy valamelyik player nincs-e adott távolságra riskától
}
//A check timer:
public checkIsPlayerInRangeOfMoo()
{
        new Float:x, Float:y, Float:z;
        GetObjectPos(g_cow, x, y, z);
       
        for(new i = 0; i < GetMaxPlayers(); i++)
        {
                if(IsPlayerInRangeOfPoint(playerid, x, y, z))
                {
                        //Riska meg lett. Itt megölöd szegényt DestroyObject-el, aztán hálát adsz a megtalálójának és megállítod ezt a timert.
                        //Aztán elindítod az előző timert újra, ugyan úgy random idővel, ahogy az elején
                }
        }
}
//random minimummal és maximummal:
randomminmax(const min, const max)
{
        return random(9999999999) % (max - min) + min;
}

 
Semmit nem teszteltem, mert ez csak egy segítség. Szerintem innentől meg tudod csinálni.
Vagy a másik lehetőség, hogy pickuppal csinálod meg, hasonló módon.

Nem elérhető Th0mas

  • 278
    • Profil megtekintése
Tehén kereső akció.
« Válasz #2 Dátum: 2015. április 07. - 19:21:42 »
0 Show voters
Ez jó! Köszi! :D
« Utoljára szerkesztve: 2015. április 07. - 20:21:50 írta Th0mas »

Tehén kereső akció.
« Válasz #3 Dátum: 2015. április 07. - 21:26:03 »
+1 Show voters
Kérlek ha megkapod a kérésedre a választ és még jó is akkor légy oly kedves és nedves menj rá a \"Téma Megoldva\" opcióra.
Köszönöm!
www.twitch.tv/almightymartin

Az év STAFF tagja - 2015
Az év RP szervere - 2015 - [rc-rp.hu]

Red County Role Play [rc-rp.hu] - Tulajdonos
Project San Andreas [psa.hu] - Főadminisztrátor
See MTA LV [see-game.com] - Admin 4

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal