[TuT] Pravljenje organizacija/bandi

Započeo Aleksandar?, Januar 06, 2011, 15:48:10 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 2 gostiju pregledaju ovu temu.

Dobar tut
Igram CoD4 & Dotu2
Moj xFire:cijuciks
Moj Steam:Doctor
Dota 2 movie : http://www.youtube.com/watch?v=9h4MPefc3Fo

Dobarr TuTorial :D svaka cast!
prst prst u cupi,prst prst u anus


Capetroon.

Ovo je još za 0.3b, nevjerujem da če raditi za 0.3e.



Evo errori u compile

C:\Documents and Settings\User\My Documents\Downloads\BalkaN's RPG\BalkaN's RPG\BalkaN's RPG\pawno\include\Zcmd.inc(113) : error 017: undefined symbol "Plava"
C:\Documents and Settings\User\My Documents\Downloads\BalkaN's RPG\BalkaN's RPG\BalkaN's RPG\pawno\include\Zcmd.inc(115) : error 017: undefined symbol "Plava"
C:\Documents and Settings\User\My Documents\Downloads\BalkaN's RPG\BalkaN's RPG\BalkaN's RPG\pawno\include\Zcmd.inc(125) : error 017: undefined symbol "Plava"
C:\Documents and Settings\User\My Documents\Downloads\BalkaN's RPG\BalkaN's RPG\BalkaN's RPG\pawno\include\Zcmd.inc(127) : error 017: undefined symbol "Plava"
C:\Documents and Settings\User\My Documents\Downloads\BalkaN's RPG\BalkaN's RPG\BalkaN's RPG\pawno\include\Zcmd.inc(128) : error 017: undefined symbol "Plava"
C:\Documents and Settings\User\My Documents\Downloads\BalkaN's RPG\BalkaN's RPG\BalkaN's RPG\pawno\include\Zcmd.inc(141) : error 017: undefined symbol "Plava"
C:\Documents and Settings\User\My Documents\Downloads\BalkaN's RPG\BalkaN's RPG\BalkaN's RPG\pawno\include\Zcmd.inc(142) : error 017: undefined symbol "Plava"
C:\Documents and Settings\User\My Documents\Downloads\BalkaN's RPG\BalkaN's RPG\BalkaN's RPG\pawno\include\Zcmd.inc(153) : error 017: undefined symbol "MAX_STRING"
C:\Documents and Settings\User\My Documents\Downloads\BalkaN's RPG\BalkaN's RPG\BalkaN's RPG\pawno\include\Zcmd.inc(153) : error 009: invalid array size (negative, zero or out of bounds)
C:\Documents and Settings\User\My Documents\Downloads\BalkaN's RPG\BalkaN's RPG\BalkaN's RPG\pawno\include\Zcmd.inc(153) : error 036: empty statement
C:\Documents and Settings\User\My Documents\Downloads\BalkaN's RPG\BalkaN's RPG\BalkaN's RPG\pawno\include\Zcmd.inc(153) : fatal error 107: too many error messages on one line
aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


11 Errors.


A evo linije po redu:
#define COLOR_SYSTEM 0xEFEFF7AA
#define COLOR_CHAT2 0xE6A9ECAA
#define COLOR_RED 0xAA3333AA
#define COLOR_GREEN 0x9EC73DAA
#define COLOR_GROVE 0x00FF00FF
#define COLOR_SPEC 0xBFC0C200
#define COLOR_ADD 0x63FF60AA
153 linija:#define COLOR_ALLDEPT 0xFF8282AA
3 errora na toj liniji -.-

Ko zna neka pomogne  :-X

Citat: Aleksandar? poslato Januar 06, 2011, 15:48:10 POSLE PODNE
Gledam malo po forumu i sve neki tutovi za GF i njegove edite,pa rek'o da napravim jedan TUT da nije za GF i sl..

Neki si postavljaju pitanja kako napraviti organizaciju/mafiju za mod od 0.

Evo jedan veoma jednostavan tutorial o tome.
Pa da pocnemo:

Pri vrhu vase scripte ispod #include "a_samp"

potrebno je da dodate sledece includse koje mozete naci na ovom forumu ili na samo forumu:

#include "Zcmd"
#include "sscanf2"
#include "dini"
#include "foreach"


Umjesto #include <Ime> mozete koristiti  #include "Ime"(kao sto sam ja),potpuno je isto!

Sledeci korak je pravljenje komande kako dati nekome lidera!

