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: speti9603 - 2013. szeptember 14. - 23:20:15

Cím: Pont mentõ
Írta: speti9603 - 2013. szeptember 14. - 23:20:15
Heló!
Valaki tudna segíteni a pontmentéssel? Régebben mentett de most nem
 
#include <a_samp>
#include <dini>
enum pAdat
{
score
}
new nev[MAX_PLAYER_NAME];
new loc[100];
new PlayerAdat[MAX_PLAYERS][pAdat];
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Pontmento\");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
 
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
    format(loc, sizeof(loc), \"/scores/%s.ini\",nev);
    if(!dini_Exists(loc))
{
    dini_Create(loc);
    dini_IntSet(loc, \"Score\", 0);
    PlayerAdat[playerid][score] = dini_Int(loc, \"Score\");
    }
else
{
    PlayerAdat[playerid][score] = dini_Int(loc, \"Score\");
    SetPlayerScore(playerid,PlayerAdat[playerid][score]);
    }
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
PlayerAdat[playerid][score] = GetPlayerScore(playerid);
GetPlayerName(playerid,nev,sizeof(nev));
format(loc,sizeof(loc),\"/scores/%s.ini\",nev);
if(!dini_Exists(loc))
{
dini_Create(loc);
dini_IntSet(loc, \"Score\", 0);
}
else
{
dini_IntSet(loc,\"Score\",PlayerAdat[playerid][score]);
}
return 1;
}

 
Rendesen megcsináltam a scores mappát bele is teszi a dini filét de csak 0 pontot ír...
Cím: Pont mentõ
Írta: sLimee - 2013. szeptember 15. - 07:46:44
Idézetet írta: speti9603 date=1379193615\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"42747\" data-ipsquote-contentclass=\"forums_Topic
Heló!
Valaki tudna segíteni a pontmentéssel? Régebben mentett de most nem
 

public OnPlayerConnect(playerid)
{
    dini_IntSet(loc, \"Score\", 0); // Ezt vedd ki onnan!
}
public OnPlayerDisconnect(playerid, reason)
{
dini_IntSet(loc, \"Score\", 0); //wtf?  ???  azért ír nulla pontot mivel azt csináltad meg hogy ha lemegy a gyerek akkor átállítja a score-ját 0-ra!
}

 
Rendesen megcsináltam a scores mappát bele is teszi a dini filét de csak 0 pontot ír...
 
Így próbáld meg!
 
dini_IntSet(loc, \"Score\", PlayerAdat[playerid][score]);
Cím: Pont mentõ
Írta: speti9603 - 2013. szeptember 15. - 08:12:21
nem jó ugyanúgy 0 lesz

Dupla hozzászólás automatikusan összefûzve. ( 2013. szeptember 15. - 09:44:52 )

esetleg van vmi más pontmentõd? v vkinek?
Cím: Pont mentõ
Írta: sLimee - 2013. szeptember 15. - 09:58:34
egyáltalán van valami, amitõl megy fel a pont?  :hmmm:
Például, hogy valaki megöli az kap egy pontot, esetleg óralépés?
Cím: Pont mentõ
Írta: speti9603 - 2013. szeptember 15. - 10:16:11
igen ölésnél 1-1 pont, terület foglalásért 2 pont
Cím: Pont mentõ
Írta: sLimee - 2013. szeptember 15. - 10:44:03
PlayerAdat[playerid][score] += 1;

 
Ígyvan?
Cím: Pont mentõ
Írta: speti9603 - 2013. szeptember 15. - 12:54:18
magába a modban van nem a külön scriptbe és így (ha így gondoltad)
SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
Cím: Pont mentõ
Írta: sLimee - 2013. szeptember 15. - 15:10:45
Killhez:
 
PlayerAdat[playerid][score] += 1;
SetPlayerScore(killerid,GetPlayerScore(killerid) +1);

 
Disconnecthez:
 
dini_IntSet(loc, \"Score\", PlayerAdat[playerid][score]);

 
Connecthez:
 
PlayerAdat[playerid][score] = dini_Int(loc, \"Score\");
SetPlayerScore(playerid,PlayerAdat[playerid][score]);
Cím: Pont mentõ
Írta: speti9603 - 2013. szeptember 15. - 16:21:55
ugyanaz...
 
#include <a_samp>
#include <dini>
enum pAdat
{
score
}
new nev[MAX_PLAYER_NAME];
new loc[100];
new PlayerAdat[MAX_PLAYERS][pAdat];
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Pontmento\");
print(\"--------------------------------------\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
 
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, nev, sizeof(nev));
    format(loc, sizeof(loc), \"/scores/%s.ini\",nev);
    if(!dini_Exists(loc))
{
    dini_Create(loc);
    PlayerAdat[playerid][score] = dini_Int(loc, \"Score\");
    }
else
{
    PlayerAdat[playerid][score] = dini_Int(loc, \"Score\");
SetPlayerScore(playerid,PlayerAdat[playerid][score]);
    }
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
    PlayerAdat[killerid][score] += 1;
return 1;
}
 
public OnPlayerDisconnect(playerid, reason)
{
PlayerAdat[playerid][score] = GetPlayerScore(playerid);
GetPlayerName(playerid,nev,sizeof(nev));
format(loc,sizeof(loc),\"/scores/%s.ini\",nev);
if(!dini_Exists(loc))
{
dini_Create(loc);
dini_IntSet(loc, \"Score\", PlayerAdat[playerid][score]);
}
else
{
dini_IntSet(loc,\"Score\",PlayerAdat[playerid][score]);
}
return 1;
}

 
és 1 warning
C:\\Documents and Settings\\Hazor\\Asztal\\Szerver mappa\\filterscripts\\scoresave-try2.pwn(69) : warning 203: symbol is never used: \"strtok\"
de nicns is 69. sor

Dupla hozzászólás automatikusan összefûzve. ( 2013. szeptember 16. - 18:56:25 )

segítsetek :S