-
Üdv!
Hogy tudom letiltani a fegyvereket bizonyos helyeken? pl. spawn helynél
-
Szia!
Ez így, ha a megadott x, y, z koordináta körül a játékban kb. 50m távolságra van a játékos, akkor elveszi a fegyvereit! Remélem megfelel!
[pawn]
public OnPlayerWeaponChange(playerid, newweaponid, oldweaponid)
{
if(IsPlayerInRangeOfPoint(playerid, 50.0, x,y,z))
{
ResetPlayerWeapons(playerid);
}
return 0;
}
[/pawn]
-
nincs is ilyen callback : <
-
Tessék! ;)
public OnPlayerUpdate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 50.0, x,y,z))
{
ResetPlayerWeapons(playerid);
SendClientMessage(playerid,0xff0000AA,\"Sajnálom, itt nem használhatsz fegyvert!\");
}
return 0;
}
-
Kösz ment a +! :)
Dupla hozzászólás automatikusan összefûzve. ( 2012. február 14. - 21:27:22 )
asszem csak kezdésnél veszi el a fegyvereket de nekem olyan kell hogy azon a területen másodpercenként vegye el! ;D
-
Nem. Amit Cannon irt az ha valaki bemegy arra a területre amire bevan irva a script. pl. benne az a 50.0 az azt hiszem 50 méteres körzetben használ. Az x,y,z hez pedig ajánlatos a spawn hely kordinátáját irni.
-
Ha 1x elveszi és megint lesz nálam fegyver nem veszi el!
-
Ha megmozdulsz el kell hogy vegye!
-
Nálam nem veszi el csak folyamatosan írta az üzenetet amíg el nem hagytam a helyszínt :D ezért azt kivettem.
ha kell adok ip címet hogy nézd meg ;D
-
Akkor ezt vedd ki, és meg van oldva! ;) :)
SendClientMessage(playerid,0xff0000AA,\"Sajnálom, itt nem használhatsz fegyvert!\");
Lehet kicsit laggos megoldás de ez van :D
-
Szerintem meg timerrel értelmesebb lenne megoldani...
-
#include < a_samp >
forward WeaponChange();
public OnFilterScriptInit()
{
SetTimer(\"WeaponChange\", 500, true);
return 1;
}
public WeaponChange()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInRangeOfPoint(i, Float:Sugár, Float:x, Float:y, Float:z))
{
if(GetPlayerWeapon(i) != 0)
{
ResetPlayerWeapons(i);
}
}
}
}
}
-
az én modomba van a hiba mert más móddal tökéletesen mûködik :mistrust:
hogy lehet több helyet berakni?:D
[pawn]public WeaponChange()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInRangeOfPoint(i, Float:Sugár, Float:x, Float:y, Float:z))
if(IsPlayerInRangeOfPoint(i, Float:Sugár, Float:x, Float:y, Float:z))
{
if(GetPlayerWeapon(i) != 0)
{
ResetPlayerWeapons(i);
}
}
}
}
}[/pawn]
így csináltam de így nem mûködik :D
-
[pawn]public WeaponChange()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInRangeOfPoint(i, 50.0, x, y z))
{
if(GetPlayerWeapon(i) != 0)
{
ResetPlayerWeapons(i);
}
}
}
}[/pawn]