[INC] Pacino`s simple gate creator

Započeo Zarathos, Jun 15, 2011, 18:55:27 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 2 gostiju pregledaju ovu temu.

Pacino`s simple gate creator




Evo da vam predstavim svoj prvi include. Radio sam ga negdje oko sat vremena, nisam ga bas testirao, ali objekti rade normalno. Ovo je ujedno i moj prvi include. Ocekujte jos vise kako budem napredovao :D




Funkcije:

AddGate(id,modelid,Float:pocetnaX,Float:pocetnaY,Float:pocetnaZ, Float:pocetnaRotX, Float:pocetnaRotY, Float:pocetnaRotZ,Float:otvorenaX,Float:otvorenaY,Float:otvorenaZ,Float:brzina);
MoveGate(id);
DestroyGate(id);


Kao object streamer sam stavio Incognitov plugin Streamer.


Primjer:

/*

URADIO:
Irfan Pacino | Irfan Šarić
15.6.2011
*/
#define FILTERSCRIPT

#include <a_samp>
#include <pdyn>
#include <zcmd>

public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Pacino`s simple gate creator sample");
print("--------------------------------------\n");
AddGate(2, 969, 2463.7678222656, -1663.2216796875, 12.310663223267, 0, 0, 90, 2463.7678222656, -1663.2216796875, 2.0, 5.0);
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
SendClientMessage(playerid, -1, "Koristi /port da se portas do kapije i /test da otvoris/zatvoris kapiju!");
return 1;
}



//===============================================[ZCMD]==============================================
CMD:test(playerid, params[])
{
MoveGate(2);
SendClientMessage(playerid, -1, "Pomjerio si kapiju!");
return 1;
}
CMD:port(playerid, params[])
{
SetPlayerPos(playerid, 2465.7678222656, -1665.2216796875, 12.310663223267);
return 1;
}



Mozete birati koliko cete maksimalno kapija sa

#defineMAX_KAPIJE
u include fajlu.

Download - PASTEBIN



Nemojte mi zamjeriti ovo je moj prvi include :D
To znaci da i nije optimiziran.
Include je tako uradjen da se kapija zatvara pomocu samo jednog callbacka PomjeriKapiju(id), gdje se kapija zatvara ako je otvorena, a ako je zatvorena ona se otvara
Poslednja Izmena: Jun 16, 2011, 14:31:58 POSLE PODNE od EM|Pacino
Just one more time.

uu jebeno,poslje cu testat
Uskoro novi stunt server iStunt. DoÄ'ite i zabavite se!




   
   




Dizajniram za $$$
Popis stvari koje radim:

Wallpaper √  Signature ×  Logo √  Dizajn stranice (Ne kodiranje) √  Baner √  Avatar √  Animacija √  Intro √

Sada te neću blamirati da ne ispadne. Ali samo ću ti napomenuti...

Tvoj kod..

forward StvoriKapiju(id,modelid,Float:pocetnaX,Float:pocetnaY,Float:pocetnaZ,Float:pocetnaRotX,Float:pocetnaRotY,Float:pocetnaRotZ,Float:otvorenaX,Float:otvorenaY,Float:otvorenaZ,Float:brzina);
public StvoriKapiju(id,modelid,Float:pocetnaX,Float:pocetnaY,Float:pocetnaZ,Float:pocetnaRotX,Float:pocetnaRotY,Float:pocetnaRotZ,Float:otvorenaX,Float:otvorenaY,Float:otvorenaZ,Float:brzina)


kao i

forward PomjeriKapiju(id);
public PomjeriKapiju(id)


glu*ost opet, koristi 'stock' jer stock može imati optimalan argument public ne može.. Malo googlaj i čitaj o PAWNCC kompajler-u i shvatit ćeš što ti želim reći.. Ne koristiš nikakav timer da trebaš public

Eto ti dokaz da loše skriptaš.

A sada da ne bi ispalo da blamiram svaku tvoj skriptu, nemam ništa protiv tebe ( stvarno nemam ) nego jednostavno ne bi htio da drugi ljudi koji su početnici da gledaju tvoje skripte i da uče iz njih jer će loše učiti, svi smo mi radili ovakve greške ( mislim i na sebe naravno ) ali sam i ja primao ovakve savjete i shvaćao ih dobronamjerne za razliku od tebe. Ovo samo shvati kao da ti dajem prijateljski savjet za bolje skriptanje ;)

Inače jako mi se sviÄ'a skripta tj. jako lijepa ideja koja je loÅ¡e izvedena ali kao Å¡to si i sam rekao prvi INC tako da je u redu samo ti kažem općenito.
Poslednja Izmena: Jun 15, 2011, 19:49:39 POSLE PODNE od [H]265
Kristijan Stipić

Pa ovo je include, mozda on ne koristi ovu funkciju u tajmer, al sto ako neko drugi zeli da je koristi u tajmeru? Ne bi mogao jer mu funkcija ne bi bila kompatibilna

OT: korsti engleske termine za funckije
Poslednja Izmena: Jun 15, 2011, 19:52:29 POSLE PODNE od [BU] Gigi_Falcone



Citat: [BU] Gigi_Falcone poslato Jun 15, 2011, 19:48:20 POSLE PODNE
Pa ovo je include, mozda on ne koristi ovu funkciju u tajmer, al sto ako neko drugi zeli da je koristi u tajmeru? Ne bi mogao jer mu funkcija ne bi bila kompatibilna

Možeš koristiti u timeru... Primjer


NekaFNC(playerid,bool:da) // npr. zamislimo da je ovaj kod u INC file -u
{
    if(da == true)
    {
        // neki effect
        SCM(playerid,boja,"Neka poruka");
    }
    else if(da == false)
    {
        // neki effect
        SCM(playerid,boja,"Neka poruka");
    }
    return true;
}

forward LocalTimer(playerid);
public LocalTimer(playerid) // zamislimo da je ovaj timer u mod-u
{
     NekaFNC(playerid,true);
     return true;
}


Testiraj, radit će iako mislim da nisi mislio na to nego si krivo shvatio šta sam ja htio reći... ;)
Poslednja Izmena: Jun 15, 2011, 19:55:59 POSLE PODNE od [H]265
Kristijan Stipić

mislio sam na direktno pozivanje funkcije kao tajmer sa SetTimerEx



Citat: [BU] Gigi_Falcone poslato Jun 15, 2011, 19:56:10 POSLE PODNE
mislio sam na direktno pozivanje funkcije kao tajmer sa SetTimerEx

Pa da ali ne razumijem zašto bi to neko trebao na naredbi i ako to treba mislim da takav sigurno neće koristiti nečiji sustav nego će imati svoj...
Ili jednostavno je mogao napraviti #if defined i staviti da skripter bira hoće stock ili public ali opet meni je beskorisno koristiti public u ovoj skripti

Mislim realno, onda bi za svaki INC mogli tako reći zar ne?

Zato ostajem pri tome da je trebao koristiti stock :)
Kristijan Stipić

Kada se prave skripte kao sto su include-ovi, koje ce obicno skidati i koristiti skripteri koji pocinju da uce jezik, smatram da bi skripta trebala biti univerzalna i kompatibilna sa funkcijama u kojima moze biti iskoristena, tipa SetTimerEx.
A i nije toliko velika razlika izmedju publica i stocka, tj konkretno u ovom slucaju ne bi predstavljala nikakav problem, vec bi i omogucavala koriscenje vise funkcija.



Citat: [BU] Gigi_Falcone poslato Jun 15, 2011, 20:04:00 POSLE PODNE
Kada se prave skripte kao sto su include-ovi, koje ce obicno skidati i koristiti skripteri koji pocinju da uce jezik, smatram da bi skripta trebala biti univerzalna i kompatibilna sa funkcijama u kojima moze biti iskoristena, tipa SetTimerEx.
A i nije toliko velika razlika izmedju publica i stocka, tj konkretno u ovom slucaju ne bi predstavljala nikakav problem, vec bi i omogucavala koriscenje vise funkcija.

Slažem se s tobom do nekog dijela, prije bi se složio s tim u slučaju plugin-ova i hook plugin sa INC-om ali nema veze. Nije mi bila poanta blamirati nego samo dati savjet. A iskreno kakvih danas sve mogućnosti ima u SA:MP-u ( s obzirom na prošlost ) teško je da ćeš napraviti neku skriptu/INC kompaktibilan jer realno tu je i YSI :)

Ono što hoću reći je da je ta odluka na samom skripteru..Jer ako ćemo stalno tupiti 'što ako' onda možemo i tupiti 'što ako sad padne meteor'
Poslednja Izmena: Jun 15, 2011, 20:08:40 POSLE PODNE od [H]265
Kristijan Stipić

Ok, hvala na savjetima malo cu updatat include, stavit cu DeleteGate isto tako cu staviti engl. termine radi lakseg pamćenja :D
Just one more time.


Update:
Promjenjene funkcije na engl. termine i dodana funkcija DestroyGate(id);
Just one more time.

Super :) :) :)                                                                           
8)









hmm fora je, valjda radi
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __
I                ***    zvonzy   ***              
I   <a href="http://balkan-samp.com/forum/index.php?topic=31911.msg269791#msg259791">[MAP] Bahamas otok</a>                                   
I                                                                    
__ __ __ __ __ __ __ __ __ __ __ __ __ __ __