• 20 Mai 2024, 17:58:43


Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Xartrick

Pages: 1 [2] 3 4 ... 93
16
Pour moi, A* serait l'un des meilleurs choix: Algorithme A* - Wikipédia

17
Et attention au division par zéro !

18
Scripting SA-MP [Pawn center] / Re : Erreur de compilation
« le: 13 Août 2013, 16:17:05 »
Cette variable doit être globale, c'est à dire qu'elle doit être dans aucune fonction.

19
Scripting SA-MP [Pawn center] / Re : Problème removebuilding
« le: 12 Août 2013, 13:43:11 »
Sans code, pas d'aide, cela a été dit mainte et mainte fois !

20
Scripting SA-MP [Pawn center] / Re : Problème d'écriture .ini
« le: 11 Août 2013, 23:36:40 »
Donc maintenant, cela devrait fonctionner.

21
Scripting SA-MP [Pawn center] / Re : Erreur de compilation
« le: 11 Août 2013, 23:36:00 »
Si je comprends bien, tu veux lancer quelque-chose avant de comprendre comment ce quelque-chose fonctionne ?

Si ça c'est pas un bel exemple de candeur...

22
Scripting SA-MP [Pawn center] / Re : Problème d'écriture .ini
« le: 11 Août 2013, 19:02:20 »
Dans le code que tu nous montre, tu as deux systèmes de sauvegarde.

Code: (pawn) [Sélectionner]
public OnPlayerDisconnect(playerid, reason)
{
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
    INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
    INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
    INI_Close(File);
 
    gJob[playerid] = 0;
    PlayerInfo[playerid][pAdmin] = 0;
    checkpoint = 0;
    SaveAccount(playerid);
    return 1;
}

Code: (pawn) [Sélectionner]
public SaveAccount(playerid)
{
    if(IsPlayerConnected(playerid))
    {
            new string3[32];
            //new valeur[32];
            new playername3[MAX_PLAYER_NAME];
            GetPlayerName(playerid, playername3, sizeof(playername3));
            format(string3, sizeof(string3), "Users/%s.ini", playername3);
            new File: hFile = fopen(string3, io_write);
            if (hFile)
            {
                new var[32];
                format(var, 32, "Mdp=%s\n", PlayerInfo[playerid][pMdp]);fwrite(hFile, var);
                format(var, 32, "Argent=%d\n",PlayerInfo[playerid][pArgent]);fwrite(hFile, var);
                format(var, 30, "Admin=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
                format(var, 30, "Meurtres=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
                format(var, 30, "Morts=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
                fclose(hFile);
                //SpawnPlayer(playerid);
            }
    }
    return 1;
}

Donc, évidement, comme tu sauvegarde deux fois de deux façons différentes et entre ces deux sauvegarde, tu retire le rang administrateur du joueur, au final, le joueur est systématiquement un membre.

Donc, déjà, sauvegardé deux fois, c'est inutile, et de deux manières différentes, encore plus !

23
Scripting SA-MP [Pawn center] / Re : Erreur de compilation
« le: 11 Août 2013, 18:54:23 »
Tu ne connais manifestement pas les rudiments de la programmation.

Je te conseil donc de lire des tutoriels (présent ici même) t'expliquant les bases.

24
Pour ma part ce que je peux te dire pour ton anti cheat, ne fait jamais d'anticheat qui kick, banni automatiquement car ton anticheat ne sera jamais sûr à 100%.
Ce qu'il faut que tu fasse c'est envoyer un message à tous les membres du staff présents indiquant le type de cheat utilisé.

25
Scripting SA-MP [Pawn center] / Re : Payday avec level
« le: 08 Août 2013, 00:58:11 »
Je te demandé de me donner la valeur de retour du code suivant:

printf("Player level: %i\n", level);
Mais tu ne m'as pas répondu, voilà pourquoi ce message.
Maintenant, cela devrait fonctionner.

26
Tu as commencé à chercher d'où cela pouvait venir.
Non pas que ça nous déplaise de t'aider, mais ici, on ne fait pas les choses à la place des autres, on les aide seulement.

27
Citer
En général, quand un joueur prend des dégâts, sa vie ne baisse pas.
Ah bon ?

Quand tu utilise ce genre de programme, oui, tu ne perd pas de vie.
Certains permette de perdre qu'un seul point de vie, ce qui permet de mettre certaines protections dans les choux.

28
Scripting SA-MP [Pawn center] / Re : Payday avec level
« le: 04 Août 2013, 14:20:03 »
Tu ne suis même pas les informations que je te propose, tu fais un bête copier/coller, et puis basta...
C'est vraiment désolant !

Sinon, après relecture attentive du code, j'ai comprit ce qui se passe.

Tu créer ta fonction qui attend un paramètre qui est l'indice du joueur, mais tu fais une boucle qui tourne sur tous les joueurs, le paramètre est donc inutile.
De ce fait, quand tu récupère le niveau du joueur, tu utilise ce paramètre et non la variable d'itération.

Vu que tu as l'air de mauvaise fois, je te laisse ton code corrigé, et te laisse dans ton ignorance, de toute façon, tu n'as pas envie de comprendre, juste de faire un truc qui marche:


forward payday();

public OnGameModeInit()
{
SetTimer("payday", 60000, true);
}

public payday() {
    new hh, mm, ss;
    gettime( hh, mm, ss );
    if( mm == 0 )
    {
for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
{
new level = PlayerInfo[i][pLevel];
new string[952];
if(level == 1)
{
new Payday = 10000;
GivePlayerMoney(i, Payday);
SendClientMessage(i, couleur_vert_clair,"{F6F600} ________________________________________________________________\n");
SendClientMessage(i, couleur_vert_clair,"{F6F600}|________________________ Jours de Paye _________________________|\n");
format(string, sizeof(string), "{F6F600}|____________________ {00F600}Vous avez reçu %s${F6F600} ____________________|\n", Payday);
SendClientMessage(i, couleur_vert_clair, string);
SendClientMessage(i, couleur_vert_clair,"{F6F600} ________________________________________________________________\n");
}
if(level == 2)
{
new Payday = 20000;
GivePlayerMoney(i, Payday);
SendClientMessage(i, couleur_vert_clair,"{F6F600} ________________________________________________________________\n");
SendClientMessage(i, couleur_vert_clair,"{F6F600}|________________________ Jours de Paye _________________________|\n");
format(string, sizeof(string), "{F6F600}|____________________ {00F600}Vous avez reçu %s${F6F600} ____________________|\n", Payday);
SendClientMessage(i, couleur_vert_clair, string);
SendClientMessage(i, couleur_vert_clair,"{F6F600} ________________________________________________________________\n");
}
}
}
return 1;
}

Bonne journée...

29
Les lag ou l'unsynchro ou autre fait que parfois on se fait toucher mais on ne perd rien. Qu'en pensez vous ?

Ton client et le serveur ne voient pas la même chose lors de ces phénomènes, ce qui explique ceci.

Sinon, pour l'invincibilité, tu n'as qu'à vérifier si, lorsqu'un joueur tire sur un autre joueur (Tu peux faire ça via OnPlayerTakeDamage il me semble), sa vie descend bien (pour ça tu fais un timer, que tu utiliseras aussi pour vérifier les tp, et tu récupères la vie dans une variable), si la vie est bien égale à la variable moins le dégats censés êtres reçus, tu ne fais rien, mais sinon, ça devrait détecter l'invincibilité

Oui, c'est intéressant comme solution, mais quelle est l'utilité ici d'utiliser un timer à moins d'avoir des résultats plus qu'exact ?

En général, quand un joueur prend des dégâts, sa vie ne baisse pas.
Et puis, ton idée ne gère pas les sodas qui redonne de la vie, c'est un coup à se faire bannir quand tu veux rafraîchir ton personnage :laugh:.

Moi je propose une idée base sur la tienne, appuyé par un code:


public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid) {
    new Float:playerHealth = 0.0;
   
    GetPlayerHealth(playerid, playerHealth);
   
    if (playerHealth > (100.0 - amount)) {
        // HAXXXXXXX
    }
   
    return 1;
}

Cependant, si la vie du joueur est maintenant à 1, le code ne fonctionnera pas à moins que le joueur prenne un dégât supérieur à 99.

30
Montre nous les deux filterscripts, on te dira s'il existe un conflit, et si oui, comment le résoudre (si tu as envie d'apprendre bien-sûr).

Pages: 1 [2] 3 4 ... 93