Jump to content
  • 0

pomoc Pomoc s jedným obrovským problémom prosím :/


ERIK518

Dotaz

Čaute potreboval by som vedieť že prečo keď som si urobil Property Systém tak začalo napr. oznamovacie správy niekoľko krát ich vyhodí .. aj 6 krát :// aj autá nevytvorí jedno ako má ale hneď 2-3 .. fakt neviem v čom je problém .. ak bude treba priložím aj kód

 

Vopred ďakujem za odpoveď :)

Link to comment
Share on other sites

6 odpovědí na tuto otázku

Recommended Posts

  • 0

 

 

 

// Property Systém

for(new p=0;p<PropertyCount+1;p++)

{

if(dialogid == PropertyInfo[p][Dialog])

{

if(response == 1)

{

if(listitem == 0)// kúpiť

{

if(Informace[playerid][Cas] < 3000) return SCM(playerid, RED, "Nemáš dostatok nahratých hodín !! (Potrebuješ 50 hodín nahratých !!)");

if(GetPlayerMoney(playerid) < PropertyInfo[p][Cena]) return SendClientMessage(playerid, 0xFFFFFFFF, "Máš málo peňazí!");

if(!IsPropertyForSale(p)) return SendClientMessage(playerid, 0xFFFFFFFF, "Túto firmu už niekto vlastní!");

new s[128];

format(s,128,"Property/%d.txt",p);

dini_Set(s,"Owner",PropertyPlayerName(playerid));

GivePlayerMoney(playerid, -PropertyInfo[p][Cena]);

SendClientMessage(playerid, 0xFFFFFFFF, "Kúpil si si firmu!");

new sx[100];

format(sx,100,"Firma hráča ERIK518!!\r\nFirma č.%d\r\nMajiteľ: %s\r\nCena %d",p,dini_Get(s,"Owner"),PropertyInfo[p][Cena]);

Update3DTextLabelText(PropertyInfo[p][Text],GREEN,sx);

DestroyPickup(PropertyInfo[p][Pickuppp]);

PropertyInfo[p][Pickuppp] = CreatePickup(1274,1,PropertyInfo[p][p_X],PropertyInfo[p][p_Y],PropertyInfo[p][p_Z]);

ShowPlayerDialogEx(playerid, D_MAJITEL11, LIST,"Nastaviť typ firmy","Tuning\nLaky\nOpravovňa","Použiť","Zavrieť");

}

else if(listitem == 1)//majiteľ

{

if(!IsPlayerPropertyOwner(playerid,p)) return SendClientMessage(playerid, 0xFFFFFFFF, "Táto firma nieje tvoja!");

ShowPlayerDialog(playerid, D_MAJITEL, LIST,"Majiteľ","Predať mestu\nPredať hráčovi\nZmeniť typ firmy\nZisk\nZmeniť cenu za služby","Použiť","Zavrieť");

}

else if(listitem == 2) //vykradnúť

{

kradez = random(3);

switch(kradez)

{

case 0:

{

for(new p=0;p<PropertyCount+1;p++)

{

if(IsPlayerInRangeOfPoint(playerid,2,PropertyInfo[p][p_X],PropertyInfo[p][p_Y],PropertyInfo[p][p_Z]))

{

new ssr[256];

format(ssr, 256, "Hráč %s sa pokúsil vykradnúť firmu č.%d! Lúpež bola ale neúspešna a prišiel o život!",Jmeno(playerid),p);

SCMTA(ORANGE,ssr);

SetPlayerHealth(playerid, 0);

}

}

}

case 1:

{

for(new p=0;p<PropertyCount+1;p++)

{

if(IsPlayerInRangeOfPoint(playerid,2,PropertyInfo[p][p_X],PropertyInfo[p][p_Y],PropertyInfo[p][p_Z]))

{

new sst[256];

format(sst, 256, "Hráč %s sa pokúsil vykradnúť firmu č.%d! Lúpež bola úspešne odniesol si celý zisk firmy (%d$)",Jmeno(playerid),p,PropertyInfo[p][Zisk]);

SCMTA(ORANGE,sst);

//GivePlayerMoney(playerid, Zisk[p]);

}

}

}

case 2:

{

for(new p=0;p<PropertyCount+1;p++)

{

if(IsPlayerInRangeOfPoint(playerid,2,PropertyInfo[p][p_X],PropertyInfo[p][p_Y],PropertyInfo[p][p_Z]))

{

new ssg[256];

format(ssg, 256, "Hráč %s sa pokúsil vykradnúť firmu č.%d! Ulúpil polovicu zisky s firmy (%d$)",Jmeno(playerid),p,PropertyInfo[p][Zisk]);

SCMTA(ORANGE,ssg);

//GivePlayerMoney(playerid, Zisk/2);

//Zisk[p] = /2;

}

}

}

case 3:

{

for(new p=0;p<PropertyCount+1;p++)

{

if(IsPlayerInRangeOfPoint(playerid,2,PropertyInfo[p][p_X],PropertyInfo[p][p_Y],PropertyInfo[p][p_Z]))

{

new sshh[256];

format(sshh, 256, "Hráč %s sa pokúsil vykradnúť firmu č.%d! Páchateľ ušiel s miesta činu bez jediného $",Jmeno(playerid),p);

SCMTA(ORANGE,sshh);

}

}

}

}

}

}

}

}

//----

if(dialogid == D_MAJITEL)

{

if(response)

{

switch(listitem)

{

case 0: // predať mestu

{

for(new p=0;p<PropertyCount+1;p++)

{

if(!IsPlayerPropertyOwner(playerid,p)) return SendClientMessage(playerid, 0xFFFFFFFF, "Táto firma nieje tvoja!");

new s[128];

format(s,128,"Property/%d.txt",p);

dini_Set(s,"Owner","none");

GivePlayerMoney(playerid, PropertyInfo[p][Cena]/2);

SendClientMessage(playerid, 0xFFFFFFFF, "Firma predaná mestu, bola ti vrátena polovica ceny firmy!");

new sx[100];

format(sx,100,"Firma hráča ERIK518!!\r\nFirma č.%d\r\nMajiteľ: Mesto\r\nCena: %d",p,PropertyInfo[p][Cena]);

Update3DTextLabelText(PropertyInfo[p][Text],GREEN,sx);

DestroyPickup(PropertyInfo[p][Pickuppp]);

PropertyInfo[p][Pickuppp] = CreatePickup(1274,1,PropertyInfo[p][p_X],PropertyInfo[p][p_Y],PropertyInfo[p][p_Z]);

}

}

case 1: // predať hráčovi

{

ShowPlayerDialogEx(playerid, D_PRENAHRA, INPUT,"Prdaj firmy inému hráčovi","Zadaj dole ID hráča ktorému chceš predať firmu!!","Ďalej","Zrušiť");

}

case 2: // zmeniť typ firmy

{

ShowPlayerDialogEx(playerid, D_MAJITEL1, LIST,"Zmeniť typ firmy","Tuning\nLaky\nOpravovňa","Použiť","Zavrieť");

}

case 3: // Zisk

{

for(new p=0;p<PropertyCount+1;p++)

{

new fff[256];

format(fff, 256, "Zisk -->> %d <<--\nVybrať zisk",PropertyInfo[p][Zisk]);

ShowPlayerDialogEx(playerid, D_ZISK, LIST,"Zisk firmy",fff,"Zavrieť","");

}

}

case 4: // Zmeniť cenu za služby

{

ShowPlayerDialogEx(playerid, D_ZMENACENY, INPUT,"Zmeniť cenu za služby","Napíš dole cenu za ktorú budeš predávať služby vo firme!","Ďalej","Zrušiť");

}

}

}

}

//----Zmeniť cenu za služby

if(dialogid == D_ZMENACENY)

{

if(response)

{

for(new p=0;p<PropertyCount+1;p++)

{

PropertyInfo[p][sumaa] = strval(inputtext);

if(!strval(inputtext)) return ShowPlayerDialogEx(playerid, D_ZMENACENY, INPUT,"Zmeniť cenu za služby","Musíš napísať cenu!!\nNapíš dole cenu za ktorú budeš predávať služby vo firme!","Ďalej","Zrušiť");

new s[128];

format(s,128,"Property/%d.txt",p);

dini_IntSet(s,"Cena",PropertyInfo[p][sumaa]);

new sss[64];

format(sss, 64, "Úspešne si si zmenil cenu za služby na %d",PropertyInfo[p][sumaa]);

SCM(playerid,GREEN,sss);

}

}

}

//--- Zisk

if(dialogid == D_ZISK)

{

if(response)

{

switch(listitem)

{

case 1: // vybrať zisk

{

for(new p=0;p<PropertyCount+1;p++)

{

GivePlayerMoney(playerid, PropertyInfo[p][Zisk]);

PropertyInfo[p][Zisk] = 0;

new s[128];

format(s,128,"Property/%d.txt",p);

dini_IntSet(s,"Zisk",PropertyInfo[p][Zisk]);

SCM(playerid, GREEN, "Úspešne si si vybral zisk s firmy!");

}

}

}

}

}

//--- predaj firmy inému hráčovi

if(dialogid == D_PRENAHRA)

{

if(response)

{

iddd = strval(inputtext);

if(!IsPlayerConnected(playerid)) return SCM(playerid, RED, "Tento hráč nieje pripojený na servery!!");

else if(!strval(inputtext)) return ShowPlayerDialogEx(playerid, D_PRENAHRA, INPUT,"Prdaj firmy inému hráčovi","Zadaj dole ID hráča ktorému chceš predať firmu!!","Ďalej","Zrušiť");

//else if(!IsNumeric(inputtext)) return ShowPlayerDialogEx(playerid, D_PRENAHRA, INPUT,"Prdaj firmy inému hráčovi","Zadať ide len číslene hodnoty!!\nZadaj dole ID hráča ktorému chceš predať firmu!!","Ďalej","Zrušiť");

else{

ShowPlayerDialogEx(playerid, D_PRENAHRA2, INPUT,"Predaj firmy inému hráčovi","Zadaj cenu za ktorú chceš predať hráčovi firmu !!","Dokončiť","Zrušiť");

}

}

}

//---- predaj firmy inému hráčovi 2

if(dialogid == D_PRENAHRA2)

{

if(response)

{

suma = strval(inputtext);

if(!strval(inputtext)) return ShowPlayerDialogEx(playerid, D_PRENAHRA2, INPUT,"Predaj firmy inému hráčovi","Zadaj dole sumu za ktorú chceš predať firmu!!","Ďalej","Zrušiť");

//else if(!IsNumeric(inputtext)) return ShowPlayerDialogEx(playerid, D_PRENAHRA2, INPUT,"Prdaj firmy inému hráčovi","Zadať ide len číslene hodnoty!!\nZadaj dole sumu za ktorú chceš predať firmu!!","Ďalej","Zrušiť");

else{

new ttt[256];

format(ttt, 256,"Chceš kúpiť firmu od hráča %s za %d ?",Jmeno(playerid),suma);

ShowPlayerDialogEx(iddd, D_PREHNAHRA3, BOX, "Kúpa firmy od hráča",ttt,"Kúpiť","Zrušiť");

}

}

}

//---- kúpa firmy od iného hráča

if(dialogid == D_PRENAHRA2)

{

if(response)

{

for(new p=0;p<PropertyCount+1;p++)

{

if(GetPlayerMoney(playerid) < suma) return SCM(playerid, ORANGE, "Nemôžeš kúpiť túto firmu pretože nemáš dostatok penazí !!");

else{

GivePlayerMoney(playerid, -suma);

GivePlayerMoney(iddd, suma);

SCM(iddd, GREEN, "Úspešne si kúpil firmu !");

SCM(playerid, GREEN, "Úspešne si predal firmu !");

new s[128];

format(s,128,"Property/%d.txt",p);

dini_Set(s,"Owner",Jmeno(iddd));

new sx[100];

format(sx,100,"Firma hráča ERIK518!!\r\nFirma č.%d\r\nMajiteľ: %s\r\nCena %d",teext,p,dini_Get(s,"Owner"),PropertyInfo[p][Cena]);

Update3DTextLabelText(PropertyInfo[p][Text],GREEN,sx);

}

}

}

}

//--- Zmena typu firmy

if(dialogid == D_MAJITEL1)

