Jump to content
  • 0

[Probleme War]


Punct.

Question

Nick: Punct.

Problema:

• Cand dau /war uneori imi zice ca nu ma pot ataca singur, desi sunt pe alt teritoriu.

• Daca ajung pe un teritoriu care pe care ma lasa sa dau /war scrie ca am dat /war pe alt teritoriu..

• Nu isi schimba culoare(GangZoneFlashForAll).

• La sfarsitul war-ului nu scrie numele factiunilor care au avut war.

Erori / warnings: 0/0

Lini/script:

Comanda /war:

[pawn] if (strcmp(cmd, "/war", true) == 0)                                        //war

{

        if(IsPlayerConnected(playerid))

        {

new turf, fact;

for(new i = 1; i < sizeof(TeriInfo); i++)

{

//if(IsPlayerInTurf(playerid, i) == 1)

if(IsPlayerInArea(playerid, TeriInfo[zMinX], TeriInfo[zMinY], TeriInfo[zMaxX], TeriInfo[zMaxY]))

{

    turf = i;

    break;

}

}

if(turf == 0) return SCM(playerid, c_alb, "{FFFFFF}[{67BDFC}War Info{FFFFFF}]Nu esti pe un teroriu");

fact = PlayerInfo[playerid][pFactiune];

if(TeriInfo[turf][zOwned] == fact) return SCM(playerid, c_alb, "{FFFFFF}[{67BDFC}War Info{FFFFFF}]Nu te poti ataca singur");

if(WarInfo[turf][wAtacator] != 0) return SCM(playerid, c_alb, "{FFFFFF}[{67BDFC}War Info{FFFFFF}]Acest teritoriu este deja atacat");

WarInfo[turf][wTimp] = 60;

WarInfo[turf][wAtacator] = fact;

WarInfo[turf][wAparator] = TeriInfo[turf][zOwned];

format(string, sizeof(string), "{FFFFFF}[{67BDFC}War Info{FFFFFF}] {F48651}[Atacatori] {FFFFFF}Turf %d | Time: %s", turf, CalculeazaTimp(WarInfo[turf][wTimp]));

SRM(WarInfo[turf][wAtacator], c_alb, string);

format(string, sizeof(string), "{FFFFFF}[{67BDFC}War Info{FFFFFF}] {F48651}[Aparatori] {FFFFFF}Teritoriul tau({F48651}%d{FFFFFF}) este atacat de {F48651}%s{FFFFFF} (%s).",turf, NumeFactiune(fact), sendername);

SRM(WarInfo[turf][wAparator], c_alb, string);

format(string, sizeof(string), "{FFFFFF}[{67BDFC}War Info{FFFFFF}] {F48651}[Aparatori] {FFFFFF}Turf %d | Time: %s", turf, CalculeazaTimp(WarInfo[turf][wTimp]));

SRM(WarInfo[turf][wAparator], c_alb, string);

foreach(Player, p)

{

GangZoneFlashForPlayer(p, 1, 0x000000AA);

}

//foreach(Player, i)

//{

// GangZoneShowForPlayer(i, turf, 0xFFFFFFDD);

//}

        }

        return 1;

}

[/pawn]

functia timerwar()

[pawn]public timerwar()

{

new string[300];

for(new t=1; t<=sizeof(TeriInfo); t++)

{

    if(WarInfo[t][wTimp] > 0)

    {

        WarInfo[t][wTimp] -= 1;

        //foreach(Player, i)

        //{

        //    if(IsPlayerInTurf(i, t) == 1)

        //    {

// WarScor[t] += 0.1;

// }

//}

        if(WarInfo[t][wTimp] == 1)

        {

            new celmaibun;

new maxi = 0;

new scoratacatori = 0, Float:scoraparatori = 0;

            new numecelmaibun[MAX_PLAYER_NAME];

GetPlayerName(celmaibun, numecelmaibun, sizeof(numecelmaibun));

foreach(Player, i)

{

    if(WarInfo[t][wAtacator] == i)

        scoratacatori += WarScor[t];

        else if(WarInfo[t][wAparator] == i)

            scoraparatori += WarScor[t];

if(WarScor[t] > maxi)

{

    maxi = WarScor[t];

    celmaibun = i;

}

}

if(scoratacatori >= scoraparatori)

{

format(string, sizeof(string), "{FFFFFF}[{67BDFC}War Info{FFFFFF}] Razboil s-a terminat. {F48651}%s {FFFFFF}a invins {F48651}%s {FFFFFF}si au pus stapanire pe teritoriul %d.", NumeFactiune(WarInfo[t][wAtacator]), NumeFactiune(WarInfo[t][wAparator]), t);

SendClientMessageToAll(c_alb, string);

}

else if(scoratacatori < scoraparatori)

{

format(string, sizeof(string), "{FFFFFF}[{67BDFC}War Info{FFFFFF}] Razboil s-a terminat. {F48651}%s {FFFFFF}a invins {F48651}%s {FFFFFF}si si-au pastrat teritoriul %d.", NumeFactiune(WarInfo[t][wAparator]), NumeFactiune(WarInfo[t][wAtacator]), t);

SendClientMessageToAll(c_alb, string);

}

format(string, sizeof(string), "{FFFFFF}[{67BDFC}War Info{FFFFFF}] Cel mai bun mafiot: {F48651}%s {FFFFFF}({F48651}%d puncte{FFFFFF}).", numecelmaibun, WarScor[celmaibun][t]);

            SendClientMessageToAll(c_alb, string);

            WarInfo[t][wAtacator] = 0;

            WarInfo[t][wAparator] = 0;

            GangZoneStopFlashForAll(t);

            if(TeriInfo[t][zOwned] == 4)

GangZoneShowForAll(TeriInfo[t][zID], 0x60B156CC);

else if(TeriInfo[t][zOwned] == 5)

GangZoneShowForAll(TeriInfo[t][zID], 0xE4DF14CC);

else if(TeriInfo[t][zOwned] == 6)

GangZoneShowForAll(TeriInfo[t][zID], 0xD084D7CC);

else if(TeriInfo[t][zOwned] == 7)

GangZoneShowForAll(TeriInfo[t][zID], 0x009F98CC);

        }

}

foreach(Player, i)

{

    WarScor[t] = 0;

}

}

}[/pawn]

[download]functia IsPlayerInTurf[/download]

[pawn]IsPlayerInArea(playerid, Float:minx, Float:miny, Float:maxx, Float:maxy)

{

new Float:x, Float:y, Float:z;

GetPlayerPos(playerid, x, y, z);

if (x > minx && x < maxx && y > miny && y < maxy) return 1;

return 0;

}

forward IsPlayerInTurf(playerid, turfid);

public IsPlayerInTurf(playerid, turfid)

{

if(IsPlayerConnected(playerid))

{

    if(turfid == -1) return 0;

    new Float:x, Float:y, Float:z;

    GetPlayerPos(playerid, x, y, z);

    if(x >= TeriInfo[playerid][zMinX] && x < TeriInfo[turfid][zMaxX] && y >= TeriInfo[turfid][zMinY] && y < TeriInfo[turfid][zMaxY])

    //if ( IsPlayerInArea(playerid, TeriInfo[tMinX], TeriInfo[tMinY], TeriInfo[tMaxX], TeriInfo[tMaxY]) )

        return 1;

}

return 0;

}[/pawn]

functia NumeFactiune

[pawn]stock NumeFactiune(id)

{

new ftext[20];

switch(8)

{

    case 0: ftext = "Civil";

    case 1: ftext = "Dep Politie";

    case 2: ftext = "Armata";

    case 3: ftext = "S.M.U.R.D.";

case 4: ftext = "F.Mararu";

case 5: ftext = "F.Spoitoru";

case 6: ftext = "F.Mondialu";

case 7: ftext = "F.Gigiok";

}

return ftext;

}[/pawn]

Ai incercat sa rezolvi singur ?: Da. Scriptul e facut dupa un tutorial de-al lui Maurice;

Am sa pun si cateva poze..desi nu stiu cu cat va v-a ajuta.. http://imgur.com/HeHvtIL,BfLWdDw,4OJG5fW,oBDBOfA#0

Nu mai deschideti in pu*a mea servere de SA:MP !

Jucati-va pe cele care sunt !   Sunt suficiente !

Reguli de bun simt:

1. Nu faceti reclama unde nu trebuie !

2. Nu injurati ca la usa cortului !

3. Daca esti analfabeti, taci din gura !

4. Nu abuza de 'scuze', 'din greseala' !

 

My work ::: http://pastebin.com/VRNRcaAs

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

UP!

Nu mai deschideti in pu*a mea servere de SA:MP !

Jucati-va pe cele care sunt !   Sunt suficiente !

Reguli de bun simt:

1. Nu faceti reclama unde nu trebuie !

2. Nu injurati ca la usa cortului !

3. Daca esti analfabeti, taci din gura !

4. Nu abuza de 'scuze', 'din greseala' !

 

My work ::: http://pastebin.com/VRNRcaAs

Link to comment
Share on other sites

UP!

Nu mai deschideti in pu*a mea servere de SA:MP !

Jucati-va pe cele care sunt !   Sunt suficiente !

Reguli de bun simt:

1. Nu faceti reclama unde nu trebuie !

2. Nu injurati ca la usa cortului !

3. Daca esti analfabeti, taci din gura !

4. Nu abuza de 'scuze', 'din greseala' !

 

My work ::: http://pastebin.com/VRNRcaAs

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.