Koristicemo Zcmd.

CMD:makelider(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,Plava,"Niste ovlasteni!");
new ID,level;
if(sscanf(params, "dd", ID, level)) return SendClientMessage(playerid, Plava, "Koristenje: /makelider [ID] [broj org]");
new file[128];
format(file,sizeof(file),"GdjeVamSeSpremaAcc/%s.ini", ImeIgraca(ID));
dini_IntSet(file,"Lider",level);
SetPVarInt(ID,"Lider",level);
return true;
}


Da pojasnimo malo.

if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,Plava,"Niste ovlasteni!"); --ako igrac nije rcon ulogovan admin da mu ispisuje poruku.

if(sscanf(params, "dd", ID, level)) return SendClientMessage(playerid, Plava, "Koristenje: /makelider [ID] [broj org]"); -- ako ukucate /makelider,bez ID-a,ili bez broja org ispisace vam tu poruku(naravno ukoliko ste se rcon ulogovali)

format(file,sizeof(file),"GdjeVamSeSpremaAcc/%s.ini", ImeIgraca(ID));  -- ovde umjesto "GdjeVamSeSpremaAcc/%s.ini" unesite gdje se vama sprema acc,npr
"KorisnickiRacuni/%s.ini"


Kada ste nekome dali lidera,naravno da necete svakome ko hoce u tu orgaizaciju/mafiju davati lidera.
E pa onda idemo napraviti komandu da lider moze ozvati u organizaciju kog' hoce..


CMD:pozovi(playerid, params[])
{
if(GetPVarInt(playerid,"Lider") < 1) return SendClientMessage(playerid,Plava,"Niste ovlasteni!");
new ID,level;
if(sscanf(params, "dd", ID, level)) return SendClientMessage(playerid, Plava, "Koristenje: /pozovi [ID] [broj org]");
if(level != GetPVarInt(playerid,"Lider")) return SendClientMessage(playerid,Plava,"Ne mozete pozvati igraca u drugu org/mafiju.");
new file[128];
format(file,sizeof(file),"GdjeVamSeSpremaAcc/%s.ini", ImeIgraca(ID));
dini_IntSet(file,"Clan",level);
SetPVarInt(ID,"Clan",level);
return true;
}


Objasnjenje pogledaj gore!

Pozvali ste nekog' u organizaciju/mafiju? Zelite ga izbaciti? Idemo napraviti komadnu!

CMD:izbaci(playerid, params[])
{
if(GetPVarInt(playerid,"Lider") >= 1)
{
new ID;
if(sscanf(params, "d", ID)) return SendClientMessage(playerid, Plava, "Koristenje: /izbaci [ID] ");
if(GetPVarInt(ID,"Clan") != GetPVarInt(playerid,"Lider")) return SendClientMessage(playerid,Plava,"Ne mozete izbaciti igraca iz druge org/mafije.");
new file[128];
format(file,sizeof(file),"GdjeVamSeSpremaAcc/%s.ini", ImeIgraca(ID));
dini_IntSet(file,"Clan",0);
SetPVarInt(ID,"Clan",0);
}
return true;
}

Takodje,objasnjenja za pojedine linije pogledajte gore!

Zelite napraviti chat za organizaciju/mafiju?
Nista lakse!

CMD:chat(playerid,params[])
{
new tekst [MAX_STRING];
if (sscanf(params, "s[90]", tekst)) SendClientMessage(playerid,Plava,  "Koristenje: /chat [text]");
else{
if( GetPVarInt(playerid,"Lider") == 1) {
new string[89]; format(string, sizeof(string), " Lider OrgJedan %s kaze: %s", ImeIgraca(playerid), params[0] );
return PorukaOrgJedan(Plava,string);
}
else
{
if( GetPVarInt(playerid,"Clan") == 1 ) {
new string[89]; format(string, sizeof(string), " Clan OrgJedan %s kaze: %s", ImeIgraca(playerid), params[0] );
return PorukaOrgJedan(Plava,string);
}
else  return SendClientMessage(playerid,Plava,"Niste clan OrgJedan!");
}
}
return true;
}

Pitate se sta je PorukaOrgJedan(Plava,string);

Potrebno je da napravimo kako ce slati poruku.

forward PorukaOrgJedan(Boja, const string[]);
public PorukaOrgJedan(Boja, const string[])
{
foreach(Player, i)
{
if (GetPVarInt(i,"Lider") == 1 || GetPVarInt(i,"Clan") == 1) SendClientMessage(i, Boja, string);
}
return true;
}