{

if(response)

{

switch(listitem)

{

case 0:

{

for(new p=0;p<PropertyCount+1;p++)

{

if(GetPlayerMoney(playerid) < 2000000) return SCM(playerid, RED, "Nemáš dostatok peňazí na zmenu firmy !! Potrebuješ 2.000.000$");

PropertyTyp[p][tuning] = 1;

PropertyTyp[p][laky] = 0;

PropertyTyp[p][oprava] = 0;

GivePlayerMoney(playerid, -2000000);

SCM(playerid, GREEN, "Úspešne si zmenil tym firmy na {FF0000}Tuningáreň!");

RemovePlayerMapIcon(playerid, 2);

RemovePlayerMapIcon(playerid, 3);

SetPlayerMapIcon(playerid, 1,PropertyInfo[p][p_X],PropertyInfo[p][p_Y],PropertyInfo[p][p_Z], 27, MAPICON_LOCAL);

}

}

case 1:

{

for(new p=0;p<PropertyCount+1;p++)

{

if(GetPlayerMoney(playerid) < 2000000) return SCM(playerid, RED, "Nemáš dostatok peňazí na zmenu firmy !! Potrebuješ 2.000.000$");

PropertyTyp[p][laky] = 1;

PropertyTyp[p][tuning] = 0;

PropertyTyp[p][oprava] = 0;

GivePlayerMoney(playerid, -2000000);

SCM(playerid, GREEN, "Úspešne si zmenil tym firmy na {FF0000}Lakovňu!");

RemovePlayerMapIcon(playerid, 1);

RemovePlayerMapIcon(playerid, 2);

SetPlayerMapIcon(playerid, 2,PropertyInfo[p][p_X],PropertyInfo[p][p_Y],PropertyInfo[p][p_Z], 63, MAPICON_LOCAL);

}

}

case 2:

{

for(new p=0;p<PropertyCount+1;p++)

{

if(GetPlayerMoney(playerid) < 2000000) return SCM(playerid, RED, "Nemáš dostatok peňazí na zmenu firmy !! Potrebuješ 2.000.000$");

PropertyTyp[p][oprava] = 1;

PropertyTyp[p][laky] = 0;

PropertyTyp[p][tuning] = 0;

GivePlayerMoney(playerid, -2000000);

SCM(playerid, GREEN, "Úspešne si zmenil tym firmy na {FF0000}Opraváreň!");

RemovePlayerMapIcon(playerid, 1);

RemovePlayerMapIcon(playerid, 2);

SetPlayerMapIcon(playerid, 3,PropertyInfo[p][p_X],PropertyInfo[p][p_Y],PropertyInfo[p][p_Z], 34, MAPICON_LOCAL);

}

}

}

}

}

//--- Nastavenie typu firmy

if(dialogid == D_MAJITEL11)

{

if(response)

{

switch(listitem)

{

case 0:

{

for(new p=0;p<PropertyCount+1;p++)

{

PropertyTyp[p][tuning] = 1;

PropertyTyp[p][laky] = 0;

PropertyTyp[p][oprava] = 0;

SCM(playerid, GREEN, "Úspešne si nastavil typ firmy na {FF0000}Tuningáreň!");

RemovePlayerMapIcon(playerid, 2);

RemovePlayerMapIcon(playerid, 3);

SetPlayerMapIcon(playerid, 1,PropertyInfo[p][p_X],PropertyInfo[p][p_Y],PropertyInfo[p][p_Z], 27, MAPICON_LOCAL);

}

}

case 1:

{

for(new p=0;p<PropertyCount+1;p++)

{

PropertyTyp[p][laky] = 1;

PropertyTyp[p][tuning] = 0;

PropertyTyp[p][oprava] = 0;

SCM(playerid, GREEN, "Úspešne si nastavil tym firmy na {FF0000}Lakovňu!");

RemovePlayerMapIcon(playerid, 1);

RemovePlayerMapIcon(playerid, 2);

SetPlayerMapIcon(playerid, 2,PropertyInfo[p][p_X],PropertyInfo[p][p_Y],PropertyInfo[p][p_Z], 63, MAPICON_LOCAL);

}

}

case 2:

{

for(new p=0;p<PropertyCount+1;p++)

{

PropertyTyp[p][oprava] = 1;

PropertyTyp[p][laky] = 0;

PropertyTyp[p][tuning] = 0;

SCM(playerid, GREEN, "Úspešne si nastavil tym firmy na {FF0000}Opraváreň!");

RemovePlayerMapIcon(playerid, 1);

RemovePlayerMapIcon(playerid, 2);

SetPlayerMapIcon(playerid, 3,PropertyInfo[p][p_X],PropertyInfo[p][p_Y],PropertyInfo[p][p_Z], 34, MAPICON_LOCAL);

}

}

}

}

}

