Skripta: TechLand
Ovaj mod ima par bugova ,da li ih neko zna rijesiti
1.Tekstura sa lijece strane(obrisao sam u server.cfg J-TextDrawHelper ,ali ostaje marker kvadrat kad udjes u vozilo?Kako i gdje a se ukloni?
2.Igraci koji nisu admini i gs imaju iznad natpis admin na duznosti?
3.Svi mogu da koriste komandu /makestan, /vila, /Velikakuca , kako da se napravi da samo admini mogu to koristiti
PRIMJER ZA KUCE I STANOVE
CMD:malakuca(playerid, params[])
{
new string[128];
new NewHouseID = SpawnedHouses+1;
GetPlayerPos(playerid, Houses[NewHouseID][hExteriorX], Houses[NewHouseID][hExteriorY], Houses[NewHouseID][hExteriorZ]);
PlayerInfo[playerid][pHouseExterior]++;
format( string, sizeof( string ), "Exterijer postavljen (X: %f, Y: %f, Z: %f).", Houses[NewHouseID][hExteriorX], Houses[NewHouseID][hExteriorY], Houses[NewHouseID][hExteriorZ]);
SendClientMessage( playerid, WHITE, string);
GetPlayerPos(playerid, Houses[NewHouseID][hInteriorX], Houses[NewHouseID][hInteriorY], Houses[NewHouseID][hInteriorZ]);
PlayerInfo[playerid][pHouseInterior]++;
Houses[NewHouseID][hInteriorID] = GetPlayerInterior( playerid );
format( string, sizeof( string ), "interijer postavljen! (X: %f, Y: %f, Z: %f).",Houses[NewHouseID][hInteriorX], Houses[NewHouseID][hInteriorY], Houses[NewHouseID][hInteriorZ]);
SendClientMessage( playerid, WHITE, string);
if(NewHouseID >= MAX_HOUSES) {
SendClientMessage( playerid, WHITE, "Vec ima previse kuca!" );
}
else {
format( string, sizeof( string ), "Houses/House_%d.ini", NewHouseID);
if(!fexist( string) ) {
new id;
SpawnedHouses++;
Houses[NewHouseID][HousePrice] = 40000;
Houses[NewHouseID][hLevel] = 4;
strmid(Houses[NewHouseID][hOpis], "Mala Kuca", 0, strlen("Mala Kuca"), 255);
Houses[NewHouseID][hVec] = 418;
Houses[NewHouseID][hType] = 0;
Houses[NewHouseID][hOwned] = 0;
format(Houses[NewHouseID][hOwner], 255, "Niko" );
Houses[NewHouseID][LockStatus] = 0;
Houses[NewHouseID][HPickupID] = AddStaticPickup(1273, 1, Houses[NewHouseID][hExteriorX], Houses[NewHouseID][hExteriorY], Houses[NewHouseID][hExteriorZ]);
dini_Create( string);
dini_IntSet( string, "InteriorID", Houses[NewHouseID][hInteriorID]);
dini_FloatSet( string, "InteriorX", Houses[NewHouseID][hInteriorX]);
dini_FloatSet( string, "InteriorY", Houses[NewHouseID][hInteriorY]);
dini_FloatSet( string, "InteriorZ", Houses[NewHouseID][hInteriorZ]);
dini_IntSet( string, "HousePrice", 40000 );
dini_IntSet( string, "ExteriorID", 0 );
dini_FloatSet( string, "ExteriorX", Houses[NewHouseID][hExteriorX]);
dini_FloatSet( string, "ExteriorY", Houses[NewHouseID][hExteriorY]);
dini_FloatSet( string, "ExteriorZ", Houses[NewHouseID][hExteriorZ]);
dini_IntSet( string, "VaultMoney", -1);
dini_IntSet( string, "HouseCocaine", -1);
dini_IntSet( string, "HousePot", -1);
dini_IntSet( string, "HouseMaterials", -1);
dini_Set( string, "Owner", "Niko" );
dini_IntSet(string, "Level", 5);
dini_IntSet( string, "LockStatus", Houses[NewHouseID][LockStatus]);
dini_IntSet( string, "hVec", Houses[NewHouseID][hVec]);
dini_IntSet( string, "hVcol1", Houses[NewHouseID][hVcol1]);
dini_IntSet( string, "hVcol2", Houses[NewHouseID][hVcol2]);
dini_Set( string, "Addres", Houses[NewHouseID][hAddres]);
dini_Set( string, "Opis", Houses[NewHouseID][hOpis]);
dini_IntSet( string, "Owned", Houses[NewHouseID][hOwned]);
PlayerInfo[playerid][pHouseExterior]--;
PlayerInfo[playerid][pHouseInterior]--;
OnPropTextdrawUpdate(1,id);
format(string, sizeof(string), "Uspjesno postavljena kuca | ID: %i",NewHouseID);
SendClientMessage(playerid, WHITE, string);
return 1;
}
}
return 1;
EVO I ZA ADMINA
if(!strcmp(cmdtext, "/aon", true))
{
if(IsPlayerConnected(playerid)) {
if(gPlayerLogged[playerid] == 0) {
SendClientMessage(playerid, COLOR_GREY, " Moras biti prijavljen !");
return 1;
}
if(PlayerInfo[playerid][pAdmin] > 0) {
if(AdminDuty[playerid] == 0) {
new Admin3DText[128];
Admin3DText = "Admin na duznosti!\n(Ne Ometaj!)";
new Text3D:Created3D = Create3DTextLabel(Admin3DText,SVETLOPLAVA,0.0,0.0,0.0,50.0,0);
Attach3DTextLabelToPlayer(Created3D,playerid,0.0,0.0,0.7);
AdminDuty[playerid] = 1;
SetPlayerArmour(playerid, 999);
SetPlayerHealth(playerid, 999);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Admin {FFFFFF}%s {48E31C}je sada na duznosti!",sendername);
ABroadCast(COLOR_ASKQ,string,1);
}
else if(AdminDuty[playerid] == 1) {
AdminDuty[playerid] = 0;
SetPlayerArmour(playerid, 0);
SetPlayerHealth(playerid, 100);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Admin {FFFFFF}%s {48E31C}vise nije na duznosti!",sendername);
ABroadCast(COLOR_ASKQ,string,1);
return 1;
}
}
else {
SendClientMessage(playerid, COLOR_GREY, " Nisi Admin !");
return 1;
}
}
return 1;
}
if(strcmp(cmd, "/aoff", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 1)
{
SetPlayerArmour(playerid, 0.0);
SetPlayerHealth(playerid, 100.0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Admin {FFFFFF}%s {48E31C}vise nije na duznosti!",sendername);
SendClientMessage(playerid,ZELENKASTA, string);
new Admin3DText;
Delete3DTextLabel(Text3D:Admin3DText);
AdminDuty[playerid] = 0;
return 1;
}
else
{
SendClientMessage(playerid, WHITE, " Nisi admin!");
}
return 1;
}
1. Ono sto ti pokazuje za Textdraw to je FS, izbrisi je tamo iz server.cfg...
2. Evo ti moja komanda za /aon i /aoff
//--------------------------[admin on duty]---------------------------------------------------
if (strcmp(cmd, "/aon", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
SetPlayerArmour(playerid, 100);
admin[playerid] = Create3DTextLabel("Na Admin Duznosti! (Ne ometaj!)",COLOR_LIGHTBLUE,30.0,40.0,50.0,40.0,0);
SetPlayerHealth(playerid, 100);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s je sada na admin duznosti!", sendername);
Attach3DTextLabelToPlayer(admin[playerid], playerid, 0.0, 0.0, 0.5);
SendAdminMessage(COLOR_GREEN,string,1);
}
return 1;
}
A ovo gore na vrh skripte gdje su ti definicije sa new new Text3D:admin[MAX_PLAYERS];
---------------------------Evo ti za /aoff
if (strcmp(cmd, "/aoff", true)==0)
{
if(PlayerInfo[playerid][pAdmin] >= 1)
{
SetPlayerArmour(playerid, 0);
Delete3DTextLabel(admin[playerid]);
SetPlayerHealth(playerid, 100);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Nisi vise na admin duznosti!", playerid, sendername);
SendClientMessage(playerid, COLOR_YELLOW,string,1);
}
return 1;
}