Samim pogledom u ovaj public sve bi vam trebalo biti jasno..


Pitate se kako napraviti vozila da samo jedna mafija/organizacija moze voziti?

Prvo pri vrhu vase scrite,gdje vam se nalaze ostali "new" dodajte new orgauto[4];

Zatim,ispod OnGameModeInit potrebno je stvoriti vozila za organizacije/mafije.

To bi izgledalo ovako:

orgauto[1]=AddStaticVehicleEx(487,121,21312,2131,112,17,17,30); --- pogledajte wikipediu za AddStaticVehicleEx
orgauto[2]=AddStaticVehicleEx(487,121,21312,2131,112,17,17,30); --- pogledajte wikipediu za AddStaticVehicleEx
orgauto[3]=AddStaticVehicleEx(487,121,21312,2131,112,17,17,30); --- pogledajte wikipediu za AddStaticVehicleEx

Zatim kako bi se lakse snalazili u scripti i da nam bude preglednije napravimo

stock OrgJedan(vozilo)
{
if(vozilo == orgauto[1] || vozilo == orgauto[2] || vozilo == orgauto[3] )
{
return 1;
}
return 0;
}


Ukoliko zelite dodavati jos vozila kod lilije  new orgauto[4]; ,broj [4] povecavate za jedan,znaci ako imate 6 vozila stavite broj 7,ali je potrebno da i kod stock OrgJedan(vozilo) dodate jos vozila..

Sada smo napravili vozila za mafije,ali zelimo da odbijemo ulaz igracima koji nisu clanovi te organizacije/mafije.

Ispod OnPlayerStateChange dodajte

new voziloID = GetPlayerVehicleID(playerid);
if(newstate == 2)
{
if(OrgJedan(voziloID))
{
if(GetPVarInt(playerid,"Lider") == 1 || GetPVarInt(playerid,"Clan") == 1)
{
return true;
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,Plava,"Niste clan OrgJedan!");
}
}
}

Takodje vam je potrebno da dodate sledeci stock jer bi vam izbacivalo error

stock ImeIgraca(playerid)
{
new ime[MAX_PLAYER_NAME];
GetPlayerName(playerid, ime, sizeof(ime));
return ime;
}


Ukoliko zelite napraviti da se igrac spawna u svojoj bazi ispod OnPlayerSpawn dodajte:

if(GetPVarInt(playerid,"Lider") == 1 || GetPVarInt(playerid,"Clan") )
{
SetPlayerPos(playerid, 123.2133,12312.2131,1231);
SetPlayerInterior(playerid, 0);
}


Potrebno je da definisete boju,ja sam koristio plavu pa ispod vasih ostalih #define-a dodajte #define Plava 0x375FFFFF

I zadnje sto trebate je da ispod OnPlayerConnect-a dodate

new file[128];
format(file, sizeof(file), "GdjeVamSeSpremaAcc/%s.ini", ImeIgraca(playerid));
SetPVarInt(playerid, "Lider", dini_Int(file, "Lider"));
SetPVarInt(playerid, "Clan", dini_Int(file, "Clan"));


Kao sto vidite koristio sam Zcmd,sscanf,dini,foreach itd,tako da bih se zahvalio onim akoji su to sve napravili!

Napomena: Gdje nisam pisao npr. "ovo stavite ispod OnPlayerSpawn" znaci da to stavljate izvan ostalih publica i sl..

NE GARANTUJEM da ce ovaj TUT 100% raditi,jer ja nisam isprobavao to.
Ako nekome nesta nije jasno neka pita,jer ja nisam objasnjavao sve u detalje!


Kade da go stavam ova ?


CMD:makelider(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,Plava,"Niste ovlasteni!");
new ID,level;
if(sscanf(params, "dd", ID, level)) return SendClientMessage(playerid, Plava, "Koristenje: /makelider [ID] [broj org]");
new file[128];
format(file,sizeof(file),"GdjeVamSeSpremaAcc/%s.ini", ImeIgraca(ID));
dini_IntSet(file,"Lider",level);
SetPVarInt(ID,"Lider",level);
return true;
}



,ova


