Jedinstven sistem pecanja ! (DEMO verzija)

Započeo rane
pre 4 godine
4,903
pregleda
26
postova
Dellenzi_Car
Underboss
pre 4 godine
Tip: Filterskripta
Slike ili Video:

Opis i dodatne informacije: Ovo je demo verzija, planiram je dorađivati svakih 5-7 dana sve dok ovaj sistem ne dovedem na vrhunac.
Finalna verzija bi trebala biti objavljena početkom septembra sa Y_Ini i mysql cuvanjem.

Download link: https://bit.ly/3ljxnzc
Scan link: nope
Credits: Just me
Garadooo
Forum Don
pre 4 godine
Koliko znas linkovi kao bit.ly i slicno nisu dozvoljeni na forumu...
Dellenzi_Car
Underboss
pre 4 godine
Galardo wrote on August 2, 2021, 9:51 pm:
Koliko znas linkovi kao bit.ly i slicno nisu dozvoljeni na forumu...
https://gtablkn.gg/forum/filterskripte-include-fajlovi/pravila-i-informacije-7 ?
Garadooo
Forum Don
pre 4 godine
Göppert wrote on August 2, 2021, 9:52 pm:
https://gtablkn.gg/forum/filterskripte-include-fajlovi/pravila-i-informacije-7 ?

Mislim da sam negdje davno vidio, ako ne, izvinjavam se...
Dellenzi_Car
Underboss
pre 4 godine
Galardo wrote on August 2, 2021, 9:57 pm:
Mislim da sam negdje davno vidio, ako ne, izvinjavam se...
Jbg, sta je tu je, bilo bi mi draze da si pregledao kod i vidio ima li gresaka ali ajde nmvz. Probao sam promijeniti odma link ali nisam stigao maknuli mi je modify opciju. U svakom slucaju u deskripciji kanala ima i pastebin i files.fm i mediafire DL tkd.
Taylor Script
Made Man
pre 4 godine
Göppert wrote on August 2, 2021, 10:21 pm:
Jbg, sta je tu je, bilo bi mi draze da si pregledao kod i vidio ima li gresaka ali ajde nmvz. Probao sam promijeniti odma link ali nisam stigao maknuli mi je modify opciju. U svakom slucaju u deskripciji kanala ima i pastebin i files.fm i mediafire DL tkd.
Malo sam gledo bezveze bacio oko mozda da prebacis CO CDO dok vec imas ukljucen streamer, kod dialoga mozes koristit switch dialogid i ne znam vise nmg se sjetit pisem preko mob
Dellenzi_Car
Underboss
pre 4 godine
Taylor Morelli wrote on August 2, 2021, 10:25 pm:
Malo sam gledo bezveze bacio oko mozda da prebacis CO CDO dok vec imas ukljucen streamer, kod dialoga mozes koristit switch dialogid i ne znam vise nmg se sjetit pisem preko mob
Razmisljao sam o tome jos dok sam i pickupe i labele ubacivao ali jednostavno interijere sam navikao od ranije raditi u createobject(zbog propadanja pri spawnu/ulasku) tkd to nisam dirao a inace streamer sam ubacio samo zbog tih area.

A za switch dialogid ni sam ne znam zasto sam ovako ubacivao, vjv sam mahinalno jer je na pocetku bio samo jedan. Bude na updateu switch.
Garadooo
Forum Don
pre 4 godine
Kad si vec spomenuo objekte, samo podlogu izdvoji da ti bude createobject za slucaj da propadnes, odnosno ako imas neki interior, samo onaj objekat koji mu je za poziciju kada udje, prebaci u createobject, ostalo u CDO, jer postoji limit za createobjecte, mada i da ne predjes taj limit, kada se nakupi malo vise createobject-a ostale se slabije ucitavaju.
Sage
Enforcer
pre 4 godine
Galardo wrote on August 2, 2021, 10:33 pm:
Kad si vec spomenuo objekte, samo podlogu izdvoji da ti bude createobject za slucaj da propadnes, odnosno ako imas neki interior, samo onaj objekat koji mu je za poziciju kada udje, prebaci u createobject, ostalo u CDO, jer postoji limit za createobjecte, mada i da ne predjes taj limit, kada se nakupi malo vise createobject-a ostale se slabije ucitavaju.

