• 18 Avril 2025, 12:11:56


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 - Raptor2x

Pages: [1] 2 3 4
1
Niquel, merci beaucoup :smile:

2
C'est bien ça, merci beaucoup ! :smile:
Du coup, j'ai fait un petit essai, que voici :

Code: (pawn) [Sélectionner]
new MUR;
Code: (pawn) [Sélectionner]
CMD:mur(playerid, params[])
{
    new Float:X, Float:Y, Float:Z;
    GetObjectPos(MUR, X, Y, Z);
    if(IsPlayerInRangeOfPoint(playerid, 10.0, X, Y, Z))
    {
    EditObject(playerid, MUR);
    SendClientMessage(playerid, 0xFFFFFFFF, "Tu peux désormais bouger le mur.");
    return 1;
    }
    else
    {
    SendClientMessage(playerid, 0xFFFFFFFF, "Tu es trop loin du mur.");
    return 1;
    }
}

Ça marche super bien !
Enfin presque, j'étais avec un ami et je lui ai dit d'utiliser la commande et de bouger l'objet, le problème : c'est pas synchro, je ne le vois pas déplacer l'objet alors qu'il le fait, et quand il sauvegarde la position, je vois toujours l'objet à sa position initiale, pareil pour lui quand c'est moi qui le fait.

Est-ce qu'on peut remédier à ça ?
Merci encore à vous tous pour votre aide.

3
J'ai une petite question (je vais pas faire un autre topic juste pour ça), sur plusieurs serveurs j'avais vu un système pour placer des objets in game, ça marchait avec des sortes de textdraw pour faire pivoter les objets, poser l'objet..., quelqu'un sait ce que c'est ?
Je ne pense pas que c'est un système fait main car les petits boutons sur lesquels cliquer étaient exactement les mêmes sur tous les serveurs où j'ai vu ce système.

4
Parfait, avec tout ce que tu m'as dis Gzsume j'ai réussi, désormais ça marche niquel !
Merci beaucoup et à toi aussi Infu pour ta réponse :smile:

J'aurais sûrement d'autres questions un peu plus tard, donc je mettrais le topic en "résolu" dans la soirée.

5
Scripting SA-MP [Pawn center] / Aide : Sauvegarder position joueur
« le: 24 Juillet 2014, 06:47:51 »
Salut, j'ai trouvé un petit filterscript pour un système de login/register, qui sauvegarde l'argent, le score, les kills etc.. Mais pas la position, et c'est ce que j'aimerais rajouter.

Si je veux je peux chercher et en trouver un autre qui sauvegarde la position mais je préfère l'ajouter manuellement comme ça j'en apprends un peu plus au niveau du fonctionnement de sauvegarde.

Déjà, voilà le filterscript en entier, comprenant mes modifs (et donc mes erreurs) :

http://pastebin.com/2UiVaE0F

Les erreurs :

C:\Users\Benjamin\Desktop\Wasteland SAMP\filterscripts\Register_Admin.pwn(148) : error 035: argument type mismatch (argument 2)
C:\Users\Benjamin\Desktop\Wasteland SAMP\filterscripts\Register_Admin.pwn(149) : error 035: argument type mismatch (argument 2)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

Les erreurs sont donc dans les deux premières lignes :

public OnPlayerDisconnect(playerid, reason)
{
    GetPlayerPos(playerid, PosX, PosY, PosZ);
    GetPlayerFacingAngle(playerid, Angle);
 
    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_WriteInt(File,"Score",PlayerInfo[playerid][pScore]);
    INI_WriteFloat( File, "PositionX",PlayerInfo[playerid][PosX]);
    INI_WriteFloat( File, "PositionY",PlayerInfo[playerid][PosY]);
    INI_WriteFloat( File, "PositionZ",PlayerInfo[playerid][PosZ]);
    INI_WriteFloat( File, "Angle",PlayerInfo[playerid][Angle]);
    INI_WriteInt( File, "Interior", GetPlayerInterior( playerid ) );
    INI_WriteInt( File, "VirtualWorld", GetPlayerVirtualWorld( playerid ) );
    INI_Close(File);
    return 1;
}

Mais où est le problème ?
Selon moi, je prends les coordonnés du joueur et l'angle de vue et je met les infos dans les variables "PosX, PosY, PosZ", "Angle" pour ensuite pouvoir les sauvegarder dans :

    INI_WriteFloat( File, "PositionX",PlayerInfo[playerid][PosX]);
    INI_WriteFloat( File, "PositionY",PlayerInfo[playerid][PosY]);
    INI_WriteFloat( File, "PositionZ",PlayerInfo[playerid][PosZ]);
    INI_WriteFloat( File, "Angle",PlayerInfo[playerid][Angle]);

Merci d'avance pour votre aide :smile:

6
D'accord j'ai tout compris, merci beaucoup à toi, si j'ai d'autres questions je n'hésiterai pas à les poser ici ! :bye:

7
Salut et merci de ta réponse !
Là mes positions sont donc en absolute ? On repère des positions relatives des absolute car les relatifs sont entre 0 et 1, c'est ça?
Je savais déjà qu'il était préférable d'utiliser le relatif, mais j'avais encore un doute de comment les démarquer.
En tout cas merci à toi et de ton aide chaleureuse, ça donne vraiment envi de continuer et de progresser ;-)

8
Bonjour à tous.

Il y a quelque jours je me suis décidé à me lancer dans le LUA, car les possibilités sont beaucoup plus grandes que sur SA-MP, je sais scripter en PAWN, un peu plus que les bases.

Je voudrai faire une fenêtre (comprenant du texte, un bouton et une image) qui s'affiche à la connexion du joueur, j'ai alors utiliser Guieditor, fais ma fenêtre et compagnie, puis j'ai pris le code gui.

Voici comment je m'y suis pris :

function WelcomeWindows()
    WW = guiCreateWindow(520, 164, 536, 154, "xBattlefield ", true)
    guiWindowSetSizable(WW, true)
    TextWW = guiCreateLabel(17, 34, 265, 77, "Bienvenue sur xBattlefield ! \nLe serveur est actuellement en développement.\n\nWelcome on xBattlefield !\nThe server is actually in development.", true, WW)
    xBattlefieldWW = guiCreateStaticImage(319, 57, 207, 44, "xBattlefield/images/bf3.png", true, WW)
    OkWW = guiCreateButton(450, 121, 66, 23, "Ok", true, WW)
end

function showWelcomeWindows()
guiSetVisible(WW, true)
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()),

Ensuite, j'ai bien mis mon image bf3.png dans le dossier images de ma ressource, nommé ce script en gui.lua qui j'ai mi dans /client/ et ajouter

     <script src="client/gui.lua" type="client" />
     <file src="images/bf3.png"/>

Seulement, comme vous l'aurez deviné, ma fenêtre ne s'affiche pas à la connexion, j'ai farfouiller et tenté pas mal de solutions expliquées ici, mais pareil, je ne sais pas vraiment où est le problème, étant débutant..

Merci d'avance !
Bonne soirée.

EDIT : Problème résolu, merci quand même.

function WelcomeWindows()
WW = guiCreateWindow(520, 164, 536, 154, "xBattlefield ", false)
    guiWindowSetSizable(WW, false)
    TextWW = guiCreateLabel(17, 34, 265, 77, "Bienvenue sur xBattlefield ! \nLe serveur est actuellement en développement.\n\nWelcome on xBattlefield !\nThe server is actually in development.", false, WW)
    xBattlefieldWW = guiCreateStaticImage(319, 57, 207, 44, "images/bf3.png", false, WW)
    OkWW = guiCreateButton(450, 121, 66, 23, "Ok", false, WW)
    addEventHandler("onClientGUIClick", OkWW, closeWelcomeWindows, false)
    showCursor(true)
end
addEventHandler("onClientResourceStart", getRootElement(), WelcomeWindows)

function closeWelcomeWindows()
guiSetVisible(WW, false)
showCursor(false)
end

9
Scripting SA-MP [Pawn center] / Re : IsPlayerInArea
« le: 26 Janvier 2013, 00:40:02 »
Merci à toi de ta réponse.
Le code semble bien marcher, mais que dans un sens, si je rentre dans la zone, je meurs, mais j'arrive pas à faire l'inverse, que ça soit quand on sort de la zone..

EDIT : Problème résolu, merci à toi !

public isPlayerInArea()
{
    new Float:X, Float:Y, Float:Z; //We use this to store player position
    for(new i=0; i < MAX_PLAYERS; i++) //This line defines a name for all player, the name is "i"
    {
        GetPlayerPos(i, X, Y, Z); //Here we are storing the player position on the variables X, Y, and Z defined previously
        if (X <= 1995 && X >= 1493 && Y <= -2684 && Y >= -2712)
        {
        SendClientMessage(i,0xFFFFFF,"Zone intérieur !!");
        }
else
    {
        SendClientMessage(i,0xFFFFFF,"Zone extérieur !!");
return 1;
}
    }
return 0;
}

10
Scripting SA-MP [Pawn center] / IsPlayerInArea
« le: 25 Janvier 2013, 12:17:13 »
Bonjour,

Je voudrai faire un code qui fait que si le joueur n'est pas dans une zone définie, il y a un compte à rebours d'environ 5/10 secondes qui s'enclenche, arrivé à 0, il meurt, s'il n'est pas revenu dans la zone.

J'ai farfouiller un peu, et j'ai vu qu'il fallait utilisé "IsPlayerInArea", mon problème, c'est que je n'arrive pas trop à comprendre comment ça fonctionne, trouver les coordonnées d'une zone, c'est simple via l'application "Ultimate Mapper", mais même en lisant et en essayant d'appliquer ce tuto, je n'arrive pas à comprendre comment mettre en place tout ça.

J'ai surtout besoin d'aide pour savoir comment "IsPlayerInArea" fonctionne, savoir où placer mon code s'il n'est pas dans la zone, après, pour le timer et la mort, je me débrouillerai.

Merci d'avance, bonne journée !

11
Scripting SA-MP [Pawn center] / Re : Problème keys
« le: 05 Novembre 2012, 00:49:31 »
Résolu, tout simplement sa-mp ne reconnaît pas les touches dans le OnPlayerConnect, il faut avoir spawn.
Merci quand même.

12
Scripting SA-MP [Pawn center] / Re : Problème keys
« le: 04 Novembre 2012, 19:03:18 »
Déjà merci de ta réponse, ensuite je viens de faire une variable mais comment à partir de cette variable faire en sorte que le spawn soit désactivé ? C'est quoi la fonction pour désactiver le spawn ?
Sinon pour la key, c'est vraiment pas la bonne et ça vient de là? Car les textdraw se ferment bien mais que quand j'ai spawn.
Merci à toi encore une fois.

13
Scripting SA-MP [Pawn center] / Problème keys
« le: 04 Novembre 2012, 17:30:45 »
Bonsoir à tous, pour résumé, j'ai fais plusieurs textdraw qui s'affichent à la connexion du joueur, et je voudrais tous les supprimer quand il appuie sur "Entrée", alors j'ai fait ça :

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if (newkeys & KEY_SECONDARY_ATTACK)
    {
    TextDrawDestroy(Text:Textdraw3);
    TextDrawDestroy(Text:Textdraw4);
    TextDrawDestroy(Text:Textdraw5);
    TextDrawDestroy(Text:Textdraw6);
    TextDrawDestroy(Text:Textdraw7);
    TextDrawDestroy(Text:Textdraw8);
    }
    return 1;
}

Donc ça marche bien, sauf que ça marche que quand le joueur a spawn, alors que je voudrais que ça le fasse à l'écran de connexion.
Par ailleurs, je voudrais justement cacher ou annuler le bouton spawn avant justement d'avoir appuyer sur entrée, comment je pourrais faire ? J'ai vu quelque part qu'on pouvait se servir de "TogglePlayerSpectating(playerid, 0);" mais sans expliquer comment.

Merci beaucoup d'avance à ceux qui m'aideront !

14
J'ai réussi !
http://pastebin.com/JZ13fLif
*soupire de soulagement*
Merci à toi !

15
Pas vraiment non plus, j'ai jamais vraiment eu à y faire usage, & je confirme.
http://wiki.sa-mp.com/wiki/Strtok

Pages: [1] 2 3 4