darky3697 Posté(e) le 5 octobre 2013 Share Posté(e) le 5 octobre 2013 Salut à tous, j'utilise le jailmod de delachambre et j'aimerais changer le hub en l'occurence changé le "Zone :" par un système de capitaine aléatoire a chaque début de round (ps j'ai déjà reussi à le faire mais le capitaine rester le même chaque round ^^) public Action:HudTimer(Handle:timer, any:client) { if (IsClientInGame(client)) { new Handle:hBuffer = StartMessageOne("KeyHintText", client); new String:RealZone[999]; if (IsInJail(client)) { Format(RealZone, sizeof(RealZone), "Jail"); } else if (IsInPiscine(client)) { Format(RealZone, sizeof(RealZone), "Piscine"); } else if (IsInArmu(client)) { Format(RealZone, sizeof(RealZone), "Armurerie"); } else if (IsInCage(client)) { Format(RealZone, sizeof(RealZone), "Grande Cage"); } else if (IsInIso(client)) { Format(RealZone, sizeof(RealZone), "Isoloire"); } else if (IsInFoot(client)) { Format(RealZone, sizeof(RealZone), "Terrain de foot"); } else if (IsInGarage(client)) { Format(RealZone, sizeof(RealZone), "Garage"); } else if (IsInVestiaire(client)) { Format(RealZone, sizeof(RealZone), "Vestiaire"); } else if (IsInVip(client)) { Format(RealZone, sizeof(RealZone), "Cellule VIP"); } else { Format(RealZone, sizeof(RealZone), "Extérieur"); } new String:SteamId[32]; GetClientAuthString(client, SteamId, sizeof(SteamId)); if (hBuffer == INVALID_HANDLE) { PrintToChat(client, "INVALID_HANDLE"); } else { new String:tmptext[9999]; { Format(tmptext, sizeof(tmptext), "======= Ba_Jail =======\n\nZone : %s\nCT : %i/%i\nTerros : %i/%i\n%s\nPoints Fidélités : %i\nWeb : clan-corp.verygames.net/\nTS3 : corporation.illimity.com:50358\n\n=======================\n", RealZone, countCtenvie, countCt, countTenvie, countT, (hasvip[client] ? "Status VIP : Actif" : "Status VIP : Inactif"), points[client]); } BfWriteByte(hBuffer, 1); BfWriteString(hBuffer, tmptext); EndMessage(); } } else { KillTimer(TimerHud[client]); } } Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
alex30555 Posté(e) le 5 octobre 2013 Share Posté(e) le 5 octobre 2013 Montre ton code du capitaine alors. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 5 octobre 2013 Auteur Share Posté(e) le 5 octobre 2013 Montre ton code du capitaine alors. Je veux juste un système de capitaine aléatoire sans demander au joueur si il veut l'être et qu'il s'affiche dans le hub mais je ne sais pas comment faire. Et en utilisant le random déjà utiliser dans la jailmod de delachambre, il ne s'actualise pas à chaque round et le capitaine reste tout le temps le même Sinon le code : public Action:CheckCapitaine(Handle:timer) { if(!g_ChoixAleatoire) return Plugin_Handled; do { random = GetRandomInt(1, MaxClients); if(ValidPlayer(random) && g_bWantsCaptain[random] && GetClientTeam(random) == 3) { CPrintToChatAll("%s : Le capitaine est : {blue}%N{default}.", LOGO, random); chosen = true; } } while(!chosen); return Plugin_Continue; } mais moi je voudrais qu'il s'affiche dans le hub et reset à chaque début de round Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kriax Posté(e) le 5 octobre 2013 Share Posté(e) le 5 octobre 2013 Qui dit "code crade", dit "modification crade" héhé :public Au dessus du plugin près des variable String globale, met ça : new String:g_sCapitaineName[64]; Ensuite tu change ton hud timer par cela : public Action:HudTimer(Handle:timer, any:client) { if (IsClientInGame(client)) { new Handle:hBuffer = StartMessageOne("KeyHintText", client); new String:SteamId[32]; GetClientAuthString(client, SteamId, sizeof(SteamId)); if (hBuffer == INVALID_HANDLE) { PrintToChat(client, "INVALID_HANDLE"); } else { new String:tmptext[9999]; { Format(tmptext, sizeof(tmptext), "======= Ba_Jail =======\n\nCapitaine : %s\nCT : %i/%i\nTerros : %i/%i\n%s\nPoints Fidélités : %i\nWeb : clan-corp.verygames.net/\nTS3 : corporation.illimity.com:50358\n\n=======================\n", g_sCapitaineName, countCtenvie, countCt, countTenvie, countT, (hasvip[client] ? "Status VIP : Actif" : "Status VIP : Inactif"), points[client]); } BfWriteByte(hBuffer, 1); BfWriteString(hBuffer, tmptext); EndMessage(); } } else { KillTimer(TimerHud[client]); } } > À la place d'afficher la zone, ça afficheras le nom du capitaine Et pour finir, change ton timer par : public Action:CheckCapitaine(Handle:timer) { if(!g_ChoixAleatoire) return Plugin_Handled; do { random = GetRandomInt(1, MaxClients); if(IsClientInGame(client) && IsPlayerAlive(client) && !IsFakeClient(client) && GetClientTeam(random) == 3) { GetClientName(random, g_sCapitaineName, sizeof(g_sCapitaineName)); CPrintToChatAll("%s : Le capitaine est : {blue}%s{default}.", LOGO, g_sCapitaineName); chosen = true; } } while(!chosen); return Plugin_Continue; } Et dit moi ce qu'il en est. KriKri. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 5 octobre 2013 Auteur Share Posté(e) le 5 octobre 2013 Ok je test ça ! ;p Merci d'avance Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 5 octobre 2013 Auteur Share Posté(e) le 5 octobre 2013 public Action:CheckCapitaine(Handle:timer) { if(!g_ChoixAleatoire) return Plugin_Handled; do { random = GetRandomInt(1, MaxClients); if(IsClientInGame(client) && IsPlayerAlive(client) && !IsFakeClient(client) && GetClientTeam(random) == 3) { GetClientName(random, g_sCapitaineName, sizeof(g_sCapitaineName)); CPrintToChatAll("%s : Le capitaine est : {blue}%s{default}.", LOGO, g_sCapitaineName); chosen = true; } } while(!chosen); return Plugin_Continue; } hum erreur compilation error 017:undefined symbol "client" a cette ligne if(IsClientInGame(client) && IsPlayerAlive(client) && !IsFakeClient(client) && GetClientTeam(random) == 3) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Marechoux Posté(e) le 5 octobre 2013 Share Posté(e) le 5 octobre 2013 if(IsClientInGame(client) && IsPlayerAlive(client) && !IsFakeClient(client) && GetClientTeam(random) == 3) Devient : if(IsClientInGame(random) && IsPlayerAlive(random) && !IsFakeClient(random) && GetClientTeam(random) == 3) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 5 octobre 2013 Auteur Share Posté(e) le 5 octobre 2013 EDIT : rien Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 5 octobre 2013 Auteur Share Posté(e) le 5 octobre 2013 Juste le problème c'est qu'il reset pas a chaque round car si part exemple je me switch terro le capitaine sera toujours "Moi' en attendant que quelqu'un d'autre le devienne. Possible de le reset à chaque round et à chaque morts ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
alex30555 Posté(e) le 5 octobre 2013 Share Posté(e) le 5 octobre 2013 g_ChoixAleatoire = false; Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 5 octobre 2013 Auteur Share Posté(e) le 5 octobre 2013 g_ChoixAleatoire = false; Ok super je fait quoi avec ? xD Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Marechoux Posté(e) le 5 octobre 2013 Share Posté(e) le 5 octobre 2013 Retire : if(!g_ChoixAleatoire) return Plugin_Handled; PS : Je déplace au bon endroit Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kriax Posté(e) le 6 octobre 2013 Share Posté(e) le 6 octobre 2013 Au pire donne tout le code que on check ça totalement car aider à l'aveuglette j'ai du mal xDD Affectivement désolé s’étaie random et non client j'avais pas fait attention. KriKri. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
nitroxyde Posté(e) le 6 octobre 2013 Share Posté(e) le 6 octobre 2013 Au pire donne tout le code que on check ça totalement car aider à l'aveuglette j'ai du mal xDD Affectivement désolé s’étaie random et non client j'avais pas fait attention. KriKri. Look le "JAILMOD_V3" Il a prit le code de ce plugins ;) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kriax Posté(e) le 6 octobre 2013 Share Posté(e) le 6 octobre 2013 Et si il a modifier le code ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 6 octobre 2013 Auteur Share Posté(e) le 6 octobre 2013 No modif Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kriax Posté(e) le 6 octobre 2013 Share Posté(e) le 6 octobre 2013 Je voie ça après Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
dertione Posté(e) le 10 octobre 2013 Share Posté(e) le 10 octobre 2013 Bonjour, Pour que ton chef soit actualiser à chaque fois, il ajouter a ton code plusieurs choses: dans l'évenement "player_death" ===> des que le chef est mort, on relance la fonction checkcapitaine dans l'évenement "payer_team" ===> des que le chef change de team ( mais normalement il devrait également passé par le player_death donc pas de soucis) dans l'évenement "round_start" ===> bien initialiser ta variable namofcapitaine Normalement avec ça cela devrait actualiser ton chef souvent. Mon plugin jail fonctionne comme ça. ajoute ca en variable : new capitaine; ensuite dans le timer checkcapitaine : public Action:CheckCapitaine(Handle:timer) { do { random = GetRandomInt(1, MaxClients); if(ValidPlayer(random) && g_bWantsCaptain[random] && GetClientTeam(random) == 3) { CPrintToChatAll("%s : Le chef des gardiens est : {mediumslateblue}%N.", LOGO, random); capitaine = random; chosen = true; } } while(!chosen); return Plugin_Continue; } et dans player_death : if(victim==capitaine) { CreateTimer(1.0, CheckCapitaine); } Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 10 octobre 2013 Auteur Share Posté(e) le 10 octobre 2013 Bonjour, Pour que ton chef soit actualiser à chaque fois, il ajouter a ton code plusieurs choses: dans l'évenement "player_death" ===> des que le chef est mort, on relance la fonction checkcapitaine dans l'évenement "payer_team" ===> des que le chef change de team ( mais normalement il devrait également passé par le player_death donc pas de soucis) dans l'évenement "round_start" ===> bien initialiser ta variable namofcapitaine Normalement avec ça cela devrait actualiser ton chef souvent. Mon plugin jail fonctionne comme ça. ajoute ca en variable : new capitaine; ensuite dans le timer checkcapitaine : public Action:CheckCapitaine(Handle:timer) { do { random = GetRandomInt(1, MaxClients); if(ValidPlayer(random) && g_bWantsCaptain[random] && GetClientTeam(random) == 3) { CPrintToChatAll("%s : Le chef des gardiens est : {mediumslateblue}%N.", LOGO, random); capitaine = random; chosen = true; } } while(!chosen); return Plugin_Continue; } et dans player_death : if(victim==capitaine) { CreateTimer(1.0, CheckCapitaine); } OK ! Thanks ^^ je test ça dès que je peux. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kriax Posté(e) le 10 octobre 2013 Share Posté(e) le 10 octobre 2013 Dertione depuis quand tu aides ici toi ? :p Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
dertione Posté(e) le 15 octobre 2013 Share Posté(e) le 15 octobre 2013 alors ca fonctionne ? @Kriax : bah j'ai codé mon jail donc j'avais juste à comparer avec mon script et je passais par la par hasard :p ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kriax Posté(e) le 15 octobre 2013 Share Posté(e) le 15 octobre 2013 Ah ok ^^ Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 15 octobre 2013 Auteur Share Posté(e) le 15 octobre 2013 Pas eu le temps sry ^^. dès que je peux je post :p Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.