Szerző Téma: Samp hó?  (Megtekintve 1986 alkalommal)

Samp hó?
« Dátum: 2016. Szeptember 10. - 11:11:16 »
0
Nos láttam már pár szerveren egyet azért megemlítenék ami magyar FayRPG
Nekem is volt régebben egy hó fs em de az csak annyit csinált, hogy hullot a hó.
De én úgy akarom, hogy az egész táj le legyen fedve hóval és mindenki lássa.

Samp hó?
« Válasz #1 Dátum: 2016. Szeptember 10. - 11:23:10 »
0
Hát az egy kicsit laggot okozna.
De! A végeredmény így ugyan az.
A player körül lesz mindig a hó és ahova megy követi.
Pastebin url - http://pastebin.com/Dw7f4PCB
Eredeti téma - http://forum.sa-mp.com/showthread.php?t=296904

Samp hó?
« Válasz #2 Dátum: 2016. Szeptember 10. - 11:29:41 »
0
#include <a_samp>
#include <streamer>
#include <zcmd>
#undef MAX_PLAYERS
#define MAX_SLOTS           -1
#define MAX_SNOW_OBJECTS    8
#define UPDATE_INTERVAL     750
#if MAX_SLOTS == -1
        #error Change MAX_SLOTS to the max players of your server! (At line 6)
#endif
#define ploop(%0)                       for(new %0 = 0; %0 < MAX_SLOTS; %0++) if(IsPlayerConnected(%0))
#define CB:%0(%1)           forward %0(%1); public %0(%1)
new bool:snowOn[MAX_SLOTS char],
        snowObject[MAX_SLOTS][MAX_SNOW_OBJECTS],
        updateTimer[MAX_SLOTS char]
;
public OnFilterScriptExit()
{
        ploop(i)
        {
            if(snowOn{i})
            {
                for(new j = 0; j < MAX_SNOW_OBJECTS; j++) DestroyDynamicObject(snowObject[j]);
                        KillTimer(updateTimer{i});
                }
        }
        return 1;
}
public OnPlayerDisconnect(playerid)
{
        if(snowOn{playerid})
        {
            for(new i = 0; i < MAX_SNOW_OBJECTS; i++) DestroyDynamicObject(snowObject[playerid]);
                snowOn{playerid} = false;
                KillTimer(updateTimer{playerid});
        }
        return 1;
}
CB:UpdateSnow(playerid)
{
        if(!snowOn{playerid}) return 0;
        new Float:pPos[3];
        GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
        for(new i = 0; i < MAX_SNOW_OBJECTS; i++) SetDynamicObjectPos(snowObject[playerid], pPos[0] + random(25), pPos[1] + random(25), pPos[2] - 5 + random(10));
        return 1;
}
stock CreateSnow(playerid)
{
        if(snowOn{playerid}) return 0;
        new Float:pPos[3];
        GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
        for(new i = 0; i < MAX_SNOW_OBJECTS; i++) snowObject[playerid] = CreateDynamicObject(18864, pPos[0] + random(25), pPos[1] + random (25), pPos[2] - 5 + random(10), random(280), random(280), 0, -1, -1, playerid);
        snowOn{playerid} = true;
        updateTimer{playerid} = SetTimerEx(\"UpdateSnow\", UPDATE_INTERVAL, true, \"i\", playerid);
        return 1;
}
stock DeleteSnow(playerid)
{
        if(!snowOn{playerid}) return 0;
        for(new i = 0; i < MAX_SNOW_OBJECTS; i++) DestroyDynamicObject(snowObject[playerid]);
        KillTimer(updateTimer{playerid});
        snowOn{playerid} = false;
        return 1;
}
CMD:snow(playerid, params[])
{
        if(snowOn{playerid})
        {
            DeleteSnow(playerid);
            SendClientMessage(playerid, 0x00FF00AA, \"* It\'s not snowing anymore now.\");
        }
        else
        {
            CreateSnow(playerid);
            SendClientMessage(playerid, 0x00FF00AA, \"* Let it snow, let it snow, let it snow!\");
        }
        return 1;
}
CMD:allsnowon(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return 0;
    ploop(i) //This is included in my FS! It\'s the \'#define ploop(%0)\' thing.
    {
        if(snowOn{i}) continue;
        CreateSnow(i);
    }
    return 1;
}
CMD:allsnowoff(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return 0;
    ploop(i)
    {
        if(!snowOn{i}) continue;
        DeleteSnow(i);
    }
    return 1;
)

 
Hibás:
 
C:\\Documents and Settings\\Administrator\\Desktop\\sszerv\\pawno\\hó.pwn(12) : fatal error 111: user error: Change MAX_SLOTS to the max players of your server! (At line 6)
 
Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
1 Error.

Samp hó?
« Válasz #3 Dátum: 2016. Szeptember 10. - 11:31:07 »
0
Írd át a 6. sorban a MAX_SLOTS define-t.
 
#define MAX_SLOTS           -1 //ÍRD ÁÁÁT

Samp hó?
« Válasz #4 Dátum: 2016. Szeptember 10. - 11:33:33 »
0
úgyvan de nem megy :/

Dupla hozzászólás automatikusan összefûzve. ( 2016. Szeptember 10. - 11:34:02 )

Azt irja hogy az utolso sorban van a hiba

Samp hó?
« Válasz #5 Dátum: 2016. Szeptember 10. - 11:35:51 »
0

#if MAX_SLOTS == -1
        #error Change MAX_SLOTS to the max players of your server! (At line 6)
#endif

 
Írd át pl 30-ra. Ami errort küldtél az azt jelenti.
Edit: Ezt írd át:
 
#define MAX_SLOTS        -1

 
Erre
 
#define MAX_SLOTS        30

Samp hó?
« Válasz #6 Dátum: 2016. Szeptember 10. - 11:39:00 »
0
Most sem megy :/
 
C:\\Documents and Settings\\Administrator\\Desktop\\sszerv\\pawno\\hó.pwn(30) : warning 217: loose indentation
C:\\Documents and Settings\\Administrator\\Desktop\\sszerv\\pawno\\hó.pwn(41) : warning 217: loose indentation
C:\\Documents and Settings\\Administrator\\Desktop\\sszerv\\pawno\\hó.pwn(111) : warning 225: unreachable code
C:\\Documents and Settings\\Administrator\\Desktop\\sszerv\\pawno\\hó.pwn(111) : warning 217: loose indentation
C:\\Documents and Settings\\Administrator\\Desktop\\sszerv\\pawno\\hó.pwn(111) : error 029: invalid expression, assumed zero
C:\\Documents and Settings\\Administrator\\Desktop\\sszerv\\pawno\\hó.pwn(111 -- 112) : warning 215: expression has no effect
C:\\Documents and Settings\\Administrator\\Desktop\\sszerv\\pawno\\hó.pwn(112) : error 001: expected token: \";\", but found \"-end of file-\"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
2 Errors.

Samp hó?
« Válasz #7 Dátum: 2016. Szeptember 10. - 11:47:59 »
0
Nálad van a hiba, nálam teljesen jó. És eszerint csináltam:
 

#include <a_samp>
#include <streamer>
#include <zcmd>
#undef MAX_PLAYERS
#define MAX_SLOTS           30
#define MAX_SNOW_OBJECTS    8
#define UPDATE_INTERVAL     750
#if MAX_SLOTS == -1
        #error Change MAX_SLOTS to the max players of your server! (At line 6)
#endif
#define ploop(%0)                       for(new %0 = 0; %0 < MAX_SLOTS; %0++) if(IsPlayerConnected(%0))
#define CB:%0(%1)           forward %0(%1); public %0(%1)
new bool:snowOn[MAX_SLOTS char],
        snowObject[MAX_SLOTS][MAX_SNOW_OBJECTS],
        updateTimer[MAX_SLOTS char]
;
public OnFilterScriptExit()
{
ploop(i) {
       if(snowOn{i}) {
           for(new j = 0; j < MAX_SNOW_OBJECTS; j++) DestroyDynamicObject(snowObject[j]);
            KillTimer(updateTimer{i});
        }
    }
    return 1;
}
public OnPlayerDisconnect(playerid)
{
if(snowOn{playerid})
    {
       for(new i = 0; i < MAX_SNOW_OBJECTS; i++) DestroyDynamicObject(snowObject[playerid]);
        snowOn{playerid} = false;
        KillTimer(updateTimer{playerid});
    }
    return 1;
}
CB:UpdateSnow(playerid)
{
        if(!snowOn{playerid}) return 0;
        new Float:pPos[3];
        GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
        for(new i = 0; i < MAX_SNOW_OBJECTS; i++) SetDynamicObjectPos(snowObject[playerid], pPos[0] + random(25), pPos[1] + random(25), pPos[2] - 5 + random(10));
        return 1;
}
stock CreateSnow(playerid)
{
        if(snowOn{playerid}) return 0;
        new Float:pPos[3];
        GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
        for(new i = 0; i < MAX_SNOW_OBJECTS; i++) snowObject[playerid] = CreateDynamicObject(18864, pPos[0] + random(25), pPos[1] + random (25), pPos[2] - 5 + random(10), random(280), random(280), 0, -1, -1, playerid);
        snowOn{playerid} = true;
        updateTimer{playerid} = SetTimerEx(\"UpdateSnow\", UPDATE_INTERVAL, true, \"i\", playerid);
        return 1;
}
stock DeleteSnow(playerid)
{
        if(!snowOn{playerid}) return 0;
        for(new i = 0; i < MAX_SNOW_OBJECTS; i++) DestroyDynamicObject(snowObject[playerid]);
        KillTimer(updateTimer{playerid});
        snowOn{playerid} = false;
        return 1;
}
CMD:snow(playerid, params[])
{
        if(snowOn{playerid})
        {
            DeleteSnow(playerid);
            SendClientMessage(playerid, 0x00FF00AA, \"* It\'s not snowing anymore now.\");
        }
        else
        {
            CreateSnow(playerid);
            SendClientMessage(playerid, 0x00FF00AA, \"* Let it snow, let it snow, let it snow!\");
        }
        return 1;
}
CMD:allsnowon(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return 0;
    ploop(i) //This is included in my FS! It\'s the \'#define ploop(%0)\' thing.
    {
        if(snowOn{i}) continue;
        CreateSnow(i);
    }
    return 1;
}
CMD:allsnowoff(playerid, params[])
{
    if(!IsPlayerAdmin(playerid)) return 0;
    ploop(i)
    {
        if(!snowOn{i}) continue;
        DeleteSnow(i);
    }
    return 1;
}

 
És a kimenet:
 
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase

 
Próbáld meg újra letölteni az includeokat. (streamer, a_samp, zcmd)
Ja és eszerint a kód szerint próbáld.

Samp hó?
« Válasz #8 Dátum: 2016. Szeptember 10. - 11:50:26 »
0
Na ez megy ! :D Kösz ezek szerint csak velem volt a baj :D

Dupla hozzászólás automatikusan összefûzve. ( 2016. Szeptember 10. - 11:52:55 )

amúgy mennyi idő után fedi le a páját:
« Utoljára szerkesztve: 2016. Szeptember 10. - 11:52:55 írta Naruto[BijuuChakraMode] »

Samp hó?
« Válasz #9 Dátum: 2016. Szeptember 10. - 11:57:47 »
0
Nem fedi le a pályát.
750 milliszekundumonként \"teszi rá\" playerre a \"havat\".
De csak akkor lép életbe ha onoload magadnak vagy az összes playernek a parancsokkal:
 
CMD:allsnowon(playerid, params[])
CMD:allsnowoff(playerid, params[])
CMD:snow(playerid, params[])

 
Hülyeség lefedni a pályát. Több okból is.
1. Nagyon nagy munka lenne
2. Laggot okozna
3. 3 a szép szám
Így is ugyan azt éred el, a player ugyan azt látja mind2 verziónál csak ez egyszerűbb és nem laggoltat. (FPS).

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Samp hó?
« Válasz #10 Dátum: 2016. Szeptember 10. - 12:29:43 »
0
Próbáld ki az én publikált szkriptemet inkább.
https://sampforum.hu/index.php?topic=56019

Samp hó?
« Válasz #11 Dátum: 2016. Szeptember 10. - 12:34:41 »
0
kiprobalom.  8)

Samp hó?
« Válasz #12 Dátum: 2016. Szeptember 13. - 07:04:13 »
0

Samp hó?
« Válasz #13 Dátum: 2016. Szeptember 13. - 17:20:56 »
0
Szia ! Köszi de már próbáltam az elsőt és nem jó :/

Nem elérhető rewan

  • 960
    • Profil megtekintése
Samp hó?
« Válasz #14 Dátum: 2016. Szeptember 13. - 23:30:13 »
0
Nálam jó az első.
Egy gamemode a pwn, nem filterscriptként próbáltad betölteni?
Az Incognito féle streamer includejával error és warning mentesen le lehet fordítani.
Minden esetre, szerintem célszerűbb a playereknek ajánlani, hogy töltsenek le egy normális winter modot.
Habár nálam a map jelentős része tiszta fehér lett tőle, ezt egy félresiklott modolásomnak tudom be.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal