Skip to content
Bekijk in de app

Een betere weg om onze GTA community te volgen. Leer meer.

GTAGames.nl - De Nederlandse Grand Theft Auto Community!

Een volledig scherm app op het beginscherm inclusief notificaties, badges en meer.

Om deze app op je iPhone en iPad te installeren
  1. Druk op het icoon in Safari
  2. Scroll in het menu en druk op Zet op beginscherm.
  3. Druk op Voeg toe rechts bovenaan.
Om deze app op je Android toe te voegen
  1. Druk op het 3-punten menu (⋮) rechts bovenaan in de browser.
  2. Druk op Toevoegen aan beginscherm of Installeer app.
  3. Druk op Toevoegen om te bevestigen.

Verscheidene problemen

Geplaatst:

Hallo,

Even een vraag:

-De server saved niet als mensen uitloggen, hoe kan dit?

Alvast bedankt

Bewerkt: door thuron

Featured Replies

Geplaatst:

lol

da is gewoon zo van

gLogged[playerid] = 0; (onder onplayerdisconnect) en daarna staat er if(gLogged[playerid] == 1) { dan saved die de shit dus even glogged = 0; weghalen en eronder zetten :>

Geplaatst:
  • Auteur

ik zie alleen dit:

public OnPlayerDisconnect(playerid, reason)
{
gLogged[playerid] = 0;
PlayerInfo[playerid][pAdmin] = 0;
new string[256], file[128];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
GetPlayerIp(playerid, playerip, sizeof(playerip));
format(file, sizeof(file), "/VirtualScriptingRP/Accounts/%s.ini", PlayerName);
format(string, sizeof(string), "PART: %s(%i) disconnected (IP: %s)", PlayerName, playerid, playerip);
aLog("Connections.txt", string);
if(gLogged[playerid] == 1)

En geen OnPlayerConnect met if(gLogged erbij, maar staat deze goed zo?

Geplaatst:
ik zie alleen dit:

public OnPlayerDisconnect(playerid, reason)
{
gLogged[playerid] = 0;
PlayerInfo[playerid][pAdmin] = 0;
new string[256], file[128];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
GetPlayerIp(playerid, playerip, sizeof(playerip));
format(file, sizeof(file), "/VirtualScriptingRP/Accounts/%s.ini", PlayerName);
format(string, sizeof(string), "PART: %s(%i) disconnected (IP: %s)", PlayerName, playerid, playerip);
aLog("Connections.txt", string);
if(gLogged[playerid] == 1)

En geen OnPlayerConnect met if(gLogged erbij, maar staat deze goed zo?

kijk je hebt bij onplayerdisconnect (sorry) gLogged[playerid] = 0 en onderaan je code zie je if(gLogged[playerid] == 1)

dus die kan nooit gesaved worden even gLogged[playerid] = 0 naar beneden zetten

Geplaatst:
  • Auteur

ik heb al een aantal dingen geprobeerd maar het werkt niet.

zou je het volgende stukje kunnen copieëren en plakken op de goede manier?

public OnPlayerDisconnect(playerid, reason)
{
gLogged[playerid] = 0;
PlayerInfo[playerid][pAdmin] = 0;
new string[256], file[128];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
GetPlayerIp(playerid, playerip, sizeof(playerip));
format(file, sizeof(file), "/VirtualScriptingRP/Accounts/%s.ini", PlayerName);
format(string, sizeof(string), "PART: %s(%i) disconnected (IP: %s)", PlayerName, playerid, playerip);
aLog("Connections.txt", string);
if(gLogged[playerid] == 1)

Alvast bedankt

Geplaatst:

Kijk, sa-mp die leest het script altijd van boven naar beneden. Bijvoorbeeld als een speler de server verlaat, dan start de server bovenaan de OnPlayerDisconnect-callback en gaat regel voor regel naar beneden tot aan het einde van die callback.

Helemaal bovenaan die callback heb je:

gLogged[playerid] = 0;

Hier word dus 'gLogged[playerid]' op de waarde '0' gezet.

Een paar regels later heb je een check gemaakt, die kijkt of de waarde van 'gLogged[playerid]' op '1' staat.

if(gLogged[playerid] == 1)
{

Maar bovenaan heb jij die waarde al op '0' gezet, dus sa-mp slaat de hele code over vanaf regel 2697 tot aan regel 2711 (in het script dat jij in je eerste post hebt geüpload).

In dat stuk code dat overgeslagen wordt, staan just de codes die ervoor zorgen dat de statistieken van de speler worden opgeslagen.

Dus om dit op te lossen, hoef je alleen maar die waarde van 'gLogged[playerid]' pas ná die check op '0' te zetten.

Verwijder dus de 'gLogged[playerid] = 0;' die bovenaan die callback staat, en zet hem onder die check.

Zo dus:

if(gLogged[playerid] == 1)
{
new Skin = GetPlayerSkin(playerid);
if(Skin == 280 || Skin == 281 || Skin == 282)
{
	dini_IntSet(file, "Skin", 0);
}
else
{
	dini_IntSet(file, "Skin", GetPlayerSkin(playerid));
}
GetPlayerIp(playerid, playerip, sizeof(playerip));
dini_IntSet(file, "HandMoney", GetPlayerMoney(playerid));
GetPlayerPos(playerid, Float:PlayerInfo[playerid][pSaveX], Float:PlayerInfo[playerid][pSaveY], Float:PlayerInfo[playerid][pSaveZ]);
PlayerInfo[playerid][pSaveInt] = GetPlayerInterior(playerid);
dini_FloatSet(file, "X_POS", PlayerInfo[playerid][pSaveX]);
dini_FloatSet(file, "Y_POS", PlayerInfo[playerid][pSaveY]);
dini_FloatSet(file, "Z_POS", PlayerInfo[playerid][pSaveZ]);
dini_IntSet(file, "INT_POS", PlayerInfo[playerid][pSaveInt]);
GetPlayerHealth(playerid, PlayerInfo[playerid][pSaveHealth]);
GetPlayerArmour(playerid, PlayerInfo[playerid][pSaveArmor]);
dini_FloatSet(file, "SAVE_HEALTH", PlayerInfo[playerid][pSaveHealth]);
dini_FloatSet(file, "SAVE_ARMOR", PlayerInfo[playerid][pSaveArmor]);
}
gLogged[playerid] = 0;

Bewerkt: door =>Sandra<=

Geplaatst:
  • Auteur

heel erg bedankt!!! _O_ ik ga het zo snel mogelijk proberen!

Geplaatst:
  • Auteur

Hmm, nu zet ie een paar nieuwe regels in mijn scriptfile "accounts":

de vetgedrukten zijn nieuw

HashPW=-----

RegPW=-----

AdminLevel=4

IP=---.---.-.---

RegYear=2009

RegMonth=1

RegDay=28

ReadTutorial=1

License=1

Passport=1

BankCash=20000

UserID=5

Officer=0

Skin=23

X_ENTER=-1809.022094

Y_ENTER=904.158508

Z_ENTER=24.890625

HandMoney=0

X_POS=0.000000

Y_POS=0.000000

Z_POS=0.000000

INT_POS=0

SAVE_HEALTH=0.000000

SAVE_ARMOR=0.000000

Als ik in dat bestandje bij handmoney een getal neerzet, doet hij het.

Als ik in het spel mezelf geld geef, en ik log uit, heeft hij het bestandje niet veranderd.

Hoe kan ik zorgen dat hij dit wel doet?

Alvast bedankt

Bewerkt: door thuron

Geplaatst:
  • Auteur
Hmm, nu zet ie een paar nieuwe regels in mijn scriptfile "accounts":

de vetgedrukten zijn nieuw

HashPW=-----

RegPW=-----

AdminLevel=4

IP=---.---.-.---

RegYear=2009

RegMonth=1

RegDay=28

ReadTutorial=1

License=1

Passport=1

BankCash=20000

UserID=5

Officer=0

Skin=23

X_ENTER=-1809.022094

Y_ENTER=904.158508

Z_ENTER=24.890625

HandMoney=0

X_POS=0.000000

Y_POS=0.000000

Z_POS=0.000000

INT_POS=0

SAVE_HEALTH=0.000000

SAVE_ARMOR=0.000000

Als ik in dat bestandje bij handmoney een getal neerzet, doet hij het.

Als ik in het spel mezelf geld geef, en ik log uit, heeft hij het bestandje niet veranderd.

Hoe kan ik zorgen dat hij dit wel doet?

Alvast bedankt

iemand die me kan helpen?

Geplaatst:

Kan je nog eens je OnPlayerDisconnect-callback hier posten zoals je hem nu hebt?

Geplaatst:
  • Auteur

dit is em:

public OnPlayerDisconnect(playerid, reason)
{
 if(gLogged[playerid] == 1)
PlayerInfo[playerid][pAdmin] = 0;
new string[256], file[128];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
GetPlayerIp(playerid, playerip, sizeof(playerip));
format(file, sizeof(file), "/VirtualScriptingRP/Accounts/%s.ini", PlayerName);
format(string, sizeof(string), "PART: %s(%i) disconnected (IP: %s)", PlayerName, playerid, playerip);
aLog("Connections.txt", string);
if(gLogged[playerid] == 0)
{
 new Skin = GetPlayerSkin(playerid);
 if(Skin == 280 || Skin == 281 || Skin == 282)
 {
	 dini_IntSet(file, "Skin", 0);
 }
 else
 {
  dini_IntSet(file, "Skin", GetPlayerSkin(playerid));
 }
 GetPlayerIp(playerid, playerip, sizeof(playerip));
 dini_IntSet(file, "HandMoney", GetPlayerMoney(playerid));
 GetPlayerPos(playerid, Float:PlayerInfo[playerid][pSaveX], Float:PlayerInfo[playerid][pSaveY], Float:PlayerInfo[playerid][pSaveZ]);
 PlayerInfo[playerid][pSaveInt] = GetPlayerInterior(playerid);
 dini_FloatSet(file, "X_POS", PlayerInfo[playerid][pSaveX]);
 dini_FloatSet(file, "Y_POS", PlayerInfo[playerid][pSaveY]);
 dini_FloatSet(file, "Z_POS", PlayerInfo[playerid][pSaveZ]);
 dini_IntSet(file, "INT_POS", PlayerInfo[playerid][pSaveInt]);
 GetPlayerHealth(playerid, PlayerInfo[playerid][pSaveHealth]);
 GetPlayerArmour(playerid, PlayerInfo[playerid][pSaveArmor]);
 dini_FloatSet(file, "SAVE_HEALTH", PlayerInfo[playerid][pSaveHealth]);
 dini_FloatSet(file, "SAVE_ARMOR", PlayerInfo[playerid][pSaveArmor]);
}
SendDeathMessage(INVALID_PLAYER_ID, playerid, 201);
switch (reason)
{
  case 0:
 {
  format(string, sizeof(string), "SERVER: %s(%i) has left the server (Timeout)", PlayerName, playerid);
  SendClientMessageToAll(COLOR_CYELLOW, string);
 }
 case 1:
  {
  format(string, sizeof(string), "SERVER: %s(%i) has left the server (Leaving)", PlayerName, playerid);
  SendClientMessageToAll(COLOR_CYELLOW, string);
 }
 case 2:
  {
  format(string, sizeof(string), "SERVER: %s(%i) has left the server (Kicked/banned)", PlayerName, playerid);
  SendClientMessageToAll(COLOR_CYELLOW, string);
 }
}
TextDrawHideForPlayer(playerid, ZoneText[playerid]);
TextDrawHideForPlayer(playerid, Textie[playerid]);
TextDrawDestroy(ZoneText[playerid]);
TextDrawDestroy(Textie[playerid]);
}

Geplaatst:

Ik heb hem voor je gefixt. Ik had even het originele script gedownload, en ik zag dat het al een bug in dat script was.

Maar ik denk dat die nu moet werken:

http://pastebin.com/f6091e4f

Geplaatst:
  • Auteur

Heeel erg bedankt sandra!! hij is heel goed.

Alleen nog 1 probleem, (als ik zeur moet je het zeggen :D )

Hij slaat het bankmoney niet op, dus je kun gewoon uitloggen en weer terug gaan, dan slaat hij je handmoney wel op, maar je bankmoney niet, dus dat staat weer normaal. zo kun je eigenlijk geld "maken".

Weet je hoe ik dat het beste kan oplossen?

Nogmaals erg bedankt tot nu to!!

Geplaatst:

Ik weet niet hoe jij de bankmoney opslaat, maar als voorbeeld:

dini_IntSet(file, "BankMoney", PlayerInfo[playerid][BankMoney]);

Dat moet bij al die andere dini_-functies staan.

Geplaatst:
  • Auteur
Ik weet niet hoe jij de bankmoney opslaat, maar als voorbeeld:

dini_IntSet(file, "BankMoney", PlayerInfo[playerid][BankMoney]);

Dat moet bij al die andere dini_-functies staan.

Ik zal et ff proberen hoor, zometeen een uitslag :D

Geplaatst:
  • Auteur

hehehe, hij doet het. ik moest hem even veranderen in:

dini_IntSet(file, "BankCash", PlayerInfo[playerid][pBankCash]);

Dat zag ik ergens anders in mn script staan.

Heel erg bedankt voor al jullie hulp!!

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.

Account

Navigatie

Zoeken

Zoeken

Configureer push berichten

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.