Üzenetek megjelenítése

Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.


Üzenetek - Norbivar

Oldalak: [1] 2 3
1
Segítségkérés / Key
« Dátum: 2013. Október 25. - 14:21:57 »
A \'==\' az logikai egyenlõség, míg a \'&\' az bit-szintû \"egyenlõség\".
Egyenlõ jellel csak akkor mûködik ha CSAK azt a billentyût tartják lenyomva (elméletileg), az \'ÉS\' (&) jellel meg ha azt is.
De jobb ha csak \'&\'-t használsz. :D

2
Szkript kérések / Füst gránát script
« Dátum: 2013. Október 21. - 16:05:43 »
Tudtommal nem lehetséges, mivel az eldobott \"cucc\" nem object, és nem hiszem hogy füst effekt lenne.

3
Segítségkérés / Fegyverrel kapcsolatos
« Dátum: 2013. Október 19. - 08:33:28 »
Ilyet nem lehet megoldani scripteléssel.
Talán még MTA-ba, de SA-MP-ba tudtommal lehetetlen.

4
Segítségkérés / Bankrob!
« Dátum: 2013. Október 16. - 21:24:33 »
Egy tippem lenne: ha az alap streamer.inc -es dynamic object cuccokat használod, akkor ott a \'MoveDynamicObject\' függvénynek az argumentumai a hibásak:
 

// Helyes:
MoveDynamicObject(PELDAOBJ, Float:X, Float:Y, Float:Z, Float:speed, Float:rx, Float:ry);
// A tied:
MoveDynamicObject(bankajto,2311.2287597656, -1.3448214530945, 27.139419555664,30.0);
// Ez amit te leírtál \'egyhelybe\' (azaz sehova sem) mozgatná 30-as sebességgel.
// Azaz amit valószínûleg elronthattál (HA CSAK FORGATNI AKAROD, pl.: hogy kinyiljon, de ne mozogjon el), az a két (rx, ry) argument kihagyása. Szimplán ezek pótlása szerintem megoldja a gondot.
// Én elgondolásom:
MoveDynamicObject(bankajto,2311.2287597656, -1.3448214530945, 27.139419555664,5.0, 30.0, 0.0);

 
U.I.: A megoldásomba az utolsó két számot cseréld fel (azaz a \'rx\'-t és a \'ry\'-t) ha azt látod hogy érdekes helyre forog el, mert nem voltam biztos benne melyik a vízszintes elforgatás.

5
Segítségkérés / Error
« Dátum: 2013. Október 16. - 21:10:48 »
Mert a \'++\' kifejezés alapból az 1-el történõ növelést fejezi ki, mögé számot már nem kell\\szabad írni.
Azaz:
 
public OnPlayerDeath(playerid, killerid, reason)
{
   JatekosInfo[killerid][Oles]++;
   JatekosInfo[playerid][Halal]++;
       return 1;
}

6
Segítségkérés / Anim kérés
« Dátum: 2013. Augusztus 16. - 18:31:09 »
ApplyAnimation(playerid,\"ped\",\"cower\",1,1,0,0,0,0); // \"ped\",\"cower\" -> szerintem erre a gondoltál

7
RP/RPG kérések / kocsi festés egy adott színre
« Dátum: 2013. Augusztus 07. - 14:38:24 »
Úristen mit lemûveltek ti itt. Peter kódja alapból hibás abból a szempontból hogy mit akar a kérdezõ, hiszen a kód a játékos kocsiját (amiben ül) festené le, nem a kocsit a közelbe.
Egy módszer:
 

if(strcmp(cmd, \"/polirozas\", true) == 0)
{
    new Float:cX,Float:cY,Float:cZ;
    new  carid = 1;
    while(carid <= MAX_VEHICLES)
    {
        if(carid == MAX_VEHICLES+1)
        {
            break;
        }
        GetVehiclePos(carid , cX,cY,cZ);
        if(IsPlayerInRangeOfPoint(playerid, 5.0, cX, cY, cZ ))
        {
            ChangeVehicleColor(carid , 1, 1);
            break;
        }
        else carid++;
    }
}

 
Tessék. Alapjában így mûködik: minden kocsinak lekéri a helyzetét ID1-tõl kezdõdõen, és ha az éppen lekért kocsi a játékos mellet van (5.0-os rádiusz, kísérletezz vele), átfesti \'full\' fehérre, és abbahagyja a \'loop\'-ot. Értelem szerûen ha több kocsi van a megadott körzetbe, a kisebbik ID-jû lesz lefestve.
A dolgokat meglehet még spékelni, optimalizálni, de alapjában gyorsan végig kell futnia, nem leterhelõ a szerver számára ha nincs 2000 kocsid.

8
Segítségkérés / Segitsetek ! Saját szerverkészitésnél problémám akadt!
« Dátum: 2013. Augusztus 07. - 14:12:28 »
1.: Nem ott lesz a hiba szerény véleményem szerint, mivel hogy jóhogy kiírja hogy unloaded amikor kikapcsolja a szervert.
 
[21:36:55] --- Server Shutting Down.
[21:36:55]
|==========================================================|
[21:36:55]
|                        Forint script                     |
[21:36:55]
|                         Kikapcsolva                      |
[21:36:55]
|==========================================================|
[21:36:55]
*** Streamer Plugin v2.6.1 by Incognito unloaded ***
[21:36:55]
[21:36:55]  ===============================
[21:36:55]      sscanf plugin unloaded.   
[21:36:55]  ===============================

 
2.: Újrafordítás alatt meg azt érti, hogy PAWNO-ba megnyitottad-e a mód \'.pwn\' fájlját, és nyomtál-e egy F5-öt. (Compile).
3.: Nem tudom mi lehet a gond csak a logot nézve.

9
Segítségkérés / Maximum hány utas lehet a buszon?
« Dátum: 2013. Augusztus 07. - 14:02:04 »
Nekem errõl az a véleményem, hogy a SA-MPban, alapból, azaz \'G\'-vel max 7 játékos lehet benn. Bár nem teszteltem még, de lehetséges, hogy \' PutPlayerInVehicle(playerid, vehicleid, playerid); \' végtelen számú lehet bent.
Gondolom ez csak busszal lehetséges, hiszen ott nincs player modell ahogyan ül bent a kocsiban. Talán 4+-os számmal mûködne sima kocsiba is, csak kiszálláskor jönne a hibaüzenetecske.

10
Segítségkérés / hp fel
« Dátum: 2013. Augusztus 07. - 13:54:16 »
Megoldható.
 

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys & KEY_SECONDARY_ATTACK)
    {
        SetPlayerHealth(playerid, 100.0);
    }
}

 
Ez mindig feltölti az életét ha megnyomja az F-et (Vagy entert).
Ha valami olyat akarsz, ahol csak egy bizonyos HP alatt megy akkor:
 

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys & KEY_SECONDARY_ATTACK)
    {
        new Float:curhp;
        GetPlayerHealth(playerid,curhp);
        if(curhp <= 50.0)
        {  // itt már csak 50% (\'fél hp\') alatt mûködik.
            SetPlayerHealth(playerid, 100.0);
        }
    }
}

11
Segítségkérés / Modba írás
« Dátum: 2013. Július 29. - 10:55:28 »
Hogyha olyanra gondolsz hogy egy bizonyos játékos (ez esetben mondjuk te) minden beállítható adminszint nélkül tudjon használni adminparancsokat, azaz mondjuk \'Scripter\' legyen:
Én pl. In-Game név alapján használok ilyet, a tied talán MySQL sor ID-t néz, azok a számok, vagy mittudomén. Ez a része mód függõ.
 
// Script elejére
new Scripter[2][] = // az \'2\'-est változtatni kell arra amennyi név van alul.
{
   \"Script_Elek\",
   \"EnIs\",
};

 
Mondjuk ez még magában csak deklarálja a neveket, ha egy playert megszeretnénk nézni hogy közéjük tartozik-e:
 
