Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2014-10-21, 20:30


Zon3







Wiek: 32
Na forum: 4280 dni
Posty: 66

Piwa: 4

Respekt: 50

Ostrzeżeń: 100%
Witam. Mam tak? komend? na przeladiowan ie zborza graczowi ale nwm, kt?ra linika odpowiada za posiadanie zboza. Oto komenda:
Kod:

CMD:zborze(playerid, params[])
{
new id, string[256], string1[256];
new trailerid = GetPlayerVehicleID(id);
new vehicleid = GetPlayerVehicleID(playerid);
new pfid = GetVehicleModel(vehicleid);
new vehid = GetPlayerVehicleID(playerid);
new modelt = GetVehicleTrailer(vehid);
new dllt = GetVehicleIDTrailer(playerid,vehid,modelt);
if(PlayerInfo[playerid][Team] >= 0)
{
if(sscanf(params, "d", id))
return SendClientMessage(playerid, Bialy, "/zborze [Id gracza]");
if(IsPlayerConnected(id))
{
if(pfid == 532)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(GetVehicleTrailer(GetVehicleModel(trailerid) == 450))
return SendClientMessage(playerid, Czerwony, "# Gracz ma nieodpowiednia naczepe do zboza.");
if(VehicleInfo[dllt][Towar]== 51)
{
if(VehicleInfo[dllt][Towar] == 0)
{
if(id != playerid)
{
format(string, sizeof(string), "# Przeladowales zborze graczowi {FFFFFF}%s{B0B0B0}.", PlayerName(id));
SendClientMessage(playerid, Szary, string);
SendClientMessage(playerid, JasnyZielony, "# Otrzymujesz bonus: {FFFFFF}800$ {00E000}oraz {FFFFFF}8 {00E000}Score.");
format(string1, sizeof(string1), "# Farmer {FFFFFF}%s {00E000}przeladowal ci zboze do twojej naczepy.");
SendClientMessage(id, JasnyZielony, string1);
VehicleInfo[dllt][Towar]= 51;
VehicleInfo[dllt][Towar] = 0;
GiveMoneyEx(playerid,800);
GiveScoreEx(playerid,GetScoreEx(playerid)+8);
Earned(playerid,400);

return 1;
}
else
{
SendClientMessage(playerid, Czerwony, "# Nie mozesz przeladowac zboza samemu sobie.");
}
}
else if(VehicleInfo[dllt][Towar] >= 1)
{
SendClientMessage(playerid, Czerwony, "# Gracz posiada juz towar, wiec nie mozesz mu przeladowac zboza.");
}
return 1;
}
else
{
SendClientMessage(playerid, Czerwony, "# Nie mozesz przeladowac zboza gdyz go nie masz.");
}
return 1;
}
else
{
SendClientMessage(playerid, Czerwony, "# Gracz nie siedzi w pojezdzie.");
}
return 1;
}
else
{
SendClientMessage(playerid, Czerwony, "# Nie siedzisz w bizonie.");
}
return 1;
}
else
{
SendClientMessage(playerid, Zolty, "# Gracz o podanym id nie jest polaczony z serwerem.");
}
return 1;
}
else
{
SendClientMessage(playerid, Zolty, "# Nie jestes pracownikiem polish farmers.");
}
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-21, 20:51


xqz

otaku desu!






Wiek: 32
Na forum: 6406 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Kod:

VehicleInfo[dllt][Towar]= 51;

Ta. I co?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-21, 21:20


Zon3







Wiek: 32
Na forum: 4280 dni
Posty: 66

Piwa: 4

Respekt: 50

Ostrzeżeń: 100%
A m?g? by? mi napisac jak zrobi? co? takiego, ?e ustawiam pozycje pola i zasieg np. 100m od tych pozycji i na tej pozycji b?de m?gl kosi? zbo?e i jak b?dziemy jechali mniej niz 25 km/h to bedziemy dostawali 0.0015 tony zbo?a i jak uzbieramy 5 ton zboza to mo?emy przeladowac zboze?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-22, 00:21


xqz

otaku desu!






Wiek: 32
Na forum: 6406 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Jak chcesz to u?yj strefy IsPlayerInArea.
Znajdziesz mn?stwo poradnik?w jak zrobi?.

Je?li chodzi o pr?dko?? to u?yj funkcji GetPlayerSpeed.

Og?lnie zrobi?bym to tak:







If(IsPlayerInArea())
{
if(IsPlayerInVehicle(GetPlayerVehicleModel(GetPlayerVehicleID(playerid)))
{
if(GetVehicleSpeed(GetPlayerVehicleID(playerid)) < 25)
{
zboze+000.15;

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-22, 17:12


Zon3







Wiek: 32
Na forum: 4280 dni
Posty: 66

Piwa: 4

Respekt: 50

Ostrzeżeń: 100%
Co? takiego?
Pawn
forward Strefa();
    public Strefa()
    {
    for(new i=0g=GetMaxPlayers(); i<gi++)
    {
    if(!IsPlayerConnected(i))
    continue;
    if(IsPlayerInArea(i2458.37831938.37831743.15721213.1572))
    {
    if(IsPlayerInVehicle(GetPlayerVehicleModel(GetPlayerVehicleID(playerid)))
    {
    if(GetVehicleSpeed(GetPlayerVehicleID(playerid)) < 25)
    {
    zboze+000.15;
    }
    }
    }
    }
    return 1;
    }


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-22, 17:31


xqz

otaku desu!






Wiek: 32
Na forum: 6406 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Kod:

forward Strefa();
public Strefa()
{
new omg;
for(new i=0, g=GetMaxPlayers(); i<g; i++)
{
if(!IsPlayerConnected(i))
continue;
omg = GetPlayerVehicleID(i);
if(IsPlayerInArea(i, 2458.3783, 1938.3783, 1743.1572, 1213.1572))
{
if(GetVehicleModel(omg) == 532)
{
if(GetVehicleSpeed(omg) < 25)
{
zboze+= 0.15;
}
}
}
}
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-22, 18:59


Zon3







Wiek: 32
Na forum: 4280 dni
Posty: 66

Piwa: 4

Respekt: 50

Ostrzeżeń: 100%
Kod:

(1014) : error 017: undefined symbol "IsPlayerInArea"
(1018) : error 017: undefined symbol "GetVehicleSpeed"
(1020) : error 017: undefined symbol "zboze"
(1020) : warning 215: expression has no effect
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-22, 20:27


xqz

otaku desu!






Wiek: 32
Na forum: 6406 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Zon3, hohohoho! My?la?em, ?e reszte sam ju? doci?gniesz.

Funkcje IsPlayerInArea oraz GetVehicleSpeed znajdziesz w internecie (google).


Natomiast ostatni error dla tego, ze nie masz tego:
Kod:

new zboze[MAX_PLAYERS];






Kod:


forward Strefa();
public Strefa()
{
new omg;
for(new i=0, g=GetMaxPlayers(); i<g; i++)
{
if(!IsPlayerConnected(i))
continue;
omg = GetPlayerVehicleID(i);
if(IsPlayerInArea(i, 2458.3783, 1938.3783, 1743.1572, 1213.1572))
{
if(GetVehicleModel(omg) == 532)
{
if(GetVehicleSpeed(omg) < 25)
{
zboze[i]+= 0.15;
}
}
}
}
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-23, 16:22


Zon3







Wiek: 32
Na forum: 4280 dni
Posty: 66

Piwa: 4

Respekt: 50

Ostrzeżeń: 100%
Ok. A czy jak zrobie tak aby max ton zboza to 100 by?o to b?dzie dobrze?
Pawn
forward Strefa();
    public Strefa()
    {
    new omg;
    for(new i=0g=GetMaxPlayers(); i<gi++)
    {
    if(!IsPlayerConnected(i))
    continue;
    omg GetPlayerVehicleID(i);
    if(IsPlayerInArea(i2458.37831938.37831743.15721213.1572))
    {
    if(GetVehicleModel(omg) == 532)
    {
    if(GetVehicleSpeed(omg) < 25)
    {
    if(VehicleInfo[omg][KM] < MAX_TON_Z)
    {
    zboze[i]+= 0.15;
    }
    }
    }
    }
    }
    return 1;
    }


I komenda, ?e mo?na prze?adowa? zbo?e jak jest 100 ton:
Pawn
CMD:zboze(playeridparams[])
    {
        new idstring[256], string1[256];
        new trailerid GetPlayerVehicleID(id);
        new vehicleid GetPlayerVehicleID(playerid);
        new pfid GetVehicleModel(vehicleid);
        new vehid GetPlayerVehicleID(playerid);
        new modelt GetVehicleTrailer(vehid);
        new dllt GetVehicleIDTrailer(playerid,vehid,modelt);
        new omg GetPlayerVehicleID(omg);
        if(PlayerInfo[playerid][Team] >= 0)
        {
            if(sscanf(params"d"id))
                return SendClientMessage(playeridBialy"/zborze [Id gracza]");
            if(IsPlayerConnected(id))
            {
                if(pfid == 532)
                {
                    if(IsPlayerInAnyVehicle(playerid))
                    {
                        if(GetVehicleTrailer(GetVehicleModel(trailerid) == 450))
                            return SendClientMessage(playeridCzerwony"# Gracz ma nieodpowiednia naczepe do zboza.");
                        if(VehicleInfo[dllt][Towar]== 51)
                        {
                            if(VehicleInfo[omg][KM] < MAX_TON_Z)
                            {
                                if(id != playerid)
                                {
                                    format(stringsizeof(string), "# Przeladowales zborze graczowi {FFFFFF}%s{B0B0B0}."PlayerName(id));
                                    SendClientMessage(playeridSzarystring);
                                    SendClientMessage(playeridJasnyZielony"# Otrzymujesz bonus: {FFFFFF}800$ {00E000}oraz {FFFFFF}8 {00E000}Score.");
                                    format(string1sizeof(string1), "# Farmer {FFFFFF}%s {00E000}przeladowal ci zboze do twojej naczepy.");
                                    SendClientMessage(idJasnyZielonystring1);
                                    VehicleInfo[dllt][Towar]= 51;
                                    VehicleInfo[dllt][Towar] = 0;
                                    GiveMoneyEx(playerid,800);
                                    GiveScoreEx(playerid,GetScoreEx(playerid)+8);
                                    Earned(playerid,400);

                                    return 1;
                                }
                                else
                                {
                                    SendClientMessage(playeridCzerwony"# Nie mozesz przeladowac zboza samemu sobie.");
                                }
                            }
                            else if(VehicleInfo[dllt][Towar] >= 1)
                            {
                                SendClientMessage(playeridCzerwony"# Gracz posiada juz towar, wiec nie mozesz mu przeladowac zboza.");
                            }
                            return 1;
                        }
                        else
                        {
                            SendClientMessage(playeridCzerwony"# Nie mozesz przeladowac zboza gdyz go nie masz.");
                        }
                        return 1;
                    }
                    else
                    {
                        SendClientMessage(playeridCzerwony"# Gracz nie siedzi w pojezdzie.");
                    }
                    return 1;
                }
                else
                {
                    SendClientMessage(playeridCzerwony"# Nie siedzisz w bizonie.");
                }
                return 1;
            }
            else
            {
                SendClientMessage(playeridZolty"# Gracz o podanym id nie jest polaczony z serwerem.");
            }
            return 1;
        }
        else
        {
            SendClientMessage(playeridZolty"# Nie jestes pracownikiem polish farmers.");
        }
        return 1;
    }

Czy tak b?dzie dobrze?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-23, 18:10


xqz

otaku desu!






Wiek: 32
Na forum: 6406 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Kod:


new Float:zboze[MAX_PLAYERS];


Ta zmienna musi by? float bo zawiera liczb? z przecinkiem (czego wcze?niej nie dostrzeg?em).




Co do prze?adowania to warunek powinien mie? odwrotny znak wi?kszo?ci:


Kod:

if(VehicleInfo[omg][KM] => MAX_TON_Z)

Je?li pojazd ma wiecej lub rowne MAX_TON_Z

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-23, 20:20


Zon3







Wiek: 32
Na forum: 4280 dni
Posty: 66

Piwa: 4

Respekt: 50

Ostrzeżeń: 100%
Zrobi?em i niestety zbo?e co? si? nie kosi. Kosze 3 min i jak chce przeladowac to pisze, ?e nie mam zbo?a. Oto forward i komenda:
Pawn
forward Strefa();
    public Strefa()
    {
    new omg;
    for(new i=0g=GetMaxPlayers(); i<gi++)
    {
    if(!IsPlayerConnected(i))
    continue;
    omg GetPlayerVehicleID(i);
    if(IsPlayerInArea(i2004.91601911.6523245.7199170.2363))
    {
    if(GetVehicleModel(omg) == 532)
    {
    if(GetVehicleSpeed(omg) < 25)
    {
    if(VehicleInfo[omg][KM] < MAX_TON_Z)
    {
    zboze[i]+= 0.90;
    }
    }
    }
    }
    }
    return 1;
    }



CMD:zboze(playeridparams[])
{
    new idstring[256], string1[256];
    new trailerid GetPlayerVehicleID(id);
    new vehicleid GetPlayerVehicleID(playerid);
    new pfid GetVehicleModel(vehicleid);
    new vehid GetPlayerVehicleID(playerid);
    new modelt GetVehicleTrailer(vehid);
    new dllt GetVehicleIDTrailer(playerid,vehid,modelt);
    new omg GetPlayerVehicleID(omg);
    if(PlayerInfo[playerid][Team] >= 0)
    {
        if(sscanf(params"d"id))
            return SendClientMessage(playeridBialy"/zborze [Id gracza]");
        if(IsPlayerConnected(id))
        {
            if(pfid == 532)
            {
                if(IsPlayerInAnyVehicle(playerid))
                {
                    if(GetVehicleTrailer(GetVehicleModel(trailerid) == 450))
                        return SendClientMessage(playeridCzerwony"# Gracz ma nieodpowiednia naczepe do zboza.");
                    if(VehicleInfo[dllt][Towar]== 51)
                    {
                        if(VehicleInfo[omg][KM] >= MAX_TON_Z)
                        {
                            if(id != playerid)
                            {
                                format(stringsizeof(string), "# Przeladowales zborze graczowi {FFFFFF}%s{B0B0B0}."PlayerName(id));
                                SendClientMessage(playeridSzarystring);
                                SendClientMessage(playeridJasnyZielony"# Otrzymujesz bonus: {FFFFFF}800$ {00E000}oraz {FFFFFF}8 {00E000}Score.");
                                format(string1sizeof(string1), "# Farmer {FFFFFF}%s {00E000}przeladowal ci zboze do twojej naczepy.");
                                SendClientMessage(idJasnyZielonystring1);
                                VehicleInfo[dllt][Towar]= 51;
                                VehicleInfo[dllt][Towar] = 0;
                                GiveMoneyEx(playerid,800);
                                GiveScoreEx(playerid,GetScoreEx(playerid)+8);
                                Earned(playerid,400);

                                return 1;
                            }
                            else
                            {
                                SendClientMessage(playeridCzerwony"# Nie mozesz przeladowac zboza samemu sobie.");
                            }
                        }
                        else if(VehicleInfo[dllt][Towar] >= 1)
                        {
                            SendClientMessage(playeridCzerwony"# Gracz posiada juz towar, wiec nie mozesz mu przeladowac zboza.");
                        }
                        return 1;
                    }
                    else
                    {
                        SendClientMessage(playeridCzerwony"# Nie mozesz przeladowac zboza gdyz go nie masz.");
                    }
                    return 1;
                }
                else
                {
                    SendClientMessage(playeridCzerwony"# Gracz nie siedzi w pojezdzie.");
                }
                return 1;
            }
            else
            {
                SendClientMessage(playeridCzerwony"# Nie siedzisz w bizonie.");
            }
            return 1;
        }
        else
        {
            SendClientMessage(playeridZolty"# Gracz o podanym id nie jest polaczony z serwerem.");
        }
        return 1;
    }
    else
    {
        SendClientMessage(playeridZolty"# Nie jestes pracownikiem polish farmers.");
    }
    return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-23, 21:05


xqz

otaku desu!






Wiek: 32
Na forum: 6406 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Kod:

forward Strefa();
public Strefa()


A umie?ci?e? timer do tego?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-23, 21:29


Zon3







Wiek: 32
Na forum: 4280 dni
Posty: 66

Piwa: 4

Respekt: 50

Ostrzeżeń: 100%
Tak w OnGameModeInit:
Kod:

SetTimer("Strefa", 1000, 1);


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-23, 21:34


xqz

otaku desu!






Wiek: 32
Na forum: 6406 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Wi?c upewnij si?, ?e jeste? we w?a?ciwej strefie oraz jedziesz pojazdem o modelu: 532

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-23, 21:39


Zon3







Wiek: 32
Na forum: 4280 dni
Posty: 66

Piwa: 4

Respekt: 50

Ostrzeżeń: 100%
Mo?e co? ?le ze strefami zrobi?em? Ale robi?em tak jak na poradniku wpisalem /save na 4 rogasz i wpisalem max x, min x, max y, min y. To sa te pozycje z pliku z samp:
Kod:

AddPlayerClass(28,1915.8706,245.7199,29.1720,173.2516,0,0,0,0,0,0); // rog 1
AddPlayerClass(28,2004.9160,235.0338,27.4555,179.8316,0,0,0,0,0,0); // rog 2
AddPlayerClass(28,2003.3286,170.2363,29.8638,85.5174,0,0,0,0,0,0); // rog 3
AddPlayerClass(28,1911.6523,190.0231,35.5029,75.1773,0,0,0,0,0,0); // rog 4


I na pewno w kombajnie siedze.

Postaw piwo autorowi tego posta
 

 
Tagi: komenda :: /zboze
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [INNE] komenda /zboze Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku