Jump to content

Jaber

Members
  • Posts

    22
  • Joined

  • Last visited

Details

  • Gang
    create Gang

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Jaber's Achievements

Civilian

Civilian (7/54)

0

Reputation

  1. Hi all , i'm making an earth model for Gta sa , so i make a sphere and test it in game, and the view distance suck , i put engineSetModelLODDistance to max value ( and more ) but nothing , i also tried setFarClipDistance But nothing too ... some screen : (ps : i remove the map )
  2. Pour moi la majeur partie de la communauté MTA est on va pas se le mentir Kikooo-lotesque ( je viens d'inventer un Adjectif y'a quoi ? ) rien a voir avec celle de SA:MP . C'est mon point de vue . après y'a des exception mais bon c'est minime .
  3. Merci citizen <3 tu me sauve la vie je vais essayer d’interpréter le serveur mta en PAWN why ? parce-que le pawn c'est cool :'D non sérieux parce-que ça va inciter des SAMPEUR a venir sur mta
  4. Yop' , Donc je suis développeur Pawn / C++ / d'autres petit langages que j'ai la flemme de citer / et lua ( même si moi et L'api mta sa fait pas bon ménage pas vrai @Wumbaloo fdf va ) bref , j'aimerai savoir si sur MTA il existerais un SDK ou un GDK pour dév ses propre module ? Why ? bah tout simplement le C++ est plus puissant plus rapide , on put faire plein de truc avec jusqu’à implanter de L'asm qui en Pawn est possible avec la directive #emit qui permet d'inclure du Code AMX et du coup Maximiser les performance , et aussi la possibilité d'orienter Mta vers d'autre langage sans trifouille le code source qui est chiant x9 Mirci aim té a
  5. Yop , donc je me re-prénsente , Jaber , Marocain , 17 ans , Apprenti codeur en Lua , Développeur (C , Pawn , Sql , Python et d'autre langage que j'ai la flemme de citer ) , donc ce matin j'ai mit mes mapping sur le gamemode qui me sert de base pour voir le rendu , MAIS , j'ai un énorme problème de stream d'objet ... les objets disparaissent et re-apparaissent comme par magie j'ai essayer divers fonction et solution mais toujours rien Voici quelque screen :
  6. Hi , i just put my map into my bases gamemode and i have a big probleme the streaming of object suck they disapear every time i changed the Lod distance but nothing some screen :
  7. Yop' , donc j'ai remarquer que Mta sa ne prend pas en compte les coroutine depuis la 1.5 d’après le wiki , déja une coroutine c'est quoi ? d’après wxlua une coroutine est similaire a un thread un processus qui exécute plusieurs Thread qui semble s’exécuter en parallèle : Tout d'abord, un petit rappel sur ce qu'est un thread: Un thread est similaire à un processus, car tous deux représentent l'exécution d'un ensemble d'instructions du langage machine d'un processeur. Et du point de vue de l'utilisateur, ces exécutions semblent se dérouler en parallèle. Mais, là où chaque processus possède sa propre mémoire virtuelle, les threads d'un même processus se partagent sa mémoire virtuelle. Comme exemple d'application, l'on peut citer les traitements de texte où la correction orthographique est exécutée tout en permettant à l'utilisateur de continuer à entrer son texte. En Lua, une coroutine est similaire à un thread et représente une ligne d'exécution avec sa propre pile, ses propres variables locales et son pointeur d'instruction propre. La principale différence est que si un programme peut fonctionner avec plusieurs threads simultanés, il ne pourra en revanche ne faire tourner qu'une seule coroutine à la fois. Le système des coroutines est un système collaboratif, une coroutine s'exécute, puis passe la main à une autre, et ainsi de suite. Une coroutine, va donc permettre de faire exécuter un programme en tâche de fond, sans ralentir celui du premier plan. vous alez me dire : " qu'est ce qu'on a foutre ?! " bah plusieurs Gamemode utilise cette fonction dont le Gamemode qui me sert de base ( Fairplay Gaming https://github.com/Socialz/lua-mta-fairplay ) comme mta ne les prends plus en compte bah on a de jolies erreurs : cannot resume dead coroutine [string "?"] Mais en jouant avec un IDE lua j'ai compris que depuis la dernière version du lua les coroutine bug . J'ai essayer de faire des print pour comprendre j'ai essayer avec un IDE lua le résultat avec ce code : co = coroutine.create( function() print("bonjour") end) print(co) ce = coroutine.running() coroutine.resume(co) print("les thread en route \n",ce,coroutine.resume(co)) print("cette coroutine est : ",coroutine.status(co)) ça retourne : On dirait que coroutine.resume() tue la coroutine ce qui est étrange ... J'aimerai avoir votre avis dessus et si y'a un moyen de contourner ça merci
  8. Jaber

    Problem

    Hi , i have a problem : ERROR: roleplay-chat/s_chat.lua:875: attempt to concatenate a boolean value the ligne 875 outputChatBox(" [AdminChat] " .. exports['roleplay-accounts']:getAdminRank(player) .. " " .. exports['roleplay-accounts']:getRealPlayerName(player) .. " (" .. exports['roleplay-accounts']:getAccountName(player) .. "): " .. message, v, 90, 230, 90, false) and the buged func : function getAdminRank(element) if (not tonumber(element)) then if (not element) or (getElementType(element) ~= "player") then return end if (not tonumber(getElementData(element, "roleplay:accounts.admin_level"))) then return false, 1 end local elementData = tonumber(getElementData(element, "roleplay:accounts.admin_level")) if (elementData == 0) then return "Player" elseif (elementData == 1) then return "Trial Admin" elseif (elementData == 2) then return "Administrator", "Admin" elseif (elementData == 3) then return "Lead Administrator", "Lead Admin" elseif (elementData == 4) then return "Head Administrator", "Head Admin" elseif (elementData == 5) then return "Community Leader", "Leader" elseif (elementData == 6) then return "Community Owner", "Owner" else return false, "Unknown" end else local element = tonumber(element) if (element == 0) then return "Player" elseif (element == 1) then return "Trial Administrator", "Trial Admin" elseif (element == 2) then return "Administrator", "Admin" elseif (element == 3) then return "Lead Administrator", "Lead Admin" elseif (element == 4) then return "Head Administrator", "Head Admin" elseif (element == 5) then return "Community Leader", "Leader" elseif (element == 6) then return "Community Owner", "Owner" else return false, "Unknown" end end end
  9. The panel showed but i need to resatrt every time the ressource for this ...
  10. Jaber

    speaker

    if you have a player var use it or if you use Acl Admin group use this : if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then
  11. Hi all , i have a problem with Fairplay Gaming ( Open source Roleplay GameMode thx Socialz ) my problem is i have a faction panel we can open it with presse F1 but for open the panel we need to restart res for every player join the server ... Can you help me thx The code : ServerSide : --[[ - FairPlay Gaming: Roleplay This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . (c) Copyright 2014 FairPlay Gaming. All rights reserved. ]] local factionTimer = {} local factionTypes = { [1] = {"Law", 1000000}, [2] = {"Medical", 1000000}, [3] = {"Government", 1000000}, [4] = {"News", 0}, [5] = {"Gang", 0}, [6] = {"Mafia", 0}, [7] = {"Triad", 0}, [8] = {"Other", 0} } function loadFactions() local query = dbQuery(exports['roleplay-accounts']:getSQLConnection(), "SELECT * FROM `??`", "factions") if (query) then local result, num_affected_rows, errmsg = dbPoll(query, -1) if (num_affected_rows > 0) then if (num_affected_rows == 1) then outputDebugString("1 faction loaded.") else outputDebugString(num_affected_rows .. " factions are about to be loaded.") end for result,row in pairs(result) do local faction = createTeam(row["name"]) setElementData(faction, "roleplay:factions.id", row["id"], false) setElementData(faction, "roleplay:factions.type", row["type"], false) setElementData(faction, "roleplay:factions.name", row["name"], false) setElementData(faction, "roleplay:factions.description", row["description"], false) setElementData(faction, "roleplay:factions.motd", row["motd"], false) setElementData(faction, "roleplay:factions.ranks", row["ranks"], false) setElementData(faction, "roleplay:factions.wages", row["wages"], false) setElementData(faction, "roleplay:factions.cooldown", 0, false) setElementData(faction, "roleplay:factions.invites", row["inviteCount"], false) setElementData(faction, "roleplay:factions.bank", row["bankValue"], false) for _,player in ipairs(getElementsByType("player")) do if (exports['roleplay-accounts']:getPlayerFaction(player)) then if (exports['roleplay-accounts']:getPlayerFaction(player) == row["id"]) then setPlayerTeam(player, faction) end end end end else outputDebugString("0 factions loaded. Does the factions table contain data and are the settings correct?") end end end function refreshFactionMenu(factionID) for i,v in ipairs(getElementsByType("player")) do if (exports['roleplay-accounts']:getPlayerFaction(v) == factionID) then if (getElementData(v, "roleplay:gui.isFactionMenu")) then triggerClientEvent(v, ":_closeFactionMenu_:", v) removeElementData(v, "roleplay:gui.isFactionMenu") showFactionMenu(v) end end end end local amountsUsed = {} function showFactionMenu(player) if (not player) or (not isElement(player)) or (getElementType(player) ~= "player") then return end if (getElementData(player, "roleplay:gui.isFactionMenu")) then triggerClientEvent(player, ":_closeFactionMenu_:", player) removeElementData(player, "roleplay:gui.isFactionMenu") else if (not exports['roleplay-accounts']:isClientPlaying(player)) then return end local factionID = exports['roleplay-accounts']:getPlayerFaction(player) local faction = getFactionByID(factionID) if (not factionID) or (not faction) then outputChatBox("You're not in a faction.", player, 245, 20, 20, false) return end if (amountsUsed[player]) and (amountsUsed[player] >= 2) then outputChatBox("Please wait before using the faction menu again.", player, 245, 20, 20, false) return else amountsUsed[player] = (amountsUsed[player] and amountsUsed[player]+1 or 1) end local factionName = getFactionName(faction) local factionType = getFactionType(faction) local factionMOTD = getFactionMOTD(faction) local factionRanks = getFactionRanks(faction) local factionWages = getFactionWages(faction) local factionPlayers = {} local query = dbQuery(exports['roleplay-accounts']:getSQLConnection(), "SELECT `??`, `??`, `??`, `??`, DATEDIFF(NOW(), `??`) AS `??` FROM `??` WHERE `??` = '??' ORDER BY `??` DESC, `??` ASC", "id", "characterName", "factionRank", "factionPrivileges", "loginDate", "loginDate", "characters", "factionID", factionID, "factionRank", "characterName") if (not query) then outputChatBox("An error occured when tried to fetch faction members.", player, 245, 20, 20, false) return end local result, num_affected_rows = dbPoll(query, -1) if (not result) then outputChatBox("An error occured when tried to fetch faction members.", player, 245, 20, 20, false) return elseif (num_affected_rows == 0) then outputChatBox("You're not in a faction.", player, 245, 20, 20, false) return end for _,row in pairs(result) do table.insert(factionPlayers, { ["id"] = row["id"], ["name"] = row["characterName"], ["rank"] = row["factionRank"], ["privileges"] = row["factionPrivileges"], ["lastOnline"] = row["lastOnline"] }) end setElementData(player, "roleplay:gui.isFactionMenu", 1, false) triggerClientEvent(player, ":_showFactionMenu_:", player, factionID, factionName, factionType, factionMOTD, factionRanks, factionWages, factionPlayers) setTimer(function(player) if (not isElement(player)) then amountsUsed[player] = nil else amountsUsed[player] = 0 end end, 3000, 1, player) end end addEvent(":_syncFactionChange_:", true) addEventHandler(":_syncFactionChange_:", root, function(type, ...) local type = tonumber(type) if (source ~= client) or (not type) or (type <= 0) or (type > 6) then return end local factionID = exports['roleplay-accounts']:getPlayerFaction(client) local faction = getFactionByID(factionID) if (not factionID) or (not faction) or (not exports['roleplay-accounts']:getFactionPrivileges(client)) then outputChatBox("You're not in a faction.", client, 245, 20, 20, false) return end if (exports['roleplay-accounts']:getFactionPrivileges(client) <= 0) then outputChatBox("Your privileges are too low for that action.", client, 245, 20, 20, false) return end local args = {...} if (type == 1) then local newMotd = args[1] setElementData(faction, "roleplay:factions.motd", newMotd, false) dbExec(exports['roleplay-accounts']:getSQLConnection(), "UPDATE `??` SET `??` = '??' WHERE `??` = '??'", "factions", "motd", newMotd, "id", factionID) for i,v in ipairs(getPlayersInTeam(faction)) do if (exports['roleplay-accounts']:isClientPlaying(v)) then outputChatBox(" [FactionAct] " .. getPlayerName(client):gsub("_", " ") .. " updated the Message of the Day.", v, 50, 210, 220, false) end end elseif (type == 2) then local newRanks = toJSON(args[1]) local newWages = toJSON(args[2]) setElementData(faction, "roleplay:factions.ranks", newRanks, false) setElementData(faction, "roleplay:factions.wages", newWages, false) dbExec(exports['roleplay-accounts']:getSQLConnection(), "UPDATE `??` SET `??` = '??', `??` = '??' WHERE `??` = '??'", "factions", "ranks", newRanks, "wages", newWages, "id", factionID) for i,v in ipairs(getPlayersInTeam(faction)) do if (exports['roleplay-accounts']:isClientPlaying(v)) then outputChatBox(" [FactionAct] " .. getPlayerName(client):gsub("_", " ") .. " updated the ranks.", v, 50, 210, 220, false) end end elseif (type == 3) then local charName = args[1]:gsub(" ", "_") local newRank = args[2] local ranks = fromJSON(getFactionRanks(faction)) dbExec(exports['roleplay-accounts']:getSQLConnection(), "UPDATE `??` SET `??` = '??' WHERE `??` = '??' AND `??` = '??'", "characters", "factionRank", newRank, "characterName", charName, "factionID", factionID) local player = getPlayerFromName(charName) if (player) then setElementData(player, "roleplay:characters.faction:rank", newRank, true) end for i,v in ipairs(getPlayersInTeam(faction)) do if (exports['roleplay-accounts']:isClientPlaying(v)) then outputChatBox(" [FactionAct] " .. getPlayerName(client):gsub("_", " ") .. " set " .. exports['roleplay-accounts']:getRealPlayerName(charName) .. " rank to \"" .. ranks[newRank] .. "\".", v, 50, 210, 220, false) end end elseif (type == 4) then local charName = args[1]:gsub(" ", "_") local newRights = args[2]-1 dbExec(exports['roleplay-accounts']:getSQLConnection(), "UPDATE `??` SET `??` = '??' WHERE `??` = '??' AND `??` = '??'", "characters", "factionPrivileges", newRights, "characterName", charName, "factionID", factionID) local player = getPlayerFromName(charName) if (player) then setElementData(player, "roleplay:characters.faction:privileges", newRights, true) end for i,v in ipairs(getPlayersInTeam(faction)) do if (exports['roleplay-accounts']:isClientPlaying(v)) then outputChatBox(" [FactionAct] " .. getPlayerName(client):gsub("_", " ") .. " set " .. exports['roleplay-accounts']:getRealPlayerName(charName) .. " rights to \"" .. (newRights == 0 and "Member" or (newRights == 1 and "Leader" or "Owner")) .. "\".", v, 50, 210, 220, false) end end elseif (type == 5) then for _,vehicle in ipairs(getElementsByType("vehicle")) do if (exports['roleplay-vehicles']:getVehicleRealID(vehicle)) then if (exports['roleplay-vehicles']:getVehicleFaction(vehicle)) and (exports['roleplay-vehicles']:getVehicleFaction(vehicle) == factionID) then if (exports['roleplay-vehicles']:isVehicleEmpty(vehicle)) then fixVehicle(vehicle) setVehicleEngineState(vehicle, false) setVehicleOverrideLights(vehicle, 1) setElementFrozen(vehicle, true) setVehicleLocked(vehicle, true) setElementData(vehicle, "roleplay:vehicles.fuel", 100, true) setElementData(vehicle, "roleplay:vehicles.fuel;", 100, true) setElementData(vehicle, "roleplay:vehicles.engine", 0, true) setElementData(vehicle, "roleplay:vehicles.winstate", 0, true) setElementData(vehicle, "roleplay:vehicles.currentGear", 0, true) setElementData(vehicle, "roleplay:vehicles.handbrake", 1, true) respawnVehicle(vehicle) end end end end for i,v in ipairs(getPlayersInTeam(faction)) do if (exports['roleplay-accounts']:isClientPlaying(v)) then outputChatBox(" [FactionAct] " .. getPlayerName(client):gsub("_", " ") .. " respawned all unoccupied vehicles.", v, 50, 210, 220, false) end end elseif (type == 6) then local vehicleID = args[1] local vehicle = exports['roleplay-vehicles']:getVehicle(vehicleID) if (vehicle) then if (exports['roleplay-vehicles']:getVehicleFaction(vehicle)) and (exports['roleplay-vehicles']:getVehicleFaction(vehicle) == factionID) then fixVehicle(vehicle) setVehicleEngineState(vehicle, false) setVehicleOverrideLights(vehicle, 1) setElementFrozen(vehicle, true)
  12. i dont ask you for code '-' and i solved the code .
  13. Pour trouver ça j'ai du m’éloigner de ma logique habituelle x) mais j'ai l'habitude de Coder sur samp donc c'est pas trop difficile ^^
×
×
  • Create New...