-
Sziasztok lenne egy kérdésem!:D
Hogy lehet egy parancsot úgy megcsinálni h csak az tudja használni aki pl level1 es admin?:D
Elöre is kösz mindenkinek!:D
Hello:P
-
Ez engem is érdekelne kapunyitásokhoz, de ha minden igaz akkor azt is kéne tudni, hogy milyen admin-t használsz.
-
Így van,tudnunk kell hogy hogyan ellenörzöd le az admin szintjét egy játékosnak,vagy ha ismertebb scriptrõl van szó akk annak a nevét.(pl. LAdmin4)
-
parancsod alá:
if(IsPlayerAdmin(playerid) == 1)
{
//Hogy mi történjen
}
else {
SendClientMessage(playerid, -színkód-, \"HIBA: Nem vagy admin!\");
}
Ez nem függ attól, hogy hanyas szintû. Az admin scriptekhez még nem nagyon értek, de most kezdem :D
-
parancsod alá:
if(IsPlayerAdmin(playerid) == 1)
{
//Hogy mi történjen
}
else {
SendClientMessage(playerid, -színkód-, \"HIBA: Nem vagy admin!\");
}
Ez nem függ attól, hogy hanyas szintû. Az admin scriptekhez még nem nagyon értek, de most kezdem :D
Ez kizárólag RCON adminal mûködik.
-
ja, bocs. :D
mondjuk gondoltam...
-
Ladmin4v2-höz tud valaki írni?
pl. ezt a kaput csak adminoknak 1estõl..?
if (strcmp(cmdtext,\"/garázs-nyit\", true) == 0)
{
MoveObject(mentogarage, -339.520905, 1055.872070, 25.604019, 2.0);
SendClientMessage(playerid,0xFF4300, \"Kinyitottad a fõnöki garázst.\");
return 1;
}
if (strcmp(cmdtext,\"/garázs-zár\", true) == 0)
{
MoveObject(mentogarage, -339.520905, 1055.872070, 21.629080, 2.0);
SendClientMessage(playerid,0xFF4300, \"Bezártad a fõnöki garázst.\");
return 1;
}
Amúgy ha egyszer végre rájövök, hogy hogyan kell leaderes melót csinálni akkor arra könnyen átlehet írni? mert akkor már nem adminé lesz hanem a leaderes munkában lévõké.
-
Nekem a ladmin4 van de igysetom h kell:S
HELP:!!!
-
Fejbõl írtam de azthiszem így van:
//Mód elejére:
#include <IsPlayerLAdmin>
//Parancsokhoz:
if (strcmp(cmdtext,\"/garázs-nyit\", true) == 0)
{
if(!IsPlayerLAdmin(playerid)) return 0;
MoveObject(mentogarage, -339.520905, 1055.872070, 25.604019, 2.0);
SendClientMessage(playerid,0xFF4300, \"Kinyitottad a fõnöki garázst.\");
return 1;
}
if (strcmp(cmdtext,\"/garázs-zár\", true) == 0)
{
if(!IsPlayerLAdmin(playerid)) return 0;
MoveObject(mentogarage, -339.520905, 1055.872070, 21.629080, 2.0);
SendClientMessage(playerid,0xFF4300, \"Bezártad a fõnöki garázst.\");
return 1;
}
A lényeg h a parancsok LEGELEJÉRE beírod:
if(!IsPlayerLAdmin(playerid)) return 0;
de elöbb a mód legelején:
#include <IsPlayerLAdmin>
De ehez kell az IsPlayerLAdmin.inc ,elvileg le lehet tölteni a LAdminal eggyütt,aztán be kell rakni a pawno/include mappába.
-
Az IsPlayerLAdmin.inc-et megtaláltam ott ahol mondtad, pawnonál. Kipróbálom a kódot.
Ki próbáltam, ha Adminként vagyok akkor kinyitja viszont ha sima playerként akkor annyit ír, hogy server uncommand vagy mi.. Ehhez keresek valamit, hogy kiírja, hogy nincs meg a kellõ szintje hozzá.
Remélem nem gáz, hogy kérdezõsködök :D Még ismerkedem a kódokkal meg minden dologgal és nem akarom elrontani azért kérdezgetek it :)
Amúgy azt meglehet oldani, hogy ne lehessen akárhonnan kinyitni a kaput? Ha nem mondjuk 2-3lépés távolságról lehessen csak?
-
if (strcmp(cmdtext,\"/garázs-nyit\", true) == 0)
{
if(!IsPlayerLAdmin(playerid)) return SendClientMessage(playerid, szín, \"Nem vagy adminisztrátor!\");
if(!IsPlayerRangeOfPoint(hatótávolság, playerid, X, Y, Z)) return SendClientMessage(playerid, szín, \" Nem vagy a mentõsgarázs kapujánál!\");
MoveObject(mentogarage, -339.520905, 1055.872070, 25.604019, 2.0);
SendClientMessage(playerid,0xFF4300, \"Kinyitottad a fõnöki garázst.\");
return 1;
}
if (strcmp(cmdtext,\"/garázs-zár\", true) == 0)
{
if(!IsPlayerLAdmin(playerid)) return SendClientMessage(playerid, szín, \"Nem vagy adminisztrátor!\");
if(!IsPlayerRangeOfPoint(hatótávolság, playerid, X, Y, Z)) return SendClientMessage(playerid, szín, \" Nem vagy a mentõsgarázs kapujánál!\");
MoveObject(mentogarage, -339.520905, 1055.872070, 21.629080, 2.0);
SendClientMessage(playerid,0xFF4300, \"Bezártad a fõnöki garázst.\");
return 1;
}
-
Erre azt írja, hogy Undefined symbol.
if(!IsPlayerRangeOfPoint
Am most így néz ki ( egyenlõre csak a nyitáshoz tettem...:
if (strcmp(cmdtext,\"/garázs-nyit\", true) == 0)
{
if(!IsPlayerLAdmin(playerid)) return SendClientMessage(playerid, 0xAA3333AA, \"Nem vagy adminisztrátor!\");
if(!IsPlayerRangeOfPoint(5.0, playerid, -343.9662,1056.2091,19.8264)) return SendClientMessage(playerid, 0xAA3333AA, \" Nem vagy a mentõsgarázs kapujánál!\");
MoveObject(mentogarage, -339.520905, 1055.872070, 25.604019, 2.0);
SendClientMessage(playerid,0xFF4300, \"Kinyitottad a fõnöki garázst.\");
return 1;
}
-
Nekem se megy:S
Probáltam Ladmin alapján megcsi nem megy:S
Sehogyse:S
Help:D
-
Át írtam de azt írta, az IsPlayerRangeOfPoint-ra, hogy Undefined Symbol utánna megnéztem saa-mp wikin, és ott az volt, hogy IsPlayerInRangeOfPoint szóval átírtam erre de ezt írja.. warning 213: tag mismatch..
Mi lehet a gond? és még annyi, hogy csomó loose indentation-om is van azokat el lehet tüntetni?
if (strcmp(cmdtext,\"/garázs-nyit\", true) == 0)
{
if(!IsPlayerLAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000AA, \"Nem vagy adminisztrátor!\");
if(!IsPlayerInRangeOfPoint(9.0, playerid, -343.9662,1056.2091,19.8264)) return SendClientMessage(playerid, 0xFF0000AA, \" Nem vagy a mentõsgarázs kapujánál!\");
MoveObject(mentogarage, -339.520905, 1055.872070, 25.604019, 2.0);
SendClientMessage(playerid,0x33CCFFAA, \"Kinyitottad a fõnöki garázst.\");
return 1;
}
-
Loose Indentitation = Igazodás Elvesztése (vagy valami ilyesmi.)
példa a rosszra:
public OnGameModeInit()
{
SendClientMessage(playerid, CÉKLAKÉK, \"Ez a sor a helyén van de az alatta lévõ már elcsúszik\");
GameTextForPlayer(playerid, \"Ehe Ihi\", 2, 1000);
return 1;
}
Tehát próbáld meg egybe igazítani a sorokat, így:
public OnGameModeInit()
{
SendClientMessage(playerid, CÉKLAKÉK, \"Ez a sor a helyén van de az alatta lévõ már elcsúszik\");
GameTextForPlayer(playerid, \"Ehe Ihi\", 2, 1000);
return 1;
}
TAB-bal is tudod.
-
Köszi, már 1db Loose Indentitation sincs :D patyolat tiszta a pawno :p :)
Akkor erre nem tud valaki valamit, hogy az if(!IsPlayerRangeOfPoint-ra miért ír undefine symbol hibát?
ha meg átírom if(!IsPlayerInRangeOfPoint-ra akkor meg tag mismatch hibát?
-
mert a \"!\" a hamis (false) értéket jelenti, és ugye ennek nem csak 2 féle (igaz, hamis) hanem egy koordináta.
tehát:
if(IsPlayerInRangeOfPoint == ide a koordinátát)
{
return 1;
}
remélem segített :D
E: Rosszul írtam, kijavítva.
-
Ha átírom arra amit írtál akkor --> error 017: undefined symbol \"IsPlayerRangeInOfPoint\"
if (strcmp(cmdtext,\"/garázs-nyit\", true) == 0)
{
if(!IsPlayerLAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000AA, \"Nem vagy adminisztrátor!\");
if(IsPlayerRangeInOfPoint(9.0, playerid, -343.9662,1056.2091,19.8264)) return SendClientMessage(playerid, 0xFF0000AA, \" Nem vagy a mentõsgarázs kapujánál!\");
MoveObject(mentogarage, -339.520905, 1055.872070, 25.604019, 2.0);
SendClientMessage(playerid,0x33CCFFAA, \"Kinyitottad a fõnöki garázst.\");
return 1;
}
Ha pedig az In-t átírom a IsPlayer után akkor meg megint ez.. --> warning 213: tag mismatch :S :/
-
If(IsPlayerInRangeOfPoint == koordináta)
{
//ezmegaz
}
nem kell playerid, meg ilyenek, csak a 3 koordináta. példa:
E:
if(IsPlayerInRangeOfPoint(playerid, 123.456, 789.101, 123.141))
{
SendClientMessage(playerid, CÉKLAKÉK, \"Beléptél az xyz koordinátába.\");
return 1;
}
ROSSZUL ÍRTAM KIJAVÍTVA!
de most mán megyek, majd zárd a témát ha jó.
-
Na kicsit szenvedtem vele minden féle formában kipróbáltam és így most mûködik! Ha nem vagyok a hatósugarában akkor adja a szöeget és nem tudom nyitni viszont ha odamegyek és az 5.0-ás hatósugárba beleérek akkor már nyitja is :)
if (strcmp(cmdtext,\"/garázs-nyit\", true) == 0)
{
if(!IsPlayerLAdmin(playerid)) return SendClientMessage(playerid, 0xFF0000AA, \"Nem vagy adminisztrátor!\");
if(!IsPlayerInRangeOfPoint(playerid, 5.0, -343.9662,1056.2091,19.8264)) return SendClientMessage(playerid, 0xFF0000AA, \" Nem vagy a mentõsgarázs kapujánál!\");
return 1;
}