//---

if(dialogid == D_LAKY)

{

if(response)

{

switch(listitem)

{

case 1:

{

for(new p=0;p<PropertyCount+1;p++)

{

new autoo = GetPlayerVehicleID(playerid);

if(GetPlayerMoney(playerid) < PropertyInfo[p][sumaa]) return SCM(playerid, RED, "Nemáš dostatok penazí !!");

else{

PropertyInfo[p][Zisk] += PropertyInfo[p][sumaa];

GivePlayerMoney(playerid, -PropertyInfo[p][sumaa]);

ChangeVehicleColor(autoo,3,3);

SCM(playerid, YELLOW, "Úspešne si si prefarbil auto na {FF0000}červenú!");

}

}

}

case 2:

{

for(new p=0;p<PropertyCount+1;p++)

{

new autoo = GetPlayerVehicleID(playerid);

if(GetPlayerMoney(playerid) < PropertyInfo[p][sumaa]) return SCM(playerid, RED, "Nemáš dostatok penazí !!");

else{

PropertyInfo[p][Zisk] += PropertyInfo[p][sumaa];

GivePlayerMoney(playerid, -PropertyInfo[p][sumaa]);

ChangeVehicleColor(autoo,158,158);

SCM(playerid, YELLOW, "Úspešne si si prefarbil auto na {FFCC00}oranžovú!");

}

}

}

case 3:

{

for(new p=0;p<PropertyCount+1;p++)

{

new autoo = GetPlayerVehicleID(playerid);

if(GetPlayerMoney(playerid) < PropertyInfo[p][sumaa]) return SCM(playerid, RED, "Nemáš dostatok penazí !!");

else{

PropertyInfo[p][Zisk] += PropertyInfo[p][sumaa];

GivePlayerMoney(playerid, -PropertyInfo[p][sumaa]);

ChangeVehicleColor(autoo,126,126);

SCM(playerid, YELLOW, "Úspešne si si prefarbil auto na {FF66FF}ružovú!");

}

}

}

case 4:

{

for(new p=0;p<PropertyCount+1;p++)

{

new autoo = GetPlayerVehicleID(playerid);

if(GetPlayerMoney(playerid) < PropertyInfo[p][sumaa]) return SCM(playerid, RED, "Nemáš dostatok penazí !!");

else{

PropertyInfo[p][Zisk] += PropertyInfo[p][sumaa];

GivePlayerMoney(playerid, -PropertyInfo[p][sumaa]);

ChangeVehicleColor(autoo,1,1);

SCM(playerid, YELLOW, "Úspešne si si prefarbil auto na {FFFFFF}bielu!");

}

}

}

case 5:

{

for(new p=0;p<PropertyCount+1;p++)

{

new autoo = GetPlayerVehicleID(playerid);

if(GetPlayerMoney(playerid) < PropertyInfo[p][sumaa]) return SCM(playerid, RED, "Nemáš dostatok penazí !!");

else{

PropertyInfo[p][Zisk] += PropertyInfo[p][sumaa];

GivePlayerMoney(playerid, -PropertyInfo[p][sumaa]);

ChangeVehicleColor(autoo,79,79);

SCM(playerid, YELLOW, "Úspešne si si prefarbil auto na {0000FFFF}modrú!");

}

}

}

case 6:

{

for(new p=0;p<PropertyCount+1;p++)

{

new autoo = GetPlayerVehicleID(playerid);

if(GetPlayerMoney(playerid) < PropertyInfo[p][sumaa]) return SCM(playerid, RED, "Nemáš dostatok penazí !!");

else{

PropertyInfo[p][Zisk] += PropertyInfo[p][sumaa];

GivePlayerMoney(playerid, -PropertyInfo[p][sumaa]);

ChangeVehicleColor(autoo,128,128);

SCM(playerid, YELLOW, "Úspešne si si prefarbil auto na {33FF00FF}zelenú!");

}

}

}

}

}

}

//----

if(dialogid == D_TUNING)

{

if(response)

{

switch(listitem)

{

case 1:

{

for(new p=0;p<PropertyCount+1;p++)

{

if(GetPlayerMoney(playerid) < PropertyInfo[p][sumaa]) return SCM(playerid, RED, "Nemáš dostatok penazí !!");

else{

PropertyInfo[p][Zisk] += PropertyInfo[p][sumaa];

GivePlayerMoney(playerid, -PropertyInfo[p][sumaa]);

AddVehicleComponent(GetPlayerVehicleID(playerid),1010);

}

}

}

}

}

}

//---

if(dialogid == D_OPRAVAA)

{

if(response)

{

switch(listitem)

{

case 1:

{

for(new p=0;p<PropertyCount+1;p++)

{

if(GetPlayerMoney(playerid) < PropertyInfo[p][sumaa]) return SCM(playerid, RED, "Nemáš dostatok penazí !!");

else{

PropertyInfo[p][Zisk] += PropertyInfo[p][sumaa];

GivePlayerMoney(playerid, -PropertyInfo[p][sumaa]);

SCM(playerid, YELLOW, "upsss akosi to nejde :d");

}

}

}

case 2:

{

for(new p=0;p<PropertyCount+1;p++)

{

if(GetPlayerMoney(playerid) < PropertyInfo[p][sumaa]) return SCM(playerid, RED, "Nemáš dostatok penazí !!");

else{

PropertyInfo[p][Zisk] += PropertyInfo[p][sumaa];

GivePlayerMoney(playerid, -PropertyInfo[p][sumaa]);

RepairVehicle(GetPlayerVehicleID(playerid));

}

}

}

}

}

}

 

 

Tu je kód .. dúfam že s neho zistíte problém :// pretože ja fakt neviem v čom je ten problém

Link to comment
Share on other sites

  • 0

To proc to vyhodi nekolikrat je jednoduche. kazdopadne to dela cyklus, a v cyklu danou podminku splnis nekolikrat, proto se to vypise tolikrat. Klasicky se to da resit treba return; ovsem to v pripade pokud nepotrebujes, aby script pokracoval, pak je lepsi pouzit break; ovsem to ti zastavi cely cyklus, tak pozor nato !

Link to comment
Share on other sites

  • 0

ATomas, Ďakujem už to nerobí :d ... dnes už nejdem písať ale mám ešte jeden menší problém :// Zajtra sem napíšem.

 

No tak som sa ešte pokúšal opraviť dnes ale nejde .. tak mám otázku nevidíte niekde v tom kóde chybu prečo napr. Zisk sa pripisuje do all firiem a nie len do tej jednej určenej ? alebo keď si majiteľ zmení cenu za služby automaticky to je na všetkých firmách ... a to isté ja pri výbere Zisk atd...

Link to comment
Share on other sites

  • 0

ATomas, Ďakujem už to nerobí :d ... dnes už nejdem písať ale mám ešte jeden menší problém :// Zajtra sem napíšem.

 

No tak som sa ešte pokúšal opraviť dnes ale nejde .. tak mám otázku nevidíte niekde v tom kóde chybu prečo napr. Zisk sa pripisuje do all firiem a nie len do tej jednej určenej ? alebo keď si majiteľ zmení cenu za služby automaticky to je na všetkých firmách ... a to isté ja pri výbere Zisk atd...

 

Niekde používáš premennú zlú, alebo cyklus?

Link to comment
Share on other sites

  • 0

Ja na to používam v enume

 

 

 

enum PROPERTY_DATA

{

Float:p_X,

Float:p_Y,

Float:p_Z,

Cena,

Dialog,

Vlastnik[MAX_PLAYER_NAME],

Text3D:Text,

Pickuppp,

Zisk,

Sumaa,

}

new PropertyInfo[MAX_PROPERTY][PROPERTY_DATA];

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...