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: kacsaporkolt - 2015. November 27. - 23:31:59

Cím: Miért menti a Skin változót egy egyszerű SetPlayerSkin miatt?
Írta: kacsaporkolt - 2015. November 27. - 23:31:59
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.
Cím: Miért menti a Skin változót egy egyszerű SetPlayerSkin miatt?
Írta: Pedró - 2015. November 28. - 07:15:09
JatekosInfo ba irj egy Skin valtozot is
Aztan az osszes setplayerskinhez ird oda a valtozo modositast is, kiveve a szolg parancsnal
Szal igy nezzen ki:
 
SetPlayerSkin(playerid, 36);
JatekosInfo[playerid][skin] = 36;

 
Amikor kilep a szolgalatbol: (vissza allitsa az eredeti skinre: (ide se kell JatekosInfo allitas
 
SetPlayerSkin(playerid, JatekosInfo[playerid][skin]);

 
Menteshez pedig GetPlayerSkin helyett JatekosInfo[playerid][skin]
Cím: Miért menti a Skin változót egy egyszerű SetPlayerSkin miatt?
Írta: kacsaporkolt - 2015. November 28. - 10:44:58
Van Skin változóm. Regisztráció után a játékos megkapja a 26-os skint(nő esetében másikat) ami egyenlőre egyes egyedül a /szolg-nál kéne, hogy változzon. Ha beleírnám a /szolg-ba, hogy JatekosInfo[playerid][skin] = 36; akkor lenne jogos, hogy 36-ra felülírja a Skin ID-t de mivel ilyet nem állítottam, nem értem miért írja át. :/
Lehet, hogy csak a te leírásodat értelmeztem félre, ha így van, jelezd, és akkor megpróbálkozok vele. :D
Cím: Miért menti a Skin változót egy egyszerű SetPlayerSkin miatt?
Írta: Pedró - 2015. November 28. - 11:07:02
félre értetted teljesen, olvasd át egy párszor és megérted. nem fogok magyarázkodni jobban, ékezetek nélkül is értelmezhető szerintem
ha nem megy, akkor van egy rossz hírem
Cím: Miért menti a Skin változót egy egyszerű SetPlayerSkin miatt?
Írta: kacsaporkolt - 2015. November 29. - 00:25:35
Na mi a rossz híred?
ui: jól látom, hogy alattyáni vagy?
Cím: Miért menti a Skin változót egy egyszerű SetPlayerSkin miatt?
Írta: Pedró - 2015. November 29. - 14:21:48
ja jól
a rossz hír az hogy nincs érzéked hozzá.
Cím: Miért menti a Skin változót egy egyszerű SetPlayerSkin miatt?
Írta: kacsaporkolt - 2015. November 29. - 16:08:15
az durva, én is :D
és az meg hogy nincs érzékem hozzá, betudható talán annak hogy 1 hónapja kezdtem.
Cím: Miért menti a Skin változót egy egyszerű SetPlayerSkin miatt?
Írta: Pedró - 2015. November 29. - 16:14:47
Idézetet írta: Pedró date=1448691309\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"58562\" data-ipsquote-contentclass=\"forums_Topic
JatekosInfo ba irj egy Skin valtozot is
 


Van Skin változóm.
 
[/quote]
az jó, akkor kihagyhatod a létrehozását.



Regisztráció után a játékos megkapja a 26-os skint(nő esetében másikat) ami egyenlőre egyes egyedül a /szolg-nál kéne, hogy változzon. Ha beleírnám a /szolg-ba, hogy JatekosInfo[playerid][skin] = 36; akkor lenne jogos, hogy 36-ra felülírja a Skin ID-t de mivel ilyet nem állítottam, nem értem miért írja át. :/
 
[/quote]
nos, a problémád megoldásához ezekszerint elég lenne az, hogy ezt a részt értelmezd
 

Menteshez pedig GetPlayerSkin helyett JatekosInfo[playerid][skin]
 
[/quote]


de egyébként
 

Ha beleírnám a /szolg-ba, hogy JatekosInfo[playerid][skin] = 36; akkor lenne jogos, hogy 36-ra felülírja a Skin ID-t de mivel ilyet nem állítottam, nem értem miért írja át. :/
 
[/quote]
ezt a problémád megoldottuk, de a lényeg, hogy én is leírtam, hogy a /szolg nál ne írd oda.. hiszen..
 

Aztan az osszes setplayerskinhez ird oda a valtozo modositast is, kiveve a szolg parancsnal
 
[/quote]
fogod? \"kiveve a szolg parancsnal\"
:D


sőtt még adtam neked bónuszt is..
 

Amikor kilep a szolgalatbol: (vissza allitsa az eredeti skinre: (ide se kell JatekosInfo allitas
 
SetPlayerSkin(playerid, JatekosInfo[playerid][skin]);

 

[/quote]


felvettelek skypeon amúgy

Dupla hozzászólás automatikusan összefûzve. ( 2015. November 29. - 16:16:20 )


1 hónapja kezdtem.
 
[/quote]
https://sampforum.hu/index.php?topic=61698.msg554899#msg554899
hmm