coti963

Membres
  • Compteur de contenus

    25
  • Points

  • Inscription

  • Dernière visite

Réputation sur la communauté

0 Neutre

À propos de coti963

  • Rang
    Membre

Compétences

  • Pawn
  • Web front-end
  • Web back-end
  • Mapping
  • Réseau
  • Graphisme
  1. Aaaahhhhhhhhhhhhh..... Mais le con, pourquoi je n'y ai pas pensé plus tôt, je l'ai fait sur la commande lors de la création de véhicule en plus. Bref, merci beaucoup de votre aide à tous.
  2. Problème réglé, maintenant j'ai toujours un problème qui persiste, les véhicule ne veulent toujours spawn dans le bon monde.
  3. Oui mais si je met i j'ai aucun véhicule qui Spawn
  4. Maintenant j'ai un autre problème pour la sauvegarde des véhicules, au lieu de commandé par l'id 0 et elle commance par l'id 144 : Ensuite les véhicules ne spawn pas quand je redemarre le serveur : stock LoadVehicle() { new iniid[256]; for(new i = 1; i < MAX_VEHICLES; i++) { format(iniid, sizeof(iniid), FICHIER_VOITURE, iniid); if(dini_Exists(iniid)) { VehicleInfo[i][vehicle] = dini_Int(iniid, "Model"); VehicleInfo[i][xspawn] = dini_Float(iniid, "XSpawn"); VehicleInfo[i][yspawn] = dini_Float(iniid, "YSpawn"); VehicleInfo[i][zspawn] = dini_Float(iniid, "ZSpawn"); VehicleInfo[i][anglespawn] = dini_Float(iniid, "Angle"); VehicleInfo[i][vcol1] = dini_Int(iniid, "Color1"); VehicleInfo[i][vcol2] = dini_Int(iniid, "Color2"); VehicleInfo[i][respawn] = dini_Int(iniid, "Respawn"); VehicleInfo[i][owner] = dini_Int(iniid, "Owner"); VehicleInfo[i][vehvie] = dini_Float(iniid, "Etat"); VehicleInfo[i][world] = dini_Int(iniid, "Monde"); VehicleInfo[i][Lock] = dini_Int(iniid, "Lock"); CreateVehicle(VehicleInfo[i][vehicle], VehicleInfo[i][xspawn], VehicleInfo[i][yspawn], VehicleInfo[i][zspawn], VehicleInfo[i][anglespawn], VehicleInfo[i][vcol1], VehicleInfo[i][vcol2], VehicleInfo[i][respawn]); SetVehicleHealth(i, VehicleInfo[i][vehvie]); ChangeVehicleColor(i, VehicleInfo[i][vcol1], VehicleInfo[i][vcol2]); SetVehicleVirtualWorld(i, VehicleInfo[i][world]); } } return 1; }
  5. C'est bon j'ai fait les modification dans le stock et sa marche, merci beaucoup !
  6. @vitespirite Oui mais je pense qu'il met sa car y'a le sscanf warning car j'ai marqué ceci quand j'ai créé mon véhicule : /v creer 536(id du vehicule) 59(couleur 1) 00(couleur 2) 1-(temps de respawn) PS : je viens de voir la modif, je vais regarder ça de suite.
  7. Donc si j'ai bien compris dans ma commande /v creer je rajoute : printf("%d", vehid); Mais quand je fais ma commande la console me rapport ceci :
  8. Je t'en remercie @Jhonny Sa marche maintenant mais j'ai toujours mon problème de monde, va savoir pourquoi, j'ai pourtant modifier dans mon stock pour que le véhicule ce créé et ensuite il me le mets dans le monde que j'ai choisi. stock AddVehicles(modelid, Float:vx, Float:vy, Float:vz, Float:vangle, vcolor1, vcolor2, timerespawn, vowner[MAX_PLAYER_NAME], vworld) { new vehid = GetFreeVehicleSlot(); VehicleInfo[vehid][vehicle] = modelid; VehicleInfo[vehid][xspawn] = vx; VehicleInfo[vehid][yspawn] = vy; VehicleInfo[vehid][zspawn] = vz; VehicleInfo[vehid][anglespawn] = vangle; VehicleInfo[vehid][vcol1] = vcolor1; VehicleInfo[vehid][vcol2] = vcolor2; VehicleInfo[vehid][respawn] = timerespawn; VehicleInfo[vehid][owner] = vowner; VehicleInfo[vehid][vehvie] = 1000; VehicleInfo[vehid][world] = vworld; SetVehicleHealth(vehid, VehicleInfo[vehid][vehvie]); CreateVehicle(modelid, vx, vy, vz, vangle, vcolor1, vcolor2, timerespawn); SetVehicleVirtualWorld(vehid, VehicleInfo[vehid][world]); validcar[vehid] = true; return vehid; } new vehid = AddVehicles(modelid, vx, vy, vz, vangle, vcolor1, vcolor2, timerespawn, vowner, GetPlayerVirtualWorld(playerid));
  9. Merci le problème est réglé mais j'en ai un autre maintenant, quand je fais la commande la voiture spawn toujours dans le monde de base au lieu du monde qui lui est défini et pour ce qui est au niveau de la sauvegarde j'ai ça : Model=0 XSpawn=0.000000 YSpawn=0.000000 ZSpawn=0.000000 Angle=0.000000 Color1=0 Color2=0 Respawn=0 Owner= Etat=1000.000000 Monde=69 Lock=0 Alors que cela devrais être rempli.
  10. J'ai refait mon système de zéro mais j'ai un autre problème, quand je compile j'ai cette erreur : error 035: argument type mismatch (argument 9) stock AddVehicles(modelid, Float:vx, Float:vy, Float:vz, Float:vangle, vcolor1, vcolor2, timerespawn, vowner, vworld) { new vehid = GetFreeVehicleSlot(); VehicleInfo[vehid][vehicle] = modelid; VehicleInfo[vehid][xspawn] = vx; VehicleInfo[vehid][yspawn] = vy; VehicleInfo[vehid][zspawn] = vz; VehicleInfo[vehid][anglespawn] = vangle; VehicleInfo[vehid][vcol1] = vcolor1; VehicleInfo[vehid][vcol2] = vcolor2; VehicleInfo[vehid][respawn] = timerespawn; VehicleInfo[vehid][owner] = vowner; VehicleInfo[vehid][vehvie] = 1000; VehicleInfo[vehid][world] = vworld; SetVehicleVirtualWorld(vehid, VehicleInfo[vehid][world]); SetVehicleHealth(vehid, VehicleInfo[vehid][vehvie]); CreateVehicle(modelid, vx, vy, vz, vangle, vcolor1, vcolor2, timerespawn); validcar[vehid] = true; return vehid; } CMD:v(playerid, params[]) { new option[16], suboptions[129]; if(JoueurInfo[playerid][InSemirp] == 1) { if(sscanf(params, "s[16]S(0)[129]", option, suboptions)) return Scm(playerid, -1, "Vehicule : lock ; ranger ; spawn ; reparer ; forcerporte ; fils"); switch(YHash(option, true, hash_fnv1)) { case [email protected]<creer>: { new modelid, vcolor1, vcolor2, timerespawn, vowner[MAX_PLAYER_NAME]; if(sscanf(suboptions, "dddd", modelid, vcolor1, vcolor2, timerespawn, vowner)) return Scm(playerid, COULEUR_ROUGE, "UTILISATION: /v creer [ID Véhicule] [couleur 1] [couleur 2] [temps respawn]"); new string[128], Float:vx, Float:vy, Float:vz, Float:vangle, vworld = 69; GetPlayerPos(playerid, vx, vy, vz); GetPlayerFacingAngle(playerid, vangle); GetPlayerName(playerid, vowner, sizeof(vowner)); AddVehicles(modelid, vx, vy, vz, vangle, vcolor1, vcolor2, timerespawn, vowner, vworld);// l'érreur est ici SaveVehicle(); format(string, sizeof(string), "Vous (%s) venez de faire spawn un voiture( ID : %d) avec la couleur %d, %d .", vowner, modelid, vcolor1, vcolor2); Scm(playerid, -1, string); } case [email protected]<lock>:{ new string[128]; new playername[MAX_PLAYER_NAME]; new Float:x, Float:y, Float:z; new veh = VehicleInfo[playerid][owner]; GetPlayerName(playerid, playername, sizeof(playername)); GetPlayerPos(playerid, x, y, z); if(IsPlayerConnected(playerid)) { if(VehicleInfo[veh][Lock] == 1) { PlayerPlaySound(playerid,1145,0.0,0.0,0.0); format(string, sizeof(string), "* %s appuie sur le BIP de son véhicule afin de le deverrouiller.", playername); SendNearbyMessage(playerid, 30.0, string, COULEUR_FADE1,COULEUR_FADE2,COULEUR_FADE3,COULEUR_FADE4,COULEUR_FADE5); ChangeCarLock(veh,0); } else { PlayerPlaySound(playerid,1145,0.0,0.0,0.0); format(string, sizeof(string), "* %s appuie sur le BIP de son véhicule afin de le verrouiller.", playername); SendNearbyMessage(playerid, 30.0, string, COULEUR_FADE1,COULEUR_FADE2,COULEUR_FADE3,COULEUR_FADE4,COULEUR_FADE5); ChangeCarLock(veh,1); } } } case [email protected]<ranger>: { } case [email protected]<spawn>: { } case [email protected]<reparer>: { } case [email protected]<forcerporte>: { } case [email protected]<fils>: { } } } else { Scm(playerid, COULEUR_ROUGE, "Vous n'êtes pas dans le semi-rp"); } return true; } PS : Faite pas attention a l'indntation car elle s'est mal mise ici mais elle est nickel sur mon gm
  11. Bonjour, je travaille sur un système de véhicule mais quand je le créé il ne spawn pas dans le bon monde et quand je relance le gm il ne respawn pas alors qu'il est save. if(strcmp(cmd, "/v", true) == 0 || strcmp(cmd, "/vehicule", true) == 0) { new tmp[256]; tmp = strtok(cmdtext, idx); if(JoueurInfo[playerid][InSemirp] == 1) { if(!strlen(tmp)) return SendClientMessage(playerid, -1, "Vehicule : lock ; ranger ; spawn ; reparer ; forcerporte ; fils"); if(strcmp(tmp, "creer", true) == 0) { if(JoueurInfo[playerid][Admin] >= 3) { if(JoueurInfo[playerid][Duty] == 1) { new modelid; new Float:vx; new Float:vy; new Float:vz; new Float:vangle; new vehcol1; new vehcol2; new trespawn; new bot[MAX_PLAYER_NAME]; new tmp2[256]; new tmp3[256]; new tmp4[256]; new tmp5[256]; tmp2 = strtok(cmdtext, idx); tmp3 = strtok(cmdtext, idx); tmp4 = strtok(cmdtext, idx); tmp5 = strtok(cmdtext, idx); modelid = strval(tmp2); vehcol1 = strval(tmp3); vehcol2 = strval(tmp4); trespawn = strval(tmp5); if(!strlen(tmp2)) { SendClientMessage(playerid, COULEUR_ROUGE, "UTILISATION: /v creer [ID Véhicule]"); return 1; } if(modelid >= 400 && modelid <= 611) { if(!strlen(tmp2)) { SendClientMessage(playerid, COULEUR_ROUGE, "UTILISATION: /v creer [ID Véhicule]"); return 1; } if(!strlen(tmp3)) { SendClientMessage(playerid, COULEUR_ROUGE, "UTILISATION: /v creer [ID Véhicule] [couleur 1]"); return 1; } if(vehcol1 >= 0 && vehcol1 <= 255) { if(!strlen(tmp4)) { SendClientMessage(playerid, COULEUR_ROUGE, "UTILISATION: /v creer [ID Véhicule] [couleur 1] [couleur 2]"); return 1; } if(vehcol2 >= 0 && vehcol2 <= 255) { if(!strlen(tmp5)) { SendClientMessage(playerid, COULEUR_ROUGE, "UTILISATION: /v creer [ID Véhicule] [couleur 1] [couleur 2] [temps respawn]"); return 1; } GetPlayerPos(playerid, vx, vy, vz); GetPlayerFacingAngle(playerid, vangle); CreateVehicleEx(modelid, vx, vy, vz, vangle, vehcol1, vehcol2, trespawn, bot, GetPlayerVirtualWorld(playerid)); SaveVehicle(playerid); format(string, sizeof(string), "Vous venez de faire spawn un voiture( ID : %d) avec la couleur %d, %d .", modelid, vehcol1, vehcol2); SendClientMessage(playerid, -1, string); } else { SendClientMessage(playerid, 0xFF000000, "La couleur doit etre compris entre 0 et 255"); } } else { SendClientMessage(playerid, 0xFF000000, "La couleur doit etre compris entre 0 et 255"); } } else { SendClientMessage(playerid, 0xFF000000, "Tu dois mettre un chiffre compris entre 400 et 611"); } } else { SendClientMessage(playerid, 0xFF000000, "Tu n'es pas admin!"); } } else { SendClientMessage(playerid, 0xFF000000, "Tu n'es pas admin!"); } } else { SendClientMessage(playerid, -1, "Vehicule : lock ; ranger ; spawn ; reparer ; forcerporte ; fils"); } if(strcmp(tmp, "lock", true) == 0) { new playername[MAX_PLAYER_NAME]; new Float:x, Float:y, Float:z; new veh = VehicleInfo[playerid][owner]; GetPlayerName(playerid, playername, sizeof(playername)); GetPlayerPos(playerid, x, y, z); if(IsPlayerConnected(playerid)) { if(VehicleInfo[veh][Lock] == 1) { PlayerPlaySound(playerid,1145,0.0,0.0,0.0); format(string, sizeof(string), "* %s appuie sur le BIP de son véhicule afin de le deverrouiller.", playername); SendNearbyMessage(playerid, 30.0, string, COULEUR_FADE1,COULEUR_FADE2,COULEUR_FADE3,COULEUR_FADE4,COULEUR_FADE5); ChangeCarLock(veh,0); } else { PlayerPlaySound(playerid,1145,0.0,0.0,0.0); format(string, sizeof(string), "* %s appuie sur le BIP de son véhicule afin de le verrouiller.", playername); SendNearbyMessage(playerid, 30.0, string, COULEUR_FADE1,COULEUR_FADE2,COULEUR_FADE3,COULEUR_FADE4,COULEUR_FADE5); ChangeCarLock(veh,1); } } } } else { SendClientMessage(playerid, COULEUR_ROUGE, "Tu n'es pas dans le semi-rp !"); } return 1; } #define FICHIER_VOITURE "Voitures/%d.ini" new bool:validcar[MAX_VEHICLES]; stock GetFreeVehicleSlot() { for(new i = 0; i < sizeof(validcar); i ++) { if(!validcar[i]) return i; } return -1; } enum CarData { vehicle, Float:xspawn, Float:yspawn, Float:zspawn, Float:anglespawn, vcol1, vcol2, respawn, owner[24], Float:vehvie, createveh, world, Lock, FileID } new VehicleInfo[MAX_VEHICLES][CarData]; stock CreateVehicleEx( modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawntime, ownername[MAX_PLAYER_NAME], monde) { new vehid = GetFreeVehicleSlot(); VehicleInfo[vehid][vehicle] = modelid; VehicleInfo[vehid][xspawn] = x; VehicleInfo[vehid][yspawn] = y; VehicleInfo[vehid][zspawn] = z; VehicleInfo[vehid][anglespawn] = angle; VehicleInfo[vehid][vcol1] = color1; VehicleInfo[vehid][vcol2] = color2; VehicleInfo[vehid][respawn] = respawntime; VehicleInfo[vehid][owner] = ownername; VehicleInfo[vehid][world] = monde; SetVehicleVirtualWorld(vehid, VehicleInfo[vehid][world]); CreateVehicle(modelid, x, y, z, angle, color1, color2, respawntime); validcar[vehid] = true; return vehid; } stock SaveVehicle(vehicleid) { new iniid[256]; format(iniid, sizeof(iniid), FICHIER_VOITURE,vehicleid); if(!dini_Exists(iniid)) { dini_Create(iniid); dini_IntSet(iniid, "Model", VehicleInfo[vehicleid][vehicle]); dini_FloatSet(iniid, "XSpawn", VehicleInfo[vehicleid][xspawn]); dini_FloatSet(iniid, "YSpawn", VehicleInfo[vehicleid][yspawn]); dini_FloatSet(iniid, "ZSpawn", VehicleInfo[vehicleid][zspawn]); dini_FloatSet(iniid, "Angle", VehicleInfo[vehicleid][anglespawn]); dini_IntSet(iniid, "Color1", VehicleInfo[vehicleid][vcol1]); dini_IntSet(iniid, "Color2", VehicleInfo[vehicleid][vcol2]); dini_IntSet(iniid, "Respawn", VehicleInfo[vehicleid][respawn]); dini_Set(iniid, "Owner", VehicleInfo[vehicleid][owner]); dini_FloatSet(iniid, "Etat", VehicleInfo[vehicleid][vehvie] = 1000); dini_IntSet(iniid, "Monde", VehicleInfo[vehicleid][world] = 69); dini_IntSet(iniid, "Lock", VehicleInfo[vehicleid][Lock] = 0); } return 1; } stock SaveVehicleSystem() { for(new i = 1; i < MAX_VEHICLES; i++) { new iniid[256]; format(iniid, sizeof(iniid), FICHIER_VOITURE, i); if(!dini_Exists(iniid)) { dini_Create(iniid); dini_IntSet(iniid, "Model", VehicleInfo[i][vehicle]); dini_FloatSet(iniid, "XSpawn", VehicleInfo[i][xspawn]); dini_FloatSet(iniid, "YSpawn", VehicleInfo[i][yspawn]); dini_FloatSet(iniid, "ZSpawn", VehicleInfo[i][zspawn]); dini_FloatSet(iniid, "Angle", VehicleInfo[i][anglespawn]); dini_IntSet(iniid, "Color1", VehicleInfo[i][vcol1]); dini_IntSet(iniid, "Color2", VehicleInfo[i][vcol2]); dini_IntSet(iniid, "Respawn", VehicleInfo[i][respawn]); dini_Set(iniid, "Owner", VehicleInfo[i][owner]); dini_FloatSet(iniid, "Etat", VehicleInfo[i][vehvie] = 1000); dini_IntSet(iniid, "Monde", VehicleInfo[i][world] = 69); dini_IntSet(iniid, "Lock", VehicleInfo[i][Lock] = 0); } } return 1; } stock LoadVehicle() { new iniid[256]; for(new i = 1; i < MAX_VEHICLES; i++) { format(iniid, sizeof(iniid), FICHIER_VOITURE, i); if(dini_Exists(iniid)) { VehicleInfo[i][vehicle] = dini_Int(iniid, "Model"); VehicleInfo[i][xspawn] = dini_Float(iniid, "XSpawn"); VehicleInfo[i][yspawn] = dini_Float(iniid, "YSpawn"); VehicleInfo[i][zspawn] = dini_Float(iniid, "ZSpawn"); VehicleInfo[i][anglespawn] = dini_Float(iniid, "Angle"); VehicleInfo[i][vcol1] = dini_Int(iniid, "Color1"); VehicleInfo[i][vcol2] = dini_Int(iniid, "Color2"); VehicleInfo[i][respawn] = dini_Int(iniid, "Respawn"); strmid(VehicleInfo[i][owner], dini_Get(iniid, "Owner"), 0, strlen(dini_Get(iniid,"Owner")), 255); VehicleInfo[i][vehvie] = dini_Float(iniid, "Etat"); VehicleInfo[i][world] = dini_Int(iniid, "Monde"); VehicleInfo[i][Lock] = dini_Int(iniid, "Lock"); VehicleInfo[i][FileID] = i; VehicleInfo[i][createveh] = CreateVehicle(VehicleInfo[i][vehicle], VehicleInfo[i][xspawn], VehicleInfo[i][yspawn], VehicleInfo[i][zspawn], VehicleInfo[i][anglespawn], VehicleInfo[i][vcol1], VehicleInfo[i][vcol2], 3); SetVehicleHealth(VehicleInfo[i][createveh], VehicleInfo[i][vehvie]); ChangeVehicleColor(VehicleInfo[i][createveh], VehicleInfo[i][vcol1], VehicleInfo[i][vcol2]); SetVehicleVirtualWorld(VehicleInfo[i][createveh], VehicleInfo[i][world]); } } return 1; } forward ChangeCarLock(vehicleid,lock); public ChangeCarLock(vehicleid,lock) { new i = 0; new iniid[256]; format(iniid, sizeof(iniid), FICHIER_VOITURE, i); if(dini_Exists(iniid)) { while(i < MAX_PLAYERS) { SetVehicleParamsForPlayer(vehicleid,i++,0,lock); } VehicleInfo[VehicleInfo[vehicleid][FileID]][Lock] = lock; SaveVehicle(vehicleid); } return 1; }
  12. @C_far Je n'utilise pas zcmd sur mon serveur car je préfère rester avec strcmp et je n'utilise pas MySQL aussi. new msg[2048]; Non je n'est pas autant besoin de caractères et je ne sais plus pourquoi j'avais mis ce chiffre.
  13. if(strcmp(cmd, "/tban", true) == 0) { if(JoueurInfo[playerid][Admin] <= 3) return SendClientMessage(playerid, 0xFF000000, "Tu n'es pas admin !"); if(JoueurInfo[playerid][Duty] != 1) return SendClientMessage(playerid, 0xFF000000, "Tu n'es pas en duty !"); new reason[256]; reason = strrest(cmdtext, idx);//strrest == texte new tmp[256]; new tmp2[256]; new idjoueur; new tempsban; tmp = strtok(cmdtext, idx); tmp2 = strtok(cmdtext, idx); idjoueur = strval(tmp); tempsban = strval(tmp2); if(!strlen(tmp)) return SendClientMessage(playerid, COULEUR_ROUGE, "SERVEUR: /tban [Joueurid]"); if(idjoueur == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000FF, "L'id entré est incorrect!"); if(!strlen(tmp2)) return SendClientMessage(playerid, COULEUR_ROUGE, "SERVEUR: /tban [Joueurid] (Temps en minutes)"); if(!strlen(reason)) return SendClientMessage(playerid, 0xFFFF00FF, "Aide: /tban (Joueur ID) (Temps en minutes) (Raison)"); if(strlen(reason) < 5)//5 == nombre de caractere return SendClientMessage(playerid, 0xFF0000FF, "La raison doit faire plus de 5 caractères!"); SetTimerEx("TimerBan", tempsban*60*1000, false, "i", idjoueur); JoueurInfo[idjoueur][TBAN] = tempsban; TempsBanJoueur (reason, idjoueur, tempsban); return 1; } stock TempsBanJoueur (raison[256], idjoueur, tempsban){ new msg[2048], joueur[MAX_PLAYER_NAME]; GetPlayerName(idjoueur, joueur, MAX_PLAYER_NAME); format(msg, sizeof(msg), " Le joueur %s[id:%d] a été ban par un Administrateur. [Raison: %s] [Durée: %d]", joueur, idjoueur, raison, tempsban); SendClientMessageToAll (0xFF0000FF, msg); SetTimerEx("TempsBan", 1000, false, "i", idjoueur); return 1; } forward TempsBan (playerid); public TempsBan (playerid) { return TempsBan(playerid); } forward TimerBan (idjoueur); public TimerBan (idjoueur) { SetTimerEx("TimerTempsBan", 1000, true, "i", idjoueur); } forward TimerTempsBan(idjoueur); public TimerTempsBan(idjoueur) { JoueurInfo[idjoueur][TBAN] -= 1; return 1; } public OnPlayerConnect(playerid) { if(JoueurInfo[playerid][TBAN] != 0) { SendClientMessage(playerid, -1, "Tu es ban, attends la fin de ton bannisement !"); Kick(playerid); } return 1; } Je up ce sujet car j'ai fait la commande mais il m'affiche tout le temps "SERVEUR : /tban [joueurid]" et je voudrais savoir avec ce que j'ai fait si ma commande marcherait vraiment.
  14. [b]Cherche:[/b] Développeur pawn [b]Projet de type:[/b] TeamDeathMatch et semi-rp [b]Description/Présentation du projet:[/b] serveur Liberto qui est de base un serveur TDM sur Los Santos puis ensuite qui est en cours de dev un mode semi rp sur Las vanturas. [b]Moyen de contact:[/b] Message privé ou Discord : coti#4862
  15. new Text:Box; new Text:BoxTDM; new Text:Team; new Text:Death; new Text:Match; new Text:BoxSemirp; new Text:tSemirp; public OnGameModeInit() { ////////////////////////////////////////////////////accueil Box = TextDrawCreate(432.000000, 134.500000, "usebox"); TextDrawLetterSize(Box, 0.000000, 15.683334); TextDrawTextSize(Box, 240.000000, 0.000000); TextDrawAlignment(Box, 1); TextDrawColor(Box, 0); TextDrawUseBox(Box, true); TextDrawBoxColor(Box, 255); TextDrawSetShadow(Box, 0); TextDrawSetOutline(Box, 0); TextDrawFont(Box, 0); BoxTDM = TextDrawCreate(333.000000, 166.000000, "usebox"); TextDrawLetterSize(BoxTDM, 0.000000, 9.405555); TextDrawTextSize(BoxTDM, 245.000000, 0.000000); TextDrawAlignment(BoxTDM, 1); TextDrawColor(BoxTDM, 0); TextDrawUseBox(BoxTDM, true); TextDrawBoxColor(BoxTDM, -871318614); TextDrawSetShadow(BoxTDM, 0); TextDrawSetOutline(BoxTDM, 0); TextDrawFont(BoxTDM, 0); TextDrawSetSelectable(BoxTDM, true); Team = TextDrawCreate(257.500000, 175.875000, "Team"); TextDrawLetterSize(Team, 0.449999, 1.600000); TextDrawAlignment(Team, 1); TextDrawColor(Team, -1); TextDrawSetShadow(Team, 0); TextDrawSetOutline(Team, 1); TextDrawBackgroundColor(Team, 51); TextDrawFont(Team, 1); TextDrawSetProportional(Team, 1); Death = TextDrawCreate(257.500000, 193.812500, "Death"); TextDrawLetterSize(Death, 0.449999, 1.600000); TextDrawAlignment(Death, 1); TextDrawColor(Death, -1); TextDrawSetShadow(Death, 0); TextDrawSetOutline(Death, 1); TextDrawBackgroundColor(Death, 51); TextDrawFont(Death, 1); TextDrawSetProportional(Death, 1); Match = TextDrawCreate(257.500000, 213.937500, "Match"); TextDrawLetterSize(Match, 0.449999, 1.600000); TextDrawAlignment(Match, 1); TextDrawColor(Match, -1); TextDrawSetShadow(Match, 0); TextDrawSetOutline(Match, 1); TextDrawBackgroundColor(Match, 51); TextDrawFont(Match, 1); TextDrawSetProportional(Match, 1); BoxSemirp = TextDrawCreate(426.000000, 166.000000, "usebox"); TextDrawLetterSize(BoxSemirp, 0.000000, 9.356945); TextDrawTextSize(BoxSemirp, 338.000000, 0.000000); TextDrawAlignment(BoxSemirp, 1); TextDrawColor(BoxSemirp, 0); TextDrawUseBox(BoxSemirp, true); TextDrawBoxColor(BoxSemirp, 629551786); TextDrawSetShadow(BoxSemirp, 0); TextDrawSetOutline(BoxSemirp, 0); TextDrawFont(BoxSemirp, 0); TextDrawSetSelectable(BoxSemirp, true); tSemirp = TextDrawCreate(353.500000, 194.687500, "Semirp"); TextDrawLetterSize(tSemirp, 0.449999, 1.600000); TextDrawAlignment(tSemirp, 1); TextDrawColor(tSemirp, -1); TextDrawSetShadow(tSemirp, 0); TextDrawSetOutline(tSemirp, 1); TextDrawBackgroundColor(tSemirp, 51); TextDrawFont(tSemirp, 1); TextDrawSetProportional(tSemirp, 1); ////////////////////////////////////////////////////accueil return 1; } public OnGameModeExit() { TextDrawDestroy(Box); TextDrawDestroy(BoxTDM); TextDrawDestroy(Team); TextDrawDestroy(Death); TextDrawDestroy(Match); TextDrawDestroy(BoxSemirp); TextDrawDestroy(tSemirp); print("Gamemode éteint!"); return 1; } public OnPlayerConnect(playerid) { TextDrawShowForPlayer(playerid, Box); TextDrawShowForPlayer(playerid, BoxTDM); TextDrawShowForPlayer(playerid, Team); TextDrawShowForPlayer(playerid, Death); TextDrawShowForPlayer(playerid, Match); TextDrawShowForPlayer(playerid, BoxSemirp); TextDrawShowForPlayer(playerid, tSemirp); SelectTextDraw(playerid, 0xCC3300AA); return 1; } public OnPlayerClickTextDraw(playerid, Text:clickedid) { if(_:clickedid != INVALID_TEXT_DRAW) { if(clickedid == BoxTDM) { JoueurInfo[playerid][InTDM] = 1; } else { kick(playerid); } if(clickedid == BoxSemirp) { if(JoueurInfo[playerid][Semirp] == 1) { SetPlayerVirtualWorld(playerid, 69); SetPlayerPos(playerid, 1674.7540, 1448.1296, 10.7894); SendClientMessage(playerid, -1, "Bienvenue a Las Venturas !"); ResetPlayerWeapons(playerid); JoueurInfo[playerid][InSemirp] = 1; TextDrawShowForPlayer(playerid,TextdrawSemirp0); TextDrawShowForPlayer(playerid,TextdrawSemirp1[playerid]); TextDrawShowForPlayer(playerid,TextdrawSemirp2[playerid]); TextDrawHideForPlayer(playerid,Textdraw0[playerid]); TextDrawHideForPlayer(playerid,Textdraw1[playerid]); TextDrawHideForPlayer(playerid,Textdraw2[playerid]); } else { SendClientMessage(playerid, COULEUR_ROUGE, " Tu n'es pas autorisé à aller dans le mode semi rp !"); } } else { kick(playerid); } TextDrawHideForPlayer(playerid,Box); TextDrawHideForPlayer(playerid,BoxTDM); TextDrawHideForPlayer(playerid,Team); TextDrawHideForPlayer(playerid,Death); TextDrawHideForPlayer(playerid,Match); TextDrawHideForPlayer(playerid,BoxSemirp); TextDrawHideForPlayer(playerid,tSemirp); CancelSelectTextDraw (playerid); } return 1; } En faite, mon système consiste a lorsque que l'on se connecte on se login puis ensuite un textdraw est sensé apparaître pour choisir soit le semi rp, soit le tdm mais rien ne s'affiche a part ceci : Lorsque je vais spawn j'atterri dans le tdm : je choisi ma classe et après l'avoir choisi, j'ai toujours la souris et je suis obligé de faire échap pour pouvoir jouer :