stock IsScripter(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name)); // lekérjük a játékos nevét
for(new i; i < sizeof(Scripter); i++) // ahány név(ez a szám a [ ]-ben), mindegyiken lefut
{
if(!strcmp(name, Scripter)) { return true; } // Ha talált egy egyezõ nevet, akkor sikeres a funkciónk, azaz a listán van az egyén
}
return false;
}

12
Segítségkérés / Hibás Textdraw
« Dátum: 2013. Július 22. - 18:40:58 »
Mert értelem szerûen azokat is ki kell cserélni:
 

Textdraw1[playerid] = TextDrawCreate(210.000000, 434.000000,string5);
TextDrawBackgroundColor(Textdraw1, 255);
TextDrawFont(Textdraw1, 1);
TextDrawLetterSize(Textdraw1, 0.500000, 1.500000);
TextDrawColor(Textdraw1, -1);
TextDrawSetOutline(Textdraw1, 1);
TextDrawSetProportional(Textdraw1, 1);

 
HELYESEN:
 

Textdraw1[playerid] = TextDrawCreate(210.000000, 434.000000,string5);
TextDrawBackgroundColor(Textdraw1[playerid], 255);
TextDrawFont(Textdraw1[playerid], 1);
TextDrawLetterSize(Textdraw1[playerid], 0.500000, 1.500000);
TextDrawColor(Textdraw1[playerid], -1);
TextDrawSetOutline(Textdraw1[playerid], 1);
TextDrawSetProportional(Textdraw1[playerid], 1);

13
Segítségkérés / Hibás Textdraw
« Dátum: 2013. Július 22. - 18:24:31 »
new Text:Textdraw1;

 
Ahogy nézem, egyetlen egy textdraw, azaz egy integer van létrehozva (ami az ID-jét tartja). Azaz ezt nem birod így:
 
TextDrawSetString(Textdraw1[playerid], string5);

 
használni.
Próbálj meg hozzá tartományt rendelni:
 
new Text:Textdraw1[MAX_PLAYERS];

 
Innentõl kezdve most már egy egész tartománnyi változód van, (0-MAX_PLAYERS-1).
Teszteltem, nekem bevált.

14
Segítségkérés / betöltés scriptfilesbõl
« Dátum: 2013. Július 22. - 18:21:03 »
Üdv,
Sajnos azt kell mondjam hogy zenét, és egyéb resource-t (nyersanyagot, azaz valamiféle formátumú fájlt, amit feltudnánk használni, így pl zene, kép, videó) a SA-MP nem képes még kezelni. Azaz scriptfilesból tudomásom szerint még nem lehet zenét betölteni (csak netrõl, linkkel).

15
Segítségkérés / Tömbelem elérése
« Dátum: 2013. Július 22. - 18:06:30 »
Úgy ahogy stringet küldesz.
 

...
new stringuzenet[64];
new rand = random(212);
format(stringuzenet,256,\"A random kocsi: %s\",JarmuNevek[rand]);
SendClientMessage(playerid,0xffffffAA,stringuzenet);
return 1;
...

 
Ezt dobtam össze hirtelenjében. Szerintem ebbõl kibogarázható. /Teszteltem, igaz nem nagy cucc :D/.
Edit:
A kérdésedhez kapcsolva, ha beakarsz írni egy számot hogy megnézd (azaz hogy lekérd) az ahhoz tartozó nevet, ugyan azzal format-al meglehet csinálni.
Értelemszerûen a \' [rand] \'-ot átírod a parancs azon paraméterére ami a szám lenne.
Egy szokásos GF megoldás (a \'tmp\'-re gondolok ):
 

if(strcmp(cmd, \"/neve\", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        tmp = strtok(cmdtext, idx); // ez lesz maga  szám
        new stringuzenet[64];
        tmp = strval(tmp);
        format(stringuzenet,256,\"A hozzá tartozó kocsi: %s\",JarmuNevek[tmp]); //
        SendClientMessage(playerid,0xffffffAA,stringuzenet);
        return 1;
    }
}

Oldalak: [1] 2 3
SimplePortal 2.3.7 © 2008-2024, SimplePortal