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: Laci15vvv - 2011. január 25. - 16:11:41

Cím: Parancs készités:D
Írta: Laci15vvv - 2011. január 25. - 16:11:41
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
Cím: Parancs készités:D
Írta: Zsolt01 - 2011. január 25. - 17:08:30
Ez engem is érdekelne kapunyitásokhoz, de ha minden igaz akkor azt is kéne tudni, hogy milyen admin-t használsz.
Cím: Parancs készités:D
Írta: ChuckNorris - 2011. január 25. - 19:00:58
Í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)
Cím: Parancs készités:D
Írta: palesz_88 - 2011. január 25. - 19:02:49
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
Cím: Parancs készités:D
Írta: ChuckNorris - 2011. január 25. - 19:03:58
Idézetet írta: Zinthos date=1295978569\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5596\" data-ipsquote-contentclass=\"forums_Topic
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.
Cím: Parancs készités:D
Írta: palesz_88 - 2011. január 25. - 19:04:40
ja, bocs. :D
mondjuk gondoltam...
Cím: Parancs készités:D
Írta: Zsolt01 - 2011. január 25. - 19:24:01
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é.
Cím: Parancs készités:D
Írta: Laci15vvv - 2011. január 25. - 19:29:36
Nekem a ladmin4 van de igysetom h kell:S
HELP:!!!
Cím: Parancs készités:D
Írta: ChuckNorris - 2011. január 25. - 20:37:35
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.
Cím: Parancs készités:D
Írta: Zsolt01 - 2011. január 25. - 22:35:27
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?
Cím: Parancs készités:D
Írta: ►ѕтa - 2011. január 26. - 07:09:48

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;
    }
Cím: Parancs készités:D
Írta: Zsolt01 - 2011. január 26. - 12:42:38
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;
    }
Cím: Parancs készités:D
Írta: Laci15vvv - 2011. január 26. - 13:05:54
Nekem se megy:S
Probáltam Ladmin alapján megcsi nem megy:S
Sehogyse:S
Help:D
Cím: Parancs készités:D
Írta: Zsolt01 - 2011. január 26. - 17:25:35
Á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;
    }
Cím: Parancs készités:D
Írta: palesz_88 - 2011. január 26. - 18:32:23
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.
Cím: Parancs készités:D
Írta: Zsolt01 - 2011. január 26. - 20:39:03
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?
Cím: Parancs készités:D
Írta: palesz_88 - 2011. január 26. - 21:37:42
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.
Cím: Parancs készités:D
Írta: Zsolt01 - 2011. január 26. - 21:43:05
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 :/
Cím: Parancs készités:D
Írta: palesz_88 - 2011. január 26. - 21:58:20
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ó.
Cím: Parancs készités:D
Írta: Zsolt01 - 2011. január 27. - 12:55:11
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;
}