Sziasztok,lenne pár kérdésem:
1,
if (strcmp(\"/evés\", cmdtext, true, 10) == 0)
{
IsPlayerInRangeOfPoint(playerid, Float:range, Float:x, Float:y, Float:z)
SetPlayerHealth(playerid,100);
return 1;
}
Ha kitöltöm a helyes koordinátákkal akkor mûködni fog?Vagyis azt akarom elérni hogy, a koordináta körül bizonyos sugárban lehessen csak használni a parancsot.Ha így nem jó akkor hogy kell?
2,
if (strcmp(\"/fegyver gránát\", cmdtext, true, 10) == 0)
{
IsPlayerInRangeOfPoint(playerid, Float:range, Float:x, Float:y, Float:z)
ResetPlayerWeapons xy
GivePlayerWeapons xy
return 1;
}
Ez így mûködne?Amit elakarok érni az az,hogy egy bizonyos pont körülötti sugárban ha beírod a /fegyver gránát parancsot akkor törli az összes itemedet és kapsz kapsz gránátot.Ha nem így kell akkor leírnátok kérlek?
3,
Hogy lehet kifejezni azt,hogy mit írjon ki akkor ha a szükséglet nem elérhetõ akkor kiírjon valamit? If Not?Vagy pontosan mit kell írni?Hova írjam a szükségleteket és hogyan stb :D
4,
Van két csapat,amiben 1-1 skin van.Beakarom állítani hogy külön helyen kezdjenek,de mindig az elsõ helyére rakja le a 2. csapatot is.
Itt van összevágva a csapatokkal foglalkozó script:
#define TEAM_AMCSI 0
#define TEAM_OROSZ 1
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerCameraPos(playerid, 1654.6665, -1664.4901, 22.1034); // kamera pozíció megadása
SetPlayerCameraLookAt(playerid, 1653.8076, -1660.0526, 22.5156); // merrefelé nézzen a kamera (ajánlott a játékos pozíciója)
SetPlayerPos(playerid, 1653.8076,-1660.0526,22.5156); // játékos pozíciója
SetPlayerFacingAngle(playerid, 180); // játékos nézõszöge
ApplyAnimation(playerid,\"PARK\",\"WEAPON_throw\",4.0,1,0,0,0,-1);
SetPlayerClass(playerid, classid);
gPlayerClass[playerid] = classid;
switch (classid) {
case 0:
{
GameTextForPlayer(playerid, \"~b~Amerikai\", 500, 6);
}
case 1:
{
GameTextForPlayer(playerid, \"~r~Szovjet\", 500, 6);
}
}
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerInterior(playerid,0);
if(gTeam[playerid] == TEAM_AMCSI)
{
SetPlayerPos(playerid, 294.9058,1930.4944,17.6406);
SetPlayerColor(playerid,COLOR_BLUE); // Lime
GivePlayerWeapon(playerid, 4, 1);
GivePlayerWeapon(playerid, 22, 250);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 29, 500);
GivePlayerWeapon(playerid, 16, 8);
}
if(gTeam[playerid] == TEAM_OROSZ)
{
SetPlayerPos(playerid, -126.3422775,974.5765991,19.851);
SetPlayerColor(playerid,COLOR_RED); // Pink
GivePlayerWeapon(playerid, 4, 1);
GivePlayerWeapon(playerid, 22, 250);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 29, 500);
GivePlayerWeapon(playerid, 16, 8);
}
return 1;
ÉS ez áll a végén,ami még a csapathoz tartozik,lehet hogy itt van a hiba:
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
SetPlayerClass(playerid, classid) {
if(classid == 0 || classid == 1 || classid == 2) {
gTeam[playerid] = TEAM_AMCSI;
} else if(classid == 3 || classid == 4 || classid == 5) {
gTeam[playerid] = TEAM_OROSZ;
}
}
Még kezdõ vagyok scriptelés terén,bocsi ha érthetetlen vagyok.
1 , 2.
kell az if ciklus az IsPlayerRange stb.. elõtt és egy nyitás {
vagyis igy
if(IsPlayerInRangeOfPoint(playerid, Float:range, Float:x, Float:y, Float:z)
{
SetPlayerHealth(playerid,100);
return 1;
}
Fegyveresnél :
if (strcmp(\"/fegyver gránát\", cmdtext, true, 10) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, Float:range, Float:x, Float:y, Float:z)
{
ResetPlayerWeapons xy
GivePlayerWeapons xy
}
return 1;
}
4.
Random Spawn al old meg :)
Mit írjak ahhoz,hogy ha a pont hatótávolságán kívül akarom használni akkor kiírjon valamit.
Újabb kérdés: Beraktam pár 3D Textet,meg jármûvet,kiszedtem ideiglenesen parancsos sorokat.
Create3DTextLabel(\"Katonai Étkezde\",0x008080FF,298.09832763672,1899.9403076172,17.139101028442,40.0,0); //USA
Create3DTextLabel(\"/evés\",0x008080FF,298.09832763672,1899.9403076172,17.039101028442,40.0,0); //USA
Create3DTextLabel(\"Katonai Étkezde\",0x008080FF,-134.23826599121,1048.8264160156,19.86208152771,40.0,0); //RUS
Create3DTextLabel(\"/evés\",0x008080FF,-134.23826599121,1048.8264160156,19.76208152771,40.0,0); //RUS
Create3DTextLabel(\"Fegyver Raktár\",0x008080FF,288.70947265625,1932.7875976563,17.139101028442,40.0,0); //USA
Create3DTextLabel(\"/kasztváltás\",0x008080FF,288.70947265625,1932.7875976563,17.039101028442,40.0,0); //USA
Create3DTextLabel(\"Fegyver Raktár\",0x008080FF,-126.34227752686,974.57659912109,19.8515625,40.0,0); //RUS
Create3DTextLabel(\"/kasztváltás\",0x008080FF,-126.34227752686,974.57659912109,19.7515625,40.0,0); //RUS
public OnPlayerCommandText(playerid, cmdtext[])
{
return 1;
}
És most ha fellép valaki a szerverre,pl.: én akkor kiírja hogy Connected... és utána leáll a szerver.
Rájöttem hogy a csapatokkal van baj és azért nem rakja külön helyre a 2. csapatot.Ha valaki a 2. csapatba lép (szovjet) akkor amerikai bázison lesz és amerikai is lesz.Ha megölöm azt érzékeli hogy a csapattársam.Pls help thx