Galardo piši mi na discord šta nije u redu? Kao da si tek počeo sa skriptanjem, nisi bio ovoliko loš ako se doboro sećam.
Ko pri sebi može da preporuči mešanje CDO i COD lol


CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = STREAMER_OBJECT_SD, Float:drawdistance = STREAMER_OBJECT_DD, areaid = -1, priority)
Pod na koji teleportuješ igrača kreiraš sa priority paramterom 1 i mnogo je bitno da naučiš da koristiš Streamer_UpdateEx

Primer:

public OnPlayerEnterDynamicArea(playerid, STREAMER_TAG_AREA:areaid) {
    if (areaid == teleport_point) {
        static const Float:podlogaX = 250.0,
            Float:podlogaY = 250.0,
            Float:podlogaZ = 25.0,
            podlogaWorld = -1,
            podlogaInt = 18;

        CreateDynamicObject(objekat_za_pod, podlogaX, podlogaY, podlogaZ, 0.0, 0.0, 0.0, podlogaWorld, podlogaInt, -1, .priority = 10);
        Streamer_UpdateEx(playerid, podlogaX, podlogaY, podlogaZ, podlogaWorld, podlogaInt, STREAMER_TYPE_OBJECT, 1024);
    }
    return 1;
}


Moj tutorial (pročitaj i Xunderov komentar)
https://gtablkn.gg/forum/tutorijali-u-vezi-sa-mpa/mini-optimizacija-2-streamer-updateex

EDIT:
Code inspekšn,

ovo nikako ne ide ovako
#include 
#include
#include
#include
#include
#include
#include
//--------------------------------//
#undef MAX_PLAYERS
#define MAX_PLAYERS 100
#define CIJENASTAPA 2000
#define CIJENAMAMCA 150
#define MAX_TRG 10


nego ovako
#include 

#undef MAX_PLAYERS
#define MAX_PLAYERS 100

#include
#include
#include
#include
#include
#include
//--------------------------------//
#define CIJENASTAPA 2000
#define CIJENAMAMCA 150
#define MAX_TRG 10

Veoma je bitno.

#pragma tabsize 0 

Y_Less na aparatima


Koristiš verziju YSIa koja je veoma verovatno starija od tebe.

enum
{
DIALOG_PECANJEOPREMA,
DIALOG_KUPOVINAMAMCA,
DIALOG_PANEL,
DIALOG_PANEL2
}

topla preporuka y_dialog


Ovo ostalo nije nešto ali ne bih baš da pišem ceo kod ispočetka
Sage
Enforcer
pre 4 godine
E i ovo tek sada vidim
stock y_va_format(dest[], size, fmat[], va_args<>)
{
    va_format(dest, size, fmat, va_start<3>);
}

Bodeš li se ti hahahahaha

EDIT: I ovo, switch ti nema smisla nikakvog, pišeš isti kod 3 puta??
timer PecaRibu(playerid)
{
    if(Peca != 0)
    {
        switch(random(6))
        {
            case 0:
            {
                va_SendClientMessage(playerid,-1,"Nisi upecao nista");
                RemovePlayerAttachedObject(playerid,3);
                TogglePlayerControllable(playerid,true); Peca = 0; ClearAnimations(playerid);
                RibarInfo -= 1;
                if(RibarInfo == 0) return SendClientMessage(playerid,-1,"Vas stap za pecanje se potrgao, morate kupiti novi");
            }
            case 1:
            {
                va_SendClientMessage(playerid,-1,"Upecao si sardinu");
                RemovePlayerAttachedObject(playerid,3);
                TogglePlayerControllable(playerid,true); Peca = 0; ClearAnimations(playerid);
                RibarInfo -= 1; RibarInfo += 1;
                if(RibarInfo == 0) return SendClientMessage(playerid,-1,"Vas stap za pecanje se potrgao, morate kupiti novi");
            }
            case 2:
            {
                va_SendClientMessage(playerid,-1,"Nisi upecao nista");
                RemovePlayerAttachedObject(playerid,3);
                TogglePlayerControllable(playerid,true); Peca = 0; ClearAnimations(playerid);
                RibarInfo -= 1;
                if(RibarInfo == 0) return SendClientMessage(playerid,-1,"Vas stap za pecanje se potrgao, morate kupiti novi");
            }
            case 3:
            {
                va_SendClientMessage(playerid,-1,"Upecao si oradu");
                RemovePlayerAttachedObject(playerid,3);
                TogglePlayerControllable(playerid,true); Peca = 0; ClearAnimations(playerid);
                RibarInfo -= 1; RibarInfo += 1;
                if(RibarInfo == 0) return SendClientMessage(playerid,-1,"Vas stap za pecanje se potrgao, morate kupiti novi");
            }
            case 4:
            {
                va_SendClientMessage(playerid,-1,"Upecao si sardinu");
                RemovePlayerAttachedObject(playerid,3);
                TogglePlayerControllable(playerid,true); Peca = 0; ClearAnimations(playerid);
                RibarInfo -= 1; RibarInfo += 1;
                if(RibarInfo == 0) return SendClientMessage(playerid,-1,"Vas stap za pecanje se potrgao, morate kupiti novi");
            }
            case 5:
            {
                va_SendClientMessage(playerid,-1,"Nisi upecao nista");
                RemovePlayerAttachedObject(playerid,3);
                TogglePlayerControllable(playerid,true); Peca = 0; ClearAnimations(playerid);
                RibarInfo -= 1;
                if(RibarInfo == 0) return SendClientMessage(playerid,-1,"Vas stap za pecanje se potrgao, morate kupiti novi");
            }
        }
        SacuvajRibara(playerid);
    }
    return 1;
}

>>>
timer PecaRibu(playerid)
{
    if(Peca != 0)
    {
        switch(random(6))
        {
            case 1:
            {
                va_SendClientMessage(playerid,-1,"Upecao si sardinu");
                RemovePlayerAttachedObject(playerid,3);
                TogglePlayerControllable(playerid,true); Peca = 0; ClearAnimations(playerid);
                RibarInfo -= 1; RibarInfo += 1;
                if(RibarInfo == 0) return SendClientMessage(playerid,-1,"Vas stap za pecanje se potrgao, morate kupiti novi");
            }
            case 3:
            {
                va_SendClientMessage(playerid,-1,"Upecao si oradu");
                RemovePlayerAttachedObject(playerid,3);
                TogglePlayerControllable(playerid,true); Peca = 0; ClearAnimations(playerid);
                RibarInfo -= 1; RibarInfo += 1;
                if(RibarInfo == 0) return SendClientMessage(playerid,-1,"Vas stap za pecanje se potrgao, morate kupiti novi");
            }
            case 4:
            {
                va_SendClientMessage(playerid,-1,"Upecao si sardinu");
                RemovePlayerAttachedObject(playerid,3);
                TogglePlayerControllable(playerid,true); Peca = 0; ClearAnimations(playerid);
                RibarInfo -= 1; RibarInfo += 1;
                if(RibarInfo == 0) return SendClientMessage(playerid,-1,"Vas stap za pecanje se potrgao, morate kupiti novi");
            }
            default:
            {
                va_SendClientMessage(playerid,-1,"Nisi upecao nista");
                RemovePlayerAttachedObject(playerid,3);
                TogglePlayerControllable(playerid,true); Peca = 0; ClearAnimations(playerid);
                RibarInfo -= 1;
                if(RibarInfo == 0) return SendClientMessage(playerid,-1,"Vas stap za pecanje se potrgao, morate kupiti novi");
            }
        }
        SacuvajRibara(playerid);
    }
    return 1;
}
Dellenzi_Car
Underboss
pre 4 godine
Sage wrote on August 2, 2021, 10:52 pm:
Galardo piši mi na discord šta nije u redu? Kao da si tek počeo sa skriptanjem, nisi bio ovoliko loš ako se doboro sećam.
Ko pri sebi može da preporuči mešanje CDO i COD lol


CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = STREAMER_OBJECT_SD, Float:drawdistance = STREAMER_OBJECT_DD, areaid = -1, priority)
Pod na koji teleportuješ igrača kreiraš sa priority paramterom 1 i mnogo je bitno da naučiš da koristiš Streamer_UpdateEx

Primer:

public OnPlayerEnterDynamicArea(playerid, STREAMER_TAG_AREA:areaid) {
    if (areaid == teleport_point) {
        static const Float:podlogaX = 250.0,
            Float:podlogaY = 250.0,
            Float:podlogaZ = 25.0,
            podlogaWorld = -1,
            podlogaInt = 18;

        CreateDynamicObject(objekat_za_pod, podlogaX, podlogaY, podlogaZ, 0.0, 0.0, 0.0, podlogaWorld, podlogaInt, -1, .priority = 10);
        Streamer_UpdateEx(playerid, podlogaX, podlogaY, podlogaZ, podlogaWorld, podlogaInt, STREAMER_TYPE_OBJECT, 1024);
    }
    return 1;
}


Moj tutorial (pročitaj i Xunderov komentar)
https://gtablkn.gg/forum/tutorijali-u-vezi-sa-mpa/mini-optimizacija-2-streamer-updateex
Znam koristiti Streamer_UpdateEx medjutim kao i vecina ne upotrebljavam znanje 100%, buduci da je ovo default interijer i da su objekti samo izmapani prebacit cu createobject u createdynamicobject i tjt.

Sage wrote on August 2, 2021, 11:01 pm:
EDIT: I ovo, switch ti nema smisla nikakvog, pišeš isti kod 3 puta??

Planirani su na tim switch razliciti ishodi medjutim zbog nedostatka vremena nisam stigao, na update ce se dodati to sto sam planirao
Sage
Enforcer
pre 4 godine
Ali zašto koristiš va_ uopšte je pitanje ovde hahaha

va_format = format 😄

Znači,
y_va_format(string,sizeof(string),"Trgovina Ribarske Opreme\nPritisnite 'F' za ulazak\nID: %d",d);

>>>
format(string, sizeof(string), "Trgovina Ribarske Opreme\nPritisnite 'F' za ulazak\nID: %d", d);

I odvajaj zareze da ti ne odvojim udove

EDIT: Samo da znaš, YSI koristi va_format ravno 0 puta interno, funkcija ostavljena za backward compatibility 🙂
Dellenzi_Car
Underboss
pre 4 godine
Sage wrote on August 2, 2021, 10:52 pm:

#pragma tabsize 0 

Y_Less na aparatima

filterskripta je naknadno prebacena u grandlarcency.pwn pa je to ostalo

Sage wrote on August 2, 2021, 10:52 pm:
Koristiš verziju YSIa koja je veoma verovatno starija od tebe.

Vec pretjerujes, YSI v4.0.2. Ne znam ni sta je toliko izmijenjeno u ovim zadnjim verzijama pa da bi prelazio na v5?

Sage wrote on August 2, 2021, 11:01 pm:
E i ovo tek sada vidim
stock y_va_format(dest[], size, fmat[], va_args<>)
{
    va_format(dest, size, fmat, va_start<3>);
}

Bodeš li se ti hahahahaha

Pokusavao sam na razne nacine da ubacim va_format direktno u showplayerdialog i nisam uspio pa sam kopao po y_va i kombinovao razne kodove, taj je ostao ne obrisan na kraju

Sage wrote on August 2, 2021, 11:14 pm:
I odvajaj zareze da ti ne odvojim udove
ne vidim zasto bi se prilagodjavao tvom nacinu pisanja koda?
Bryan123
Enforcer
pre 4 godine
Göppert wrote on August 2, 2021, 11:17 pm:
ne vidim zasto bi se prilagodjavao tvom nacinu pisanja koda?
To nije prilagodjavanje pisanju koda, nego pravopis iz osnovne skole.
- Sistem nije los(vizuelno), sa tim da je kod nepregledan.
Sage
Enforcer
pre 4 godine
Göppert wrote on August 2, 2021, 11:17 pm:
filterskripta je naknadno prebacena u grandlarcency.pwn pa je to ostalo
Vec pretjerujes, YSI v4.0.2. Ne znam ni sta je toliko izmijenjeno u ovim zadnjim verzijama pa da bi prelazio na v5?

Pokusavao sam na razne nacine da ubacim va_format direktno u showplayerdialog i nisam uspio pa sam kopao po y_va i kombinovao razne kodove, taj je ostao ne obrisan na kraju
ne vidim zasto bi se prilagodjavao tvom nacinu pisanja koda?

A izvini onda, mislio sam da ni u YSI4 ne dozvolljava ovako da se includea YSI, svakako ne vidim razlog za YSI4.


Zašto si izostavio deo gde sam rekao da ne treba da koristiš (v_)va_format?

EDIT: Aha, ti si hteo da ubaciš va_format inline u ShowPlayerDialog, ne može zato što je va_format potpuno isti native kao format.

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava