Nos, a problémám a következő; kezdő scripter vagyok, elkezdtem írni egy modot.
Létrehoztam egy Ment nevű stockot, ami ha életbe lép, akkor felülírja a karakter XY adatát. Legalábbis ilyen szándékkal készítettem, eddig meseszépen működött:
stock Ment(playerid)
{
GetPlayerName(playerid, Nev,sizeof(Nev));
new File[256];
format(File, sizeof(File), \"Karakterek/%s.ini\", Nev);
if(dini_Exists(File))
{
dini_IntSet(File, \"Szint\", JatekosInfo[playerid][szint]);
dini_IntSet(File, \"Skin\", GetPlayerSkin(playerid));
dini_IntSet(File, \"Penz\", JatekosInfo[playerid][Penz]);
dini_IntSet(File, \"Kor\", JatekosInfo[playerid][Kor]);
dini_IntSet(File, \"Nem\", JatekosInfo[playerid][Nem]);
dini_IntSet(File, \"Regizett\", JatekosInfo[playerid][Regizett]);
dini_IntSet(File, \"Frakcio\", JatekosInfo[playerid][Frakcio]);
dini_IntSet(File, \"Rang\", JatekosInfo[playerid][Rang]);
dini_IntSet(File, \"Leader\", JatekosInfo[playerid][Leader]);
dini_IntSet(File, \"AdminSzint\", JatekosInfo[playerid][AdminSzint]);
}
}
Azonban most készítek egy /szolg parancsot, aminek az lenne a lényege, hogyha beírja a játékos, akkor a következő /szolg-ig maradjon ez a skin, akkor pedig váltódjon vissza az eredeti (mivel még nincs ruhabolt) 26 ID-re.
Vagy ha nincs is /szolg, de lelépésig maradjon rajta, következő visszalépéskor pedig kapja meg a 26-os skint.
Na és most jön a poén:
CMD:szolg(playerid, params[])
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][Rang] >= 1)
{
SetPlayerSkin(playerid,301);
}
else SendClientMessage(playerid, COLOR_ORANGE, \"(( Nem vagy frakciótag! ))\");
}
else SendClientMessage(playerid, COLOR_ORANGE, \"(( Nem vagy bejelentkezve! ))\");
return 1;
}
Annyit állítottam be, hogy SetPlayerSkinelje szolgálatba lépéskor a karaktert 301-re...azonban ezt meseszépen menti a Karakter inijébe, lövésem sincs miért, hiszen sehol sincs parancson belül egy JatekosInfo[playerid][rang], vagy egy Ment(id); létrehozva, ami okozhatná ezt.
Tudnátok segíteni? Köszönöm.