Wunderschönen Guten Abend ,
So ich versuch nun mal hier mein glück ich bekomme es seid 3 Tagen nicht auf die Reihe . Undzwar handelt es sich um die SBizz wenn ich mir eins Kaufe z.B das Advertise SBiz dann kommt
ein neues 3DTextLabel wo dann Inhaber und so steht . Aber das alte 3DTextLabel Zu Verkaufen verschwindet nicht das ist ja in der sbizz.cfg angegeben . Außerdem updatet sich nicht das
Pickup vom verkaufspickup zum Informations Pickup !!
for(new h = 0; h < sizeof(SBizzInfo); h++)
{
if(SBizzInfo[h][sbOwned] == 0)
{
format(sbizstring, sizeof(sbizstring), "%s\nDieses Business steht zum verkauf!\nPreis: $%d\nLevel: %d\nZum kaufen gib /buybiz ein",SBizzInfo[h][sbMessage],SBizzInfo[h][sbBuyPrice],SBizzInfo[h][sbLevelNeeded]);
text_sbizz[h] = Create3DTextLabel(sbizstring,0xFFFFFFAA,SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ]+1,15,0,1);
Update3DTextLabelText(text_sbizz[h],0xFFFFFFAA,sbizstring);
AddStaticPickup(1272, 1, SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ]);
pickups++;
}
if(SBizzInfo[h][sbOwned] == 1)
{
format(sbizstring, sizeof(sbizstring), "%s\nInhaber: %s\nTeilhaber: %s\nEintrittspreis: $%d \nLevel: %d \nBenutze /enter um das Business zu betreten",SBizzInfo[h][sbMessage],SBizzInfo[h][sbOwner],SBizzInfo[h][sbExtortion],SBizzInfo[h][sbEntranceCost],SBizzInfo[h][sbLevelNeeded]);
text_sbizz[h] = Create3DTextLabel(sbizstring,0xFFFFFFAA,SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ]+1,15,0,1);
Update3DTextLabelText(text_sbizz[h],0xFFFFFFAA,sbizstring);
AddStaticPickup(1239, 1, SBizzInfo[h][sbEntranceX], SBizzInfo[h][sbEntranceY], SBizzInfo[h][sbEntranceZ]);
pickups++;
}
}
public LoadSBizz()
{
new arrCoords[16][64];
new strFromFile2[256];
new File: file = fopen("sbizz.cfg", io_read);
if (file)
{
new idx;
while (idx < sizeof(SBizzInfo))
{
fread(file, strFromFile2);
split(strFromFile2, arrCoords, '|');
SBizzInfo[idx][sbOwned] = strval(arrCoords[0]);
strmid(SBizzInfo[idx][sbOwner], arrCoords[1], 0, strlen(arrCoords[1]), 255);
strmid(SBizzInfo[idx][sbMessage], arrCoords[2], 0, strlen(arrCoords[2]), 255);
strmid(SBizzInfo[idx][sbExtortion], arrCoords[3], 0, strlen(arrCoords[3]), 255);
SBizzInfo[idx][sbEntranceX] = floatstr(arrCoords[4]);
SBizzInfo[idx][sbEntranceY] = floatstr(arrCoords[5]);
SBizzInfo[idx][sbEntranceZ] = floatstr(arrCoords[6]);
SBizzInfo[idx][sbLevelNeeded] = strval(arrCoords[7]);
SBizzInfo[idx][sbBuyPrice] = strval(arrCoords[8]);
SBizzInfo[idx][sbEntranceCost] = strval(arrCoords[9]);
SBizzInfo[idx][sbTill] = strval(arrCoords[10]);
SBizzInfo[idx][sbLocked] = strval(arrCoords[11]);
SBizzInfo[idx][sbInterior] = strval(arrCoords[12]);
SBizzInfo[idx][sbProducts] = strval(arrCoords[13]);
SBizzInfo[idx][sbMaxProducts] = strval(arrCoords[14]);
SBizzInfo[idx][sbPriceProd] = strval(arrCoords[15]);
idx++;
}
fclose(file);
}
return 1;
}
Hier der Buybiz und Sellbiz Befehl :
//=======================================================BIZ===================================================
if(strcmp(cmd, "/buybiz", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new Float:oldposx, Float:oldposy, Float:oldposz;
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
if(PlayerInfo[playerid][pPbiskey] != 255)
{
SendClientMessage(playerid, COLOR_WHITE, " Du besitzt schon ein Business, tipp /sellbiz wenn du dieses willst.");
return 1;
}
for(new b = 0; b < sizeof(SBizzInfo); b++)
{
if(IsPlayerInRangeOfPoint(playerid,2.0, SBizzInfo[b][sbEntranceX], SBizzInfo[b][sbEntranceY], SBizzInfo[b][sbEntranceZ]) && SBizzInfo[b][sbOwned] == 0)
{
if(PlayerInfo[playerid][pLevel] < SBizzInfo[b][sbLevelNeeded])
{
format(string, sizeof(string), "Du benötigst Level %d um es erwerben zu können",SBizzInfo[b][sbLevelNeeded]);
SendClientMessage(playerid, COLOR_GRAD5, string);
return 1;
}
if(GetPlayerMoney(playerid) > SBizzInfo[b][sbBuyPrice])
{
PlayerInfo[playerid][pPbiskey] = b+100;
SBizzInfo[b][sbOwned] = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(SBizzInfo[b][sbOwner], sendername, 0, strlen(sendername), 255);
GivePlayerMoney(playerid,-SBizzInfo[b][sbBuyPrice]);
PlayerPlayMusic(playerid);
SendClientMessage(playerid, COLOR_WHITE, "Gratulation für dein neues Gewerbe.");
SendClientMessage(playerid, COLOR_WHITE, "Gib /help ein, um Hilfe für dein neues Gewerbe zu bekommen.");
DateProp(playerid);
format(sbizstring, sizeof(sbizstring), "%s\nInhaber: %s\nTeilhaber: %s\nEintrittspreis: $%d \nLevel: %d \nBenutze /enter um das Business zu betreten",SBizzInfo[b][sbMessage],SBizzInfo[b][sbOwner],SBizzInfo[b][sbExtortion],SBizzInfo[b][sbEntranceCost],SBizzInfo[b][sbLevelNeeded]);
Update3DTextLabelText(text_sbizz[b],0xFFFFFFAA,sbizstring);
OnPropUpdate();
PlayerUpdate(playerid);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "Du hast nicht genug Geld, um das Gewerbe kaufen zu können.");
return 1;
}
}
}
for(new b = 0; b < sizeof(BizzInfo); b++)
{
if(IsPlayerInRangeOfPoint(playerid,2.0, BizzInfo[b][bEntranceX], BizzInfo[b][bEntranceY], BizzInfo[b][bEntranceZ]) && BizzInfo[b][bOwned] == 0)
{
if(PlayerInfo[playerid][pLevel] < BizzInfo[b][bLevelNeeded])
{
format(string, sizeof(string), "Du benötigst mindestens Level %d, um es kaufen zu können",BizzInfo[b][bLevelNeeded]);
SendClientMessage(playerid, COLOR_GRAD5, string);
return 1;
}
if(GetPlayerMoney(playerid) > BizzInfo[b][bBuyPrice])
{
PlayerInfo[playerid][pPbiskey] = b;
BizzInfo[b][bOwned] = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(BizzInfo[b][bOwner], sendername, 0, strlen(sendername), 255);
GivePlayerMoney(playerid,-BizzInfo[b][bBuyPrice]);
PlayerPlayMusic(playerid);
SetPlayerInterior(playerid,BizzInfo[b][bInterior]);
PlayerInfo[playerid][pInt] = BizzInfo[b][bInterior];
SetPlayerPos(playerid,BizzInfo[b][bExitX],BizzInfo[b][bExitY],BizzInfo[b][bExitZ]);
GameTextForPlayer(playerid, "~w~Willkommen~n~Um es zu Verlassen tipp /exit (An der Tuer) ein", 5000, 3);
PlayerInfo[playerid][pInt] = BizzInfo[b][bInterior];
PlayerInfo[playerid][pLocal] = b ;
SendClientMessage(playerid, COLOR_WHITE, "Gratulation für dein neues Gewerbe.");
SendClientMessage(playerid, COLOR_WHITE, "Gib /help ein, um Hilfe für dein neues Gewerbe zu bekommen.");
DateProp(playerid);
//Label Update
format(bizstring, sizeof(bizstring), "%s\nInhaber: %s\nTeilhaber: %s\nEintrittspreis: $%d \nLevel: %d \nBenutze /enter um das Business zu betreten",BizzInfo[b][bMessage],BizzInfo[b][bOwner],BizzInfo[b][bExtortion],BizzInfo[b][bEntranceCost],BizzInfo[b][bLevelNeeded]);
Update3DTextLabelText(text_bizz[b],0xFFFFFFAA,bizstring);
//Speichern
OnPropUpdate();
PlayerUpdate(playerid);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "Du hast nicht genug Geld, um das Gewerbe kaufen zu können.");
return 1;
}
}
}
}
return 1;
}
if(strcmp(cmd, "/sellbiz", true) == 0)
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, playername, sizeof(playername));
if(PlayerInfo[playerid][pPbiskey] == 255)
{
SendClientMessage(playerid, COLOR_WHITE, "Du besitzt kein Gewerbe.");
return 1;
}
if(PlayerInfo[playerid][pMarried] > 0)
{
SendClientMessage(playerid, COLOR_GREY, " Du bist Verheiratet, also kannst du dein Haus nicht verkaufen !");
return 1;
}
if(PlayerInfo[playerid][pPbiskey] >= 100 && strcmp(playername, SBizzInfo[PlayerInfo[playerid][pPbiskey]-100][sbOwner], true) == 0)
{
new bouse = PlayerInfo[playerid][pPbiskey]-100;
GivePlayerMoney(playerid,SBizzInfo[bouse][sbTill]);
SBizzInfo[bouse][sbLocked] = 1;
SBizzInfo[bouse][sbOwned] = 0;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(SBizzInfo[bouse][sbOwner], "The State", 0, strlen("The State"), 255);
strmid(SBizzInfo[bouse][sbExtortion], "No-one", 0, strlen("No-one"), 255);
ConsumingMoney[playerid] = 1;
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
format(string, sizeof(string), "~w~Gluekwunsch~n~ Du hast dein Geschaeft verkauft. Premie ~n~~g~$%d", SBizzInfo[bouse][sbTill]);
GameTextForPlayer(playerid, string, 10000, 3);
SBizzInfo[bouse][sbTill] = 0;
PlayerInfo[playerid][pPbiskey] = 255;
//Labe Update
format(sbizstring, sizeof(sbizstring), "%s\nDieses Business steht zum verkauf!\nPreis: $%d\nLevel: %d\nZum kaufen gib /buybiz ein",SBizzInfo[bouse][sbMessage],SBizzInfo[bouse][sbBuyPrice],SBizzInfo[bouse][sbLevelNeeded]);
Update3DTextLabelText(text_sbizz[bouse],0xFFFFFFAA,sbizstring);
//Speichern
OnPropUpdate();
PlayerUpdate(playerid);
return 1;
}
if(strcmp(playername, BizzInfo[PlayerInfo[playerid][pPbiskey]][bOwner], true) == 0)
{
new bouse = PlayerInfo[playerid][pPbiskey];
BizzInfo[bouse][bLocked] = 1;
BizzInfo[bouse][bOwned] = 0;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(BizzInfo[bouse][bOwner], "The State", 0, strlen("The State"), 255);
strmid(BizzInfo[bouse][bExtortion], "No-one", 0, strlen("No-one"), 255);
ConsumingMoney[playerid] = 1;
GivePlayerMoney(playerid,BizzInfo[bouse][bTill]);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
format(string, sizeof(string), "~w~Gluekwunsch~n~ Du hast dein Geschaeft verkauft. Premie ~n~~g~$%d", BizzInfo[bouse][bTill]);
GameTextForPlayer(playerid, string, 10000, 3);
BizzInfo[bouse][bTill] = 0;
PlayerInfo[playerid][pPbiskey] = 255;
//Labe Update
new string3[160];
format(string3, sizeof(string3), "%s\nDieses Business steht zum verkauf!\nPreis: $%d\nLevel: %d\nZum kaufen gib /buybiz ein",SBizzInfo[bouse][sbMessage],SBizzInfo[bouse][sbBuyPrice],SBizzInfo[bouse][sbLevelNeeded]);
Update3DTextLabelText(text_bizz[bouse],0xFFFFFFAA,string3);
//Speichern
OnPropUpdate();
PlayerUpdate(playerid);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "Dir gehört kein Geschäfft.");
}
}
return 1;
}