CMD:pozovi(playerid, params[])
{
if(GetPVarInt(playerid,"Lider") < 1) return SendClientMessage(playerid,Plava,"Niste ovlasteni!");
new ID,level;
if(sscanf(params, "dd", ID, level)) return SendClientMessage(playerid, Plava, "Koristenje: /pozovi [ID] [broj org]");
if(level != GetPVarInt(playerid,"Lider")) return SendClientMessage(playerid,Plava,"Ne mozete pozvati igraca u drugu org/mafiju.");
new file[128];
format(file,sizeof(file),"GdjeVamSeSpremaAcc/%s.ini", ImeIgraca(ID));
dini_IntSet(file,"Clan",level);
SetPVarInt(ID,"Clan",level);
return true;
}


,ova

CMD:izbaci(playerid, params[])
{
if(GetPVarInt(playerid,"Lider") >= 1)
{
new ID;
if(sscanf(params, "d", ID)) return SendClientMessage(playerid, Plava, "Koristenje: /izbaci [ID] ");
if(GetPVarInt(ID,"Clan") != GetPVarInt(playerid,"Lider")) return SendClientMessage(playerid,Plava,"Ne mozete izbaciti igraca iz druge org/mafije.");
new file[128];
format(file,sizeof(file),"GdjeVamSeSpremaAcc/%s.ini", ImeIgraca(ID));
dini_IntSet(file,"Clan",0);
SetPVarInt(ID,"Clan",0);
}
return true;
}


forward PorukaOrgJedan(Boja, const string[]);
public PorukaOrgJedan(Boja, const string[])
{
foreach(Player, i)
{
if (GetPVarInt(i,"Lider") == 1 || GetPVarInt(i,"Clan") == 1) SendClientMessage(i, Boja, string);
}
return true;
}


stock OrgJedan(vozilo)
{
if(vozilo == orgauto[1] || vozilo == orgauto[2] || vozilo == orgauto[3] )
{
return 1;
}
return 0;
}

new voziloID = GetPlayerVehicleID(playerid);
if(newstate == 2)
{
if(OrgJedan(voziloID))
{
if(GetPVarInt(playerid,"Lider") == 1 || GetPVarInt(playerid,"Clan") == 1)
{
return true;
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,Plava,"Niste clan OrgJedan!");
}
}
}

stock ImeIgraca(playerid)
{
new ime[MAX_PLAYER_NAME];
GetPlayerName(playerid, ime, sizeof(ime));
return ime;
}
if(GetPVarInt(playerid,"Lider") == 1 || GetPVarInt(playerid,"Clan") )
{
SetPlayerPos(playerid, 123.2133,12312.2131,1231);
SetPlayerInterior(playerid, 0);
}
new file[128];
format(file, sizeof(file), "GdjeVamSeSpremaAcc/%s.ini", ImeIgraca(playerid));
SetPVarInt(playerid, "Lider", dini_Int(file, "Lider"));
SetPVarInt(playerid, "Clan", dini_Int(file, "Clan"));




Nisto ne te razumjem de ako moze preku team viever ova da mi go napravis,ako sakas da mi napravis baraj me na skajp filip.atanasov7,ili na facebook filip atanasov
F![L]!P 550

Kako ti ide fb profil da mi objasnis.Nesto mi bije jasno

Pozz samp jedno pitanje sta treba da mjenjam kad oću novu org posto je ovo za 1 pls

ali bre pod kojom da dodam ovo #include "Zcmd"
#include "sscanf2"
#include "dini"
#include "foreach"

Citat: Tommyâ,,¢ poslato Decembar 20, 2013, 22:49:54 POSLE PODNE
ali bre pod kojom da dodam ovo #include "Zcmd"
#include "sscanf2"
#include "dini"
#include "foreach"



PA na vrh skripte..OMG..gdje su ti Incice..kao #include a_samp..
OMG

To su includovi(biblioteke) njih stavljas na pocetak skipte..

[FS] Bank Sistem
[TuT] Array Sistem (Napredna)


"Pa krenite na mene i provesce te se super ko kapetan Kuka kada levom brise dupe"

www.denis-lapi.com

eh sad kada sam to dodao gde cu da pocnem da pravim organizaciju ?
Ima ono OnPlayerSpawn,OnPlayerDeath gde da stavim ?
Poslednja Izmena: Decembar 21, 2013, 13:49:17 POSLE PODNE od Tommyâ„¢

Auuu sine, batali ti organizacije, nauci prvo osnove, ako ne znas gde se stavljaju includovi, batali org-e...Kreni od nekih osnovnih stvari

[FS] Bank Sistem
[TuT] Array Sistem (Napredna)


"Pa krenite na mene i provesce te se super ko kapetan Kuka kada levom brise dupe"

www.denis-lapi.com