if(strcmp(cmdtext, "/buyweapon", true) == 0)
{
if(PlayerToPoint(5.0,playerid,-350.0617,-1035.7896,59.5079)
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "Weapons Available to buy!", "Deagle \nShotgun \nMp5 \nM4 \nSmoke bomb\nArmour And Health ", "Buy", "Close");
}
return 1;
}
evo, to želim napraviti
da na samo jednom mjestu se može kupovati oružje!
Ali izbacuje mi ovaj error
C:\Users\BRANE\Desktop\skripta\gamemodes\Skripts.pwn(257) : error 017: undefined symbol "PlayerToPoint"
molim pomoc sto prije,
Beka
Dodaj ovo u skripti
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
if(IsPlayerConnected(playerid))
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
}
return 0;
}
a i mislim da ti komanda nije malo sredena pa evo
if(strcmp(cmdtext, "/buyweapon", true) == 0)
{
if(PlayerToPoint(5.0,playerid,-350.0617,-1035.7896,59.5079)
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "Weapons Available to buy!", "Deagle \nShotgun \nMp5 \nM4 \nSmoke bomb\nArmour And Health ", "Buy", "Close");
}
return 1;
}
Nemas definirano PlayerToPoint. Bolje koristi IsPlayerInRangeOfPoint (http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint).
I onda bi to ovako izgledalo umjesto PlayerToPoint() IsPlayerInRangeOfPoint():
if(strcmp(cmdtext, "/buyweapon", true) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, -350.0617, -1035.7896, 59.5079))
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "Weapons Available to buy!", "Deagle \nShotgun \nMp5 \nM4 \nSmoke bomb\nArmour And Health ", "Buy", "Close");
return 1;
}
ZAHVALJUJEM, riješeno!!!! =) <3
ako zna tko, kako da napravim recimo da na dvije lokacije mogu postavit istu komandu? :/
Stavis npr.:
if(IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z) || IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z))
{
//Kod
}
if(PlayerToPoint(2.0,i, x, y , z ) || PlayerToPoint(2.0,i, x, y , z ))
admini izbrisite ovo nisam video da je imalo odgovor :S
Ok, i to je riješeno, hvala vam =)..
A znate kak napravit jednostavno /goto komandu...
neznam oko GetPlayerPos ili kako se to radi :S...
ukoliko mislis na vakvu komandu
primer /gotols
evo
if(strcmp(cmdtext, "/gotols", true) == 0)
{
SetPlayerPos(playerid, x , y, z);
return 1;
}
ne, samo /goto nekog igraÄa...
gotols znam napravit... treba mi za admin komanda... radim mod od nule =)
Evo ovako bi izgledalo s ZCMD i sscanf:
CMD:goto(playerid, params[])
{
new
pID,
Float:x,
Float:y,
Float:z;
if(sscanf(params, "u", pID)) return SendClientMessage(playerid, 0xFFFFFFAA, "Koristi: /goto <playerid>");
GetPlayerPos(pID, x, y, z);
SetPlayerPos(playerid, x, y, z);
return 1;
}
aha kužim... hvala... al kak da složim ono admin lvl-e... msm nemogu svakome dat rcon pass... :/...
Sto ne razumijes? Malo bolje objasni sto se ne razumijes.
sry skuzio sam to sve, radi ko podmazano =)
Citataha kužim... hvala... al kak da složim ono admin lvl-e... msm nemogu svakome dat rcon pass... :/...
to.. mi još treba
if(pInfo[playerid][pAdmin] != 0)...
Znaci ako je igrac bilokoji admin level...
if(PlayerInfo[playerid][pAdmin] = 1 )
else
//Ovdje stavi sta hoces, mozes dialog mozes SendClientMessage itd..
Pa rekao je da radi mod od nule -.- znaci nema definirano PlayerInfo[MAX_PLAYERS][pInfo]
Evo ovako to dodaj:
Na vrh skripte stavi:
enum pInfo
{
pAdmin,
pGameMaster
};
new PlayerInfo[MAX_PLAYERS][pInfo]
i da namjestis admin level ili gm level radi ovak
PlayerInfo[playerid][pAdmin] = level;
ili
PlayerInfo[playerid][pGameMaster] = level;
@Beka, koristi moj tut: http://balkan-samp.com/forum/index.php?topic=15196.0 (http://balkan-samp.com/forum/index.php?topic=15196.0) za aritmeticke simbole sta se tice || ili &&..