Wysłany: 2014-10-21, 20:30
Zon3
Wiek: 32 Na forum: 4280 dni Posty: 66
Piwa : 4
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;
}
Wysłany: 2014-10-21, 20:51
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
Kod: VehicleInfo[dllt][Towar]= 51;
Ta. I co?
Wysłany: 2014-10-21, 21:20
Zon3
Wiek: 32 Na forum: 4280 dni Posty: 66
Piwa : 4
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?
Wysłany: 2014-10-22, 00:21
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
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;
Wysłany: 2014-10-22, 17:12
Zon3
Wiek: 32 Na forum: 4280 dni Posty: 66
Piwa : 4
Co? takiego?
Pawn forward Strefa ();
public Strefa ()
{
for(new i = 0 , g = GetMaxPlayers (); i < g ; i ++)
{
if(! IsPlayerConnected ( i ))
continue;
if( IsPlayerInArea ( i , 2458.3783 , 1938.3783 , 1743.1572 , 1213.1572 ))
{
if( IsPlayerInVehicle ( GetPlayerVehicleModel ( GetPlayerVehicleID ( playerid )))
{
if( GetVehicleSpeed ( GetPlayerVehicleID ( playerid )) < 25 )
{
zboze + 000.15 ;
}
}
}
}
return 1 ;
}
Wysłany: 2014-10-22, 17:31
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
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;
}
Wysłany: 2014-10-22, 18:59
Zon3
Wiek: 32 Na forum: 4280 dni Posty: 66
Piwa : 4
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.
Wysłany: 2014-10-22, 20:27
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
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:
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;
}
Wysłany: 2014-10-23, 16:22
Zon3
Wiek: 32 Na forum: 4280 dni Posty: 66
Piwa : 4
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 = 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 )
{
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 ( 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 );
new omg = GetPlayerVehicleID ( omg );
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 [ omg ][ KM ] < MAX_TON_Z )
{
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 ;
}
Czy tak b?dzie dobrze?
Wysłany: 2014-10-23, 18:10
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
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
Wysłany: 2014-10-23, 20:20
Zon3
Wiek: 32 Na forum: 4280 dni Posty: 66
Piwa : 4
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 = 0 , g = GetMaxPlayers (); i < g ; i ++)
{
if(! IsPlayerConnected ( i ))
continue;
omg = GetPlayerVehicleID ( i );
if( IsPlayerInArea ( i , 2004.9160 , 1911.6523 , 245.7199 , 170.2363 ))
{
if( GetVehicleModel ( omg ) == 532 )
{
if( GetVehicleSpeed ( omg ) < 25 )
{
if( VehicleInfo [ omg ][ KM ] < MAX_TON_Z )
{
zboze [ i ]+= 0.90 ;
}
}
}
}
}
return 1 ;
}
CMD : zboze ( 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 );
new omg = GetPlayerVehicleID ( omg );
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 [ omg ][ KM ] >= MAX_TON_Z )
{
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 ;
}
Wysłany: 2014-10-23, 21:05
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
Kod: forward Strefa();
public Strefa()
A umie?ci?e? timer do tego?
Wysłany: 2014-10-23, 21:29
Zon3
Wiek: 32 Na forum: 4280 dni Posty: 66
Piwa : 4
Tak w OnGameModeInit:
Kod: SetTimer("Strefa", 1000, 1);
Wysłany: 2014-10-23, 21:34
xqz
otaku desu!
Wiek: 32 Na forum: 6406 dni Posty: 723
Nick w MP: xqz
Piwa : 5465
Wi?c upewnij si?, ?e jeste? we w?a?ciwej strefie oraz jedziesz pojazdem o modelu: 532
Wysłany: 2014-10-23, 21:39
Zon3
Wiek: 32 Na forum: 4280 dni Posty: 66
Piwa : 4
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.
Tagi: komenda :: /zboze
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: