Jump to content

Valentin3526

Members
  • Posts

    83
  • Joined

  • Last visited

Everything posted by Valentin3526

  1. You don't need to specify the player in most client functions
  2. Thanks MIKI785, but if I want use my export in multiples resources and I want to call it, how can I do ? because I don't want to make a copy in everyone of resources, I prefer use the call function...
  3. 40 view and 0 reply.. nobody can help me ?
  4. Hi, I have make a script inspired by "dxDrawLoading", my script don't have any error when I use the script in his resource, but when I use "exports["resource"]:function(args)" my loading bar are already at 100% and don't load Code clientside (Scripts.zip): local start = getTickCount() function dxDrawLoading(x, y, width, height, x2, y2, size, color, color2, color3, loadText, second, police) local now = getTickCount() local seconds = second local with = interpolateBetween(0,0,0,width,0,0, (now - start) / ((start + tonumber(seconds)) - start), "Linear") local text = interpolateBetween(0,0,0,100,0,0,(now - start) / ((start + tonumber(seconds)) - start),"Linear") dxDrawText ( loadText.."... "..math.floor(text).."%", x2, y2+1 , width, height, color3, size, police ) dxDrawRectangle(x, y ,width ,height -10, color) dxDrawRectangle(x, y, with ,height -10, color2) end my export (clientside) (Teams.zip): local start = getTickCount() sx ,sy = guiGetScreenSize() function drawLoad2() local saTeam = getPlayerTeam(getLocalPlayer()) local r, g, b = getTeamColor(saTeam) local now = getTickCount() exports["Scripts"]:dxDrawLoading(196*sx/800, 482*sy/600, 422*sx/800, 25*sy/600, 196*sx/800, 450*sy/600, 1.00*sx/800, tocolor(0,0,0,120), tocolor(r,g,b,255), tocolor(r,g,b,255), "Démarrage", 7000, "pricedown") if now > start + 7000 then start = getTickCount() end end export of my "meta.xml" (Scripts.zip): <export function="dxDrawLoading" type="client" />
  5. Pas de solutions ? Toujours rien de mon côté, j'ai beau chercher...
  6. Ce coup-ci, l'erreur est minime, je me suis inspiré des "useful functions" du wiki pour créer mes propres "dxDrawLoading" Tout marche à merveille si la fonction que j'execute est interne à ma resource mais lorsque j'utilise les fonction "call" (pour ma part je l'utilise sous le format "exports.resource:fonction(args)" L'erreur et que lorsque le chargement s'affiche il est directement à 100% et donc, ne part pas de 0% Donc, je me demandais ou était l'erreur, j'envoie les codes. Voici la fonction qui marche très bien en interne local start = getTickCount() function dxDrawLoading(x, y, width, height, x2, y2, size, color, color2, color3, loadText, second, police) local now = getTickCount() local seconds = second local with = interpolateBetween(0,0,0,width,0,0, (now - start) / ((start + tonumber(seconds)) - start), "Linear") local text = interpolateBetween(0,0,0,100,0,0,(now - start) / ((start + tonumber(seconds)) - start),"Linear") dxDrawText ( loadText.."... "..math.floor(text).."%", x2, y2+1 , width, height, color3, size, police ) dxDrawRectangle(x, y ,width ,height -10, color) dxDrawRectangle(x, y, with ,height -10, color2) end Voici l'un mes exports: local start = getTickCount() sx ,sy = guiGetScreenSize() function drawLoad2() local saTeam = getPlayerTeam(getLocalPlayer()) local r, g, b = getTeamColor(saTeam) local now = getTickCount() exports["Scripts"]:dxDrawLoading(196*sx/800, 482*sy/600, 422*sx/800, 25*sy/600, 196*sx/800, 450*sy/600, 1.00*sx/800, tocolor(0,0,0,120), tocolor(r,g,b,255), tocolor(r,g,b,255), "Démarrage", 7000, "pricedown") if now > start + 7000 then start = getTickCount() end end Au passage, voici la fonction qui est interne à la resource (celui-ci utilise ma seconde fonction mais les scripts sont identiques à la différence que celui-ci utilise des images): sx ,sy = guiGetScreenSize() function theBarMotor1() local now = getTickCount() dxDrawLoadingImage(196*sx/800, 482*sy/600, 422*sx/800, 25*sy/600, 196*sx/800, 450*sy/600, 1.00*sx/800, "images/fond.png", "images/plein.png", tocolor(255,255,255,255), "Démarrage", 1000, "bankgothic", _, tocolor(255, 255, 255, 255), false, false) if now > start + 1000 then start = getTickCount() end end addEvent("barMotor1", true) addEventHandler("barMotor1", getRootElement(), theBarMotor1)
  7. Merci beaucoup, c'est vrais que comme je n'utilise que rarement les arguments je n'avais pas remaqué cette erreur. Merci encore une fois
  8. Bon, je tiens à prévenir que j'ai cherché pendant 1h sans trouver de solutions, je pense que l'erreur est simple à corriger mais pour le moment je ne trouve pas. Voici donc le code: addEventHandler("onClientVehicleDamage", getRootElement(), function (loss) local voiture = getPedOccupiedVehicle(getLocalPlayer()) local joueur = getLocalPlayer() local vie = getElementHealth(getLocalPlayer()) fadeCamera(false, 0.2, 255, 0, 0) setTimer(function () fadeCamera(true, 0.5) end, 200, 1) -- Rien de grave ici, j'ai juste rendu le script plus compacte setElementHealth(joueur, vie - loss/2) -- C'est ici qu'aparaît l'erreur end ) C'est donc dans cette partie du script que l'erreur est, je n'ai pas tout mis car le reste du code n'a rien à voir avec l'erreur et ne comporte aucuns problèmes. En effet, j'ai voulu mettre les dégàts qu'a reçu le véhicule (divisés par 2), sur le joueur qui conduit ce même véhicule. Ci-dessous je met le message qui s'affiche dans le debugscript (niveau 3): Donc voilà j'ai tout dis et la ligne 163 correspond à la 8 sur le code que j'ai collé pour la raison que j'avais cité. Merci d'avance pour l'aide et puis si j'arrive à trouver avant d'avoir une réponse je le dirais. EDIT: J'ai tenté un tonumber() et là l'erreur est celle-ci: Le code au cas ou: addEventHandler("onClientVehicleDamage", getRootElement(), function (loss) local voiture = getPedOccupiedVehicle(getLocalPlayer()) local joueur = getLocalPlayer() local vie = getElementHealth(getLocalPlayer()) fadeCamera(false, 0.2, 255, 0, 0) setTimer(function () fadeCamera(true, 0.5) end, 200, 1) setElementHealth(joueur, vie - tonumber(loss)/2) end )
  9. Hi I have a error in my script, the debugscript send me "WARNING: Scripts\interact.lua:29: Bad argument 'getElementType' [Expected element at argument 1, got nil]" this is in this par of my script: function markerCol ( marker ) if getElementType(hitElement) == "player" and (hitElement == localPlayer) then --LINE 29 (ERROR HERE) guitank1() guiSetVisible(gui,true) showCursor(true) outputConsole("réussi") else outputConsole("erreur") end end addEventHandler( "onClientMarkerHit", marker, markerCol ) I can send you may all script (clientside): how can I fix it ? PS: I can't open the GUI
  10. Merci, je venait justement de voir en comparant avec un de mes ancies scripts et un script récent (je sais pas comment j'ai fait pour pas voir mon erreur d'ailleur, sûrement la fatigue comme je l'ai dit) mais merci quand-même pour l'aide
  11. Bonjour, je revient en force avec (encore) une demande d'aide J'ai commencé ce mation à scripter un système d'indice de recherche bien spécial mais j'ai du mal sachant que j'avais arrêté de scripter en LUA pendent un petit moment. Bref, revenons à la source du problème, d'abord le script, ensuite l'explication ! --PEDS-- function pedCopLS ( name ) createPed ( 280, 1544.3, -1632, 13.4, 270 ) --(garde) end addEventHandler ( "onResourceStart", getResourceRootElement(), pedCopLS) --CONFIG PEDS-- function gunCopCty ( name ) --LS setPedWeaponSlot ( name, 3, 1) setPedWeaponSlot ( name, 22, 2) end addEventHandler ( "onResourceStart", getResourceRootElement(), gunCopCty) function deadCopCty ( thePlayer, name ) if ( isPedDead ( name ) ) then local level = getPlayerWantedLevel ( thePlayer ) if ( level > 2 ) then setPlayerWantedLevel ( theplayer, 3 ) if ( level > 3 ) then cancelEvent() else setPlayerWantedLevel ( thePlayer, 2 ) end end end end addEventHandler ( "onPedWasted", name, deadCopCty) Voilà pour le script, donc mon problème est que sur le mode debug 3 erreurs sont détéctés celles-ci: function gunCopCty ( name ) --LS setPedWeaponSlot ( name, 3, 1) -- Une erreur, au 1er argument donc "name" setPedWeaponSlot ( name, 22, 2) -- La même erreur sur celui-ci end function deadCopCty ( thePlayer, name ) if ( isPedDead ( name ) ) then local level = getPlayerWantedLevel ( thePlayer ) if ( level > 2 ) then setPlayerWantedLevel ( theplayer, 3 ) if ( level > 3 ) then cancelEvent() else setPlayerWantedLevel ( thePlayer, 2 ) end end end end addEventHandler ( "onPedWasted", name, deadCopCty) -- l'erreur est ici, 2ème argument (toujours "name") Je tiens à préciser que j'ai fait ce script à l'aide de mes aquis et du wiki, le problème vient sans doute de mes "aquis" puisque le wiki ne devrait pas avoir d'erreur dans ses scripts donc voilà, je ne sais pas pourquoi ce fameux "name" est reconnu entant que "Bad argument" mais une petite explication serait la bienvenue puisque j'ai beau chercher, je ne trouve pas... PS: si il y a plus de fautes que d'habitude, c'est à cause de la fatigue qui m'a pris en traitre !
  12. Personne n'est venu t'aidé, t'a réussi, bravo.
  13. à ce que je crois voir, l'erreur peut venir de la fonction "voteRedo" donc faudrais inspecter surtout cette partie: function voteRedo(thePlayer) if mapRestarting then if (getElementData(thePlayer, "hasVoted" ) == "nope") then setElementData(thePlayer, "hasVoted", "voted" ) playersVoted = playersVoted + 1 local rr,gg,bb = 255,0,0 if playersVoted >= math.floor(getPlayerCount() /2 + 0.5) then rr,gg,bb = 0,255,0 end outputChatBox("' ["..playersVoted.."/".. math.floor(getPlayerCount() /2 + 0.5) .."] ' #1a5eaa~> #c1c1c1Voted For Redo ( #FFFFFF"..getPlayerNametagText(thePlayer).." #C1C1C1)", root, rr, gg, bb, true) if playersVoted >= math.floor(getPlayerCount() /2 + 0.5) then applyVoteRedo() mapRestarting = true outputChatBox ("#c1c1c1This Map Will Be Restarted By #1a5eaaVote", root, 255, 153, 0, true) end else outputChatBox("#c1c1c1You already #1a5eaaVoted #FFFFFFfor redo !", thePlayer, 255, 0, 0, true) end else outputChatBox("#440000Sorry#ffffff, #c1c1c1This map was restarted by #1a5eaaVote #FFFFFF!", thePlayer, 255, 0, 0, true) end end En regardant de plus près, je voit que le message affiché est celui-ci: outputChatBox("#440000Sorry#ffffff, #c1c1c1This map was restarted by #1a5eaaVote #FFFFFF!", thePlayer, 255, 0, 0, true) Dit-moi si je me trompe donc personnelement, j'ai pas un assés bon niveau, mais l'erreur vient donc de la partie qui se trouve avant le "else" de l' "outputChatBox" c'est tout ce que je pourrais te dire, essaie de trouver, si jamais tu trouve l'erreur, mais que tu ne sait pas comment la corriger, je ne suis pas sûre de pouvoir t'aider, mais je pense que Citizen a un assés bon niveau pour t'aider.
  14. Il faudrais le nouveau code, je vais essayer de trouver
  15. Salut, j'ai éditer le tutoriel suite à mes fautes de frappes (du soir ^^), du coup la commande "/testGUI" est censée marcher maintenant. N'oubliez-pas de me dire les erreurs du script avec la commande "/debugscript 2" et en regardent les lignes ou Je prévient bien que je n'ai pas testé le script, il est donc à vous. Vous pouvez aussi corriger les erreurs si vous vous y connaissaient un peu. CHANGELOG: > Correction de fautes d'ortographes > Correction de "addCommandeHandler" en "addCommandHandler" > Correction de la taille du texte (il était invisible)
  16. Bonjour, aujourd'hui j'ai décidé d'aider les débutants qui (comme moi avant) ne comprennent rien au GUI. C'est dans ce tutoriel très simple que je vais vous apprende la façon simple pour la création d'un GUI. Pour commencer, il vous faudras ceci: 1 - Mettez vous fichiers "meta.xml", "server.lua" et "client.lua" dans l'archive "*.zip". 2 - dans l'archive, éditez le fichier "meta.xml" comme ceci (à noter que les commentaires (-- texte) ne sont pas obligatoires à copier) <meta> <info name="Nom de la ressource" description="Description de la ressource" author="Votre pseudo" version="1.0.0" type="script" /> <script src="server.lua" type="server" /> <script src="client.lua" type="client" /> </meta> 3 - Maintenant vous pouvez sauvegarder et fermer le fichier "meta.xml" 4 - Ouvrez le fichier "client.lua" et à l'interrieur mettez-y les ceci: function Fenetre() -- Ceci sert à créer la fonction pour "créer" un GUI gui = guiCreateWindow(0.3852,0.2075,0.1600,0.4000,"Nom du GUI",true) -- Créer un GUI à la posotionX "0.3852" positionY "0.2075" tailleX "0.1600" tailleY "0.4000" au nom de "Nom du GUI" guiSetAlpha(gui,0.8 ) -- Changer l'opacitée de "gui" à "0.8" (enlevez l'espace entre "0.8" et ")") bouton = guiCreateButton(128,31,277,24,"Changer la couleur",false,gui) -- Créer un bouton au positions(X,Y)"128,31" et au tailles(X,Y)"277,24" au nome de "Changer la couleur" attachée à "gui" guiSetAlpha(bouton,1) -- déjà expliqué, mais ce coup-ci c'est le bouton est affecté à l'opacitée "1" texte = guiCreateLabel(128,68,106,15,"REGARDE ICI !",false,gui) -- Créer un texte au position et tailes voulues, au nome de "REGARDE ICI !" attaché à "gui" guiSetAlpha(texte,1) -- Toujours pareil, ce coup-ci à "texte" guiLabelSetVerticalAlign(texte,"top") -- Alligner le labet "texte" au centre guiLabelSetHorizontalAlign(texte,"right") -- alligner le label "texte" à droite guiSetVisible(gui,false) -- Rendre le GUI invisible addEventHandler("onClientGUIClick", bouton, changerCouleur) -- Executer la fonction "changerCouleur" lorsque le joueur "Click" sur "bouton" end -- ferme la fonction du GUI function changerCouleur() -- Créer la fonction "changerCouleur" guiLabelSetColor(texte,255,0,0) -- Changer la couleur de "texte" en (R,G,B) "255,0,0" end -- ferme la fonction de la couleur function ouvrirFermer() -- Vous avez compris if ( guiGetVisible( gui ) == false ) then -- Si "gui" est fermé alors Fenetre() -- execute la création de la fonction "Fenetre" guiSetVisible(gui,true) -- Rend le GUI visible showCursor(true) -- Rend le curseur visible else -- Sinon guiSetVisible(gui,false) -- Rend le GUI invisible showCursor(false) -- Retire le curseur, et rend le controle du jeu end -- Fin du "Si" end -- Fin de la fonction addCommandHandler("testGUI", ouvrirFermer) -- Quand la commande "/testGUI" est entrée, lancer la fonction "ouvrirFermer" bindKey("o", "down", ouvrirFermer) -- Quand la touche "o" est "présseée", lancer la fonction "ouvrirFermer" 5 - Vous pouvez maintenant sauvegarder et fermer "client.lua" 6 - Le "server.lua" est inutile ici, mais est très utile pour les GUI (comme un "Login Panel" ou même en changement du "nametag") donc conservez-le et n'hésitez pas à me livrer vos exploîts en GUI ou même vos erreurs, je pourrais peut-être vous aider 7 - Il ne vous reste plus qu'à mettre le "*.zip" dans votre fichier "resources" et à l'executer sur votre serveur ! Testez dès à présent la touche "o" ou la commande "/testGUI" ! N"hésitez pas à consulter https://wiki.multitheftauto.com/ pour plus d'informations Sur ceux, bonne chance, et bonne journée !
  17. Bon aller, je vais le faire pour les suivants, qui viendront voir ce topic (ainsi que l'ancien), et sinon tu vient de m'apprende quelquechose à propos des
  18. Merci, jédit ce post pour te dire si tout vas bien ou pas. Eh bien merci, tu m'a encore une fois aidé, et mon Login Panel marche parfaitement, je n'ai plus qu'à lui faire un relooking et il seras parfait pour mon serveur PS: j'ai fait le magnifique fail d'utiliser une balise "code" à la place d'une balise "lua", ce qui m'a fait mettre toutes le couleurs manuellement (en m'aidant de Notepad++ pour les couleurs en plus ), je referais peut-être un nouveau topic à propos d'un autre script, si je trouve pas la solution sur le wiki.
  19. Bon je me suis décidé de m'aider sur un autre srcipt, et ce coup-ci j'obtient Une solution possible ? Ceci ce passe sur l'enregistrement. Voici le code: function registerHandler(player, username, password) local account = getAccount(username, password) if (account ~=false) then triggerClientEvent(player, "registerTaken", getRootElement()) else account = addAccount(username, password) if (logIn(player, account, password) == true then outputChatBox("Si vous voulez changer de mot de passe, utilisez ''/changerpass''.",) triggerClientEvent(player, "hideLoginWindow", getRootElement()) end end end Merci, pour l'aide, et j'éspère que cela peut être réparé facilement.
  20. le serveur ne reconnaît pas "getAccount" est-ce normal, je me suis relu des dizaines de fois, et ne voit pas d'erreur sur "getAccount", j'ai même copié/collé le "getAccount" du wiki pour être sûre de na pas avoir fait de fautes de frappes... EDIT: J'ai mal lu le wiki, c'est seulement une fonction "server", comment puis-je faire pour l'adapter à mon GUI ?
  21. Merci, je vais voir pour changer le script et utiliser le "internal.db", je reviendrais avec quelques feedbacks.
  22. Bonjour, me revoilà, en ce moment je créer un login panel, seul problème, je voudrais utiliser la base de donnée "registry.db" qui se trouve à la "racine" du serveur. Seul problème, j'ai vraimant du mal avec le Wiki MTA sur ce point, et c'est donc ici que je demande votre aide. Ce que je voudrais faire, c'est de faire un sorte que lorsque l'on s'enregistre sur le serveur, mon script enrigistre les identifients sur la base, et que lorsque l'on se connecte, mon script vérifie si le "mot de passe" correspond bien au "pseudo" enregistré dans la BDD. J'ai déjà fait toute l'interface graphique, et le système, il ne me manque plus qu'à faire un sorte d'enregistrer sur la BDD. PS: Si il est plus simple de recréer une BDD directement sur ma ressource, alors expliquez-moi comment faire, mais je préfère tout de même l'enregistrer aussi sur ce fameux "registry.db" au cas où ou je change de ressource, et que par erreur je supprime celle que j'ai créer. PS2: Je ne donne pas de code, car justement c'est cela que je veut apprendre. Sur ceux, merci d'avoir tout lu, et j'éspère que l'on me répondras, et que cela m'aideras.
  23. Encors une fois, merci, j'ai maintenant refait le script, et je n'ai plus aucuns bugs. Ce coup là, j'ai lu une des tes corrections et j'ai dessuite tout corrigé sans problèmes.
×
×
  • Create New...