GTA Közösség - A magyar GTA fórum
San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: buci11 - 2011. november 25. - 16:06:14
-
ha pl egy játékos 3 méterre van egy autótól azt hogy lehetne megoldani hogy pl: ha beírja /megjavít akkor a 3 méteren belül lévõ autó megjavul
-
[pawn]#include <a_samp>
#define MAX_VEHICLES 1000 // ezt kedvedre vátloztasd jármû szerint!
stock Float:GetDistanceToVehicle(playerid, vehicleid)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
if(!IsPlayerConnected(playerid)) {
return -1.00;
}
GetPlayerPos(playerid,x1,y1,z1);
GetVehiclePos(vehicleid,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/javít\", cmdtext, true, 10) == 0)
{
new vehicles = 0;
for(; vehicles++ < MAX_VEHICLES;)
if(GetDistanceToVehicle(playerid, vehicles < 3.1)
{
SetVehicleHealth(vehicles, 100.0);
RepairVehicle(vehicles);
}
return 1;
}
return 0;
}[/pawn]
-
[pawn]C:\\Users\\endyke\\Downloads\\szerver\\filterscripts\\szerelo.pwn(3) : warning 201: redefinition of constant/macro (symbol \"MAX_VEHICLES\")
C:\\Users\\endyke\\Downloads\\szerver\\filterscripts\\szerelo.pwn(24) : error 001: expected token: \")\", but found \"{\"
C:\\Users\\endyke\\Downloads\\szerver\\filterscripts\\szerelo.pwn(28) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
1 Error.
[/pawn]
:s mi lehet a baja?
-
Mód elejére:
#undef MAX_VEHICLES
#define MAX_VEHICLES 150 // ide bármit irhatsz
[pawn]new vehicles = 0;
for(; vehicles++ < MAX_VEHICLES;)
if(GetDistanceToVehicle(playerid, vehicles < 3.1)
{
SetVehicleHealth(vehicles, 100.0);
RepairVehicle(vehicles);
}[/pawn]
helyett
[pawn]new vehicles = 0;
while(vehicles < MAX_VEHICLES)
if(GetDistanceToVehicle(playerid, vehicles < 3.1)
{
SetVehicleHealth(vehicles, 100.0);
RepairVehicle(vehicles);
vehicles++;
}[/pawn]
-
Sheet, elírtad. Whike helyett while.:D
-
Sheet, elírtad. Whike helyett while.:D
Tényleg :D Bocsesz, javítva
-
Kicsit helyre szedtem most már warning nincs de 1 makacs error még mindig itt van
[pawn]#include <a_samp>
#undef MAX_VEHICLES
#define MAX_VEHICLES 150 // ide bármit irhatsz
stock Float:GetDistanceToVehicle(playerid, vehicleid)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
if(!IsPlayerConnected(playerid)) {
return -1.00;
}
GetPlayerPos(playerid,x1,y1,z1);
GetVehiclePos(vehicleid,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new vehicles = 0;
if (strcmp(\"/javít\", cmdtext, true, 10) == 0)
{
while(vehicles < MAX_VEHICLES)
if(GetDistanceToVehicle(playerid, vehicles < 3.1)
(23) {
SetVehicleHealth(vehicles, 100.0);
RepairVehicle(vehicles);
vehicles++;
}
return 1;
}
return 0;
}[/pawn]
[pawn]C:\\Users\\endyke\\Downloads\\szerver\\filterscripts\\szerelo.pwn(23) : error 001: expected token: \")\", but found \"{\"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
1 Error.
[/pawn]
-
if (strcmp(\"/javít\", cmdtext, true, 10) == 0)
{
while(vehicles < MAX_VEHICLES)
if(GetDistanceToVehicle(playerid, vehicles < 3.1)
(23) {
SetVehicleHealth(vehicles, 100.0);
RepairVehicle(vehicles);
vehicles++;
}
return 1;
}
[/quote]
vedd ki a (23)-t
-
úh ez fájt azért írtam oda hogy az a sor a hibás az a 23 as sor
-
[pawn]while(vehicles < MAX_VEHICLES)
{
//ide rakd a cuccost
}[/pawn]
kihagytad a { , } jeleket
-
Könyörgön, ne használjunk már ilyen elavult lassú sz*r módszereket.
Lásd: GetDistanceToVehicle
Ez minek? Ha van GetVehicleDistanceFromPoint
[pawn]
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(\"/javít\", cmdtext, true))
{
new
Float:fpx,
Float:fpy,
Float:fpz;
GetPlayerPos(playerid, fpx, fpy, fpz);
for(new i; i < MAX_VEHICLES; i++)
{
if(GetVehicleDistanceFromPoint(i, fpx, fpy, fpz) > 3.0) continue;
RepairVehicle(i); // Elég ez, nemkell a SetVehicleHealth()
break; // Megállítja a ciklust, ahogy megvan az elsõ közelebbi jármû, azt megjavítja és megálljtja. Töröld ezt a sort, ha több kocsira is akarod, hogy menjen.
}
return 1;
}
return 0;
}
[/pawn]
-
[pawn]C:\\Users\\endyke\\Downloads\\szerver\\gamemodes\\Új mappa\\mod.pwn(131) : error 017: undefined symbol \"GetVehicleDistanceFromPoint\"
C:\\Users\\endyke\\Downloads\\szerver\\gamemodes\\Új mappa\\mod.pwn(173) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
1 Error.
[/pawn]
ez 0.3d s ? mert én c vel játszok
-
Frissíts a 0.3c R5-re!