darky3697 Posté(e) le 8 octobre 2013 Share Posté(e) le 8 octobre 2013 Salut à tous, je post ici pour m'éclairer j'ai commencé un code permettant en étant térroriste de prendre les armes des autres avec une commande! xD Problème je n'y arrive pas donc je vous poste ici le petit bout de code peux être inutile . Et si possible de créer un timer (une barre de progréssion + timer avant de re use la commande ) désolé si j'en demande un peu trop mais libre à vous de me répondre ou pas. public Action:Command_pick(client, args) { if (IsClientInGame(client)) { if (IsPlayerAlive(client)) { if (GetClientTeam(client) == 2) { pick[client] = GetClientAimTarget(client, true); if (pick[client] != -1) { decl String:WeaponName[32]; Client_GetActiveWeaponName(client, WeaponName, sizeof(WeaponName)); new weapon = Client_GetActiveWeapon(client); RemoveEdict(weapon); GivePlayerItem(client, WeaponName); CPrintToChat(client, "%s : Vous venez de voler l'arme de %N.", LOGO, pick[client]); Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kriax Posté(e) le 8 octobre 2013 Share Posté(e) le 8 octobre 2013 Tien j'ai codé cette connerie je sais même pas si c'est bon et m'en tape. J'ai pas la tête à codé, donne du feedback pour demain ou si quelqu'un veux s'en charger, hf. #include <sourcemod> #include <smlib> #include <sdktools> new bool:g_bUse[MAXPLAYERS+1] = false; public OnPluginStart() { RegConsoleCmd("sm_pickup", CMD_PickUp); } public OnClientPutInServer(client) { g_bUse[client] = true; } public Action:CMD_PickUp(client, args) { if(IsClientInGame(client)) { if(GetClientTeam(client) == 2) { if(IsPlayerAlive(client)) { if(g_bUse[client]) { new Target = GetClientAimTarget(client, true); decl String:sWeapon[32]; Client_GetActiveWeaponName(Target, sWeapon, sizeof(sWeapon)); new Weapon = Client_GetActiveWeapon(Weapon); RemovePlayerItem(Target, Weapon); GivePlayerItem(client, sWeapon); SetEntPropFloat(client, Prop_Send, "m_flProgressBarStartTime", GetGameTime()); SetEntProp(client, Prop_Send, "m_iProgressBarDuration", 10); CreateTimer(10.0, UseTimer, client); g_bUse[client] = false; } else { PrintToChat(client, "[sM] PickUP indisponnible"); } } else { PrintToChat(client, "[sM] Vous devez être en vie"); } } else { PrintToChat(client, "[sM] Vous devez être en terro"); } } return Plugin_Handled; } public Action:UseTimer(Handle:timer, any:client) { g_bUse[client] = true; PrintToChat(client, "[sM] PickUP disponnible"); } KriKri. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Marechoux Posté(e) le 8 octobre 2013 Share Posté(e) le 8 octobre 2013 Essaye ceci : http://pastebin.com/e2JX8WwJ EDIT : Pas refresh depuis 21h10, je n'avais pas vu le post de kriax Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kriax Posté(e) le 8 octobre 2013 Share Posté(e) le 8 octobre 2013 Test ça j'ai corriger mon code et j'ai fait plaisir a Marechoux T_T #include <sourcemod> #include <smlib> #include <sdktools> new bool:g_bUse[MAXPLAYERS+1] = false; public OnPluginStart() { RegConsoleCmd("sm_pickup", CMD_PickUp); } public OnClientPutInServer(client) { g_bUse[client] = true; } public Action:CMD_PickUp(client, args) { if(IsClientInGame(client)) { if(GetClientTeam(client) == 2) { if(IsPlayerAlive(client)) { if(g_bUse[client]) { new Target = GetClientAimTarget(client, true); if(Target != -1) { decl String:sWeapon[32]; new Weapon = Client_GetActiveWeaponName(Target, sWeapon, sizeof(sWeapon)); RemovePlayerItem(Target, Weapon); GivePlayerItem(client, sWeapon); PrintToChat(client, "[sM] Vous avez voler l'arme de %N", Target); PrintToChat(Target, "[sM] Le joueur %N vous à voler votre arme", client); SetEntPropFloat(client, Prop_Send, "m_flProgressBarStartTime", GetGameTime()); SetEntProp(client, Prop_Send, "m_iProgressBarDuration", 10); CreateTimer(10.0, UseTimer, client); g_bUse[client] = false; } else { PrintToChat(client, "[sM] Vous ne visez personne"); } } else { PrintToChat(client, "[sM] PickUP indisponnible"); } } else { PrintToChat(client, "[sM] Vous devez être en vie"); } } else { PrintToChat(client, "[sM] Vous devez être en terro"); } } return Plugin_Handled; } public Action:UseTimer(Handle:timer, any:client) { g_bUse[client] = true; PrintToChat(client, "[sM] PickUP disponnible"); } Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 8 octobre 2013 Auteur Share Posté(e) le 8 octobre 2013 Problème avec le dernier code - l'arme arrive dans mes mains au début du timer - Le timer ne se termine pas EDIT : et si possible une distance :o 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 Mmh, je re-fait ça au calme ce soir si j'ai le temps pas de panique ! :p KriKri. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 11 octobre 2013 Auteur Share Posté(e) le 11 octobre 2013 Mmh, je re-fait ça au calme ce soir si j'ai le temps pas de panique ! :p KriKri. Thx. ^^ Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kriax Posté(e) le 11 octobre 2013 Share Posté(e) le 11 octobre 2013 (modifié) Voilà et en prime je l'ai tester et j'ai filmer donc si tu dit que sa bug gare à toi ! :p #include <sourcemod> #include <smlib> #include <sdktools> new bool:g_bUse[MAXPLAYERS+1] = false; public OnPluginStart() { RegConsoleCmd("sm_pickup", CMD_PickUp); } public OnClientPutInServer(client) { g_bUse[client] = true; } public Action:CMD_PickUp(client, args) { if(IsClientInGame(client)) { if(GetClientTeam(client) == 2) { if(IsPlayerAlive(client)) { if(g_bUse[client]) { new Target = GetClientAimTarget(client, true); if(Target != -1) { new Float:fTargetOrigin[3]; new Float:fClientOrigin[3]; GetEntPropVector(Target, Prop_Send, "m_vecOrigin", fTargetOrigin); GetEntPropVector(client, Prop_Send, "m_vecOrigin", fClientOrigin); new Float:fDistance = GetVectorDistance(fTargetOrigin, fClientOrigin); if(fDistance <= 800) { decl String:sWeapon[32]; new Weapon = Client_GetActiveWeaponName(Target, sWeapon, sizeof(sWeapon)); RemovePlayerItem(Target, Weapon); GivePlayerItem(client, sWeapon); PrintToChat(client, "[sM] Vous avez voler l'arme de %N", Target); PrintToChat(Target, "[sM] Le joueur %N vous à voler votre arme", client); SetEntPropFloat(client, Prop_Send, "m_flProgressBarStartTime", GetGameTime()); SetEntProp(client, Prop_Send, "m_iProgressBarDuration", 10); CreateTimer(10.0, UseTimer, client); g_bUse[client] = false; } else { PrintToChat(client, "[sM] Vous êtes trop loins du joueur"); } } else { PrintToChat(client, "[sM] Vous ne visez personne"); } } else { PrintToChat(client, "[sM] PickUP indisponnible"); } } else { PrintToChat(client, "[sM] Vous devez être en vie"); } } else { PrintToChat(client, "[sM] Vous devez être en terro"); } } return Plugin_Handled; } public Action:UseTimer(Handle:timer, any:client) { g_bUse[client] = true; SetEntPropFloat(client, Prop_Send, "m_flProgressBarStartTime", GetGameTime()); SetEntProp(client, Prop_Send, "m_iProgressBarDuration", 0); PrintToChat(client, "[sM] PickUP disponnible"); } Modifié le 11 octobre 2013 par Kriax ENCODAGE DE MERDE ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 11 octobre 2013 Auteur Share Posté(e) le 11 octobre 2013 Humm je test, pourquoi la modif en motif : ENCODAGE DE MERDE xD Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kriax Posté(e) le 11 octobre 2013 Share Posté(e) le 11 octobre 2013 Car quand j'avais encoder en UTF-8 Sans Bom ça avais mis des trucs chelou x) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 11 octobre 2013 Auteur Share Posté(e) le 11 octobre 2013 Héhé ! problème le dernier l'arme arrive au début de la barre de progréssion! :p il faut que la personne qui use la commande reçoive l'arme après la barre de progréssion Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kriax Posté(e) le 11 octobre 2013 Share Posté(e) le 11 octobre 2013 Oh après la barre de progression j'avais compris avant ^^ Ok je fait ça attend je termine mon explication à quelqu'un :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 11 octobre 2013 Auteur Share Posté(e) le 11 octobre 2013 Merci khaox <3 #include <sourcemod> #include <smlib> #include <sdktools> new bool:g_bUse[MAXPLAYERS+1] = false; public OnPluginStart() { RegConsoleCmd("sm_pickup", CMD_PickUp); } public OnClientPutInServer(client) { g_bUse[client] = true; } public Action:CMD_PickUp(client, args) { if(IsClientInGame(client)) { if(GetClientTeam(client) == 2) { if(IsPlayerAlive(client)) { if(g_bUse[client]) { new Target = GetClientAimTarget(client, true); if(Target != -1) { new Float:fTargetOrigin[3]; new Float:fClientOrigin[3]; GetEntPropVector(Target, Prop_Send, "m_vecOrigin", fTargetOrigin); GetEntPropVector(client, Prop_Send, "m_vecOrigin", fClientOrigin); new Float:fDistance = GetVectorDistance(fTargetOrigin, fClientOrigin); if(fDistance <= 800) { SetEntPropFloat(client, Prop_Send, "m_flProgressBarStartTime", GetGameTime()); SetEntProp(client, Prop_Send, "m_iProgressBarDuration", 10); CreateTimer(10.0, UseTimer, client); g_bUse[client] = false; } else { PrintToChat(client, "[sM] Vous êtes trop loins du joueur"); } } else { PrintToChat(client, "[sM] Vous ne visez personne"); } } else { PrintToChat(client, "[sM] PickUP indisponnible"); } } else { PrintToChat(client, "[sM] Vous devez être en vie"); } } else { PrintToChat(client, "[sM] Vous devez être en terro"); } } return Plugin_Handled; } public Action:UseTimer(Handle:timer, any:client) { g_bUse[client] = true; new Target = GetClientAimTarget(client, true); decl String:sWeapon[32]; new Weapon = Client_GetActiveWeaponName(Target, sWeapon, sizeof(sWeapon)); RemovePlayerItem(Target, Weapon); GivePlayerItem(client, sWeapon); PrintToChat(client, "[sM] Vous avez voler l'arme de %N", Target); PrintToChat(Target, "[sM] Le joueur %N vous à voler votre arme", client); SetEntPropFloat(client, Prop_Send, "m_flProgressBarStartTime", GetGameTime()); SetEntProp(client, Prop_Send, "m_iProgressBarDuration", 0); PrintToChat(client, "[sM] PickUP disponnible"); } enfin je test Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kriax Posté(e) le 11 octobre 2013 Share Posté(e) le 11 octobre 2013 Voilà, logiquement ça devrais être bon :p #include <sourcemod> #include <smlib> #include <sdktools> new bool:g_bUse[MAXPLAYERS+1] = false; new g_PickUP[MAXPLAYERS+1]; public OnPluginStart() { RegConsoleCmd("sm_pickup", CMD_PickUp); } public OnClientPutInServer(client) { g_bUse[client] = true; } public Action:CMD_PickUp(client, args) { if(IsClientInGame(client)) { if(GetClientTeam(client) == 2) { if(IsPlayerAlive(client)) { if(g_bUse[client]) { new Target = GetClientAimTarget(client, true); if(Target != -1) { g_PickUP[client] = Target; new Float:fTargetOrigin[3]; new Float:fClientOrigin[3]; GetEntPropVector(Target, Prop_Send, "m_vecOrigin", fTargetOrigin); GetEntPropVector(client, Prop_Send, "m_vecOrigin", fClientOrigin); new Float:fDistance = GetVectorDistance(fTargetOrigin, fClientOrigin); if(fDistance <= 800) { SetEntPropFloat(client, Prop_Send, "m_flProgressBarStartTime", GetGameTime()); SetEntProp(client, Prop_Send, "m_iProgressBarDuration", 10); CreateTimer(10.0, Timer_Weapon, client); CreateTimer(15.0, Timer_Use, client); g_bUse[client] = false; } else PrintToChat(client, "[sM] Vous êtes trop loins du joueur"); } else PrintToChat(client, "[sM] Vous ne visez personne"); } else PrintToChat(client, "[sM] PickUP indisponnible"); } else PrintToChat(client, "[sM] Vous devez être en vie"); } else PrintToChat(client, "[sM] Vous devez être en terro"); } return Plugin_Handled; } public Action:Timer_Use(Handle:timer, any:client) { g_bUse[client] = true; PrintToChat(client, "[sM] PickUP disponnible"); } public Action:Timer_Weapon(Handle:timer, any:client) { SetEntPropFloat(client, Prop_Send, "m_flProgressBarStartTime", GetGameTime()); SetEntProp(client, Prop_Send, "m_iProgressBarDuration", 0); decl String:sWeapon[32]; new Weapon = Client_GetActiveWeaponName(g_PickUP[client], sWeapon, sizeof(sWeapon)); RemovePlayerItem(g_PickUP[client], Weapon); GivePlayerItem(client, sWeapon); PrintToChat(client, "[sM] Vous avez voler l'arme de %N", g_PickUP[client]); PrintToChat(g_PickUP[client], "[sM] Le joueur %N vous à voler votre arme", client); } 10 secondes : Barre de progression et give de l'arme 15 secondes : Temps entre chaque utilisation de commande FeedBack le plus vite possible :p EDIT : Le code de Khaox fonctionneras pas car si le joueur ne regarde pas le joueur à voler il recevras pas l'arme ... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 11 octobre 2013 Auteur Share Posté(e) le 11 octobre 2013 Ah oui :o Khaox je t'aime plus :( Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kriax Posté(e) le 11 octobre 2013 Share Posté(e) le 11 octobre 2013 Et moi ? :( Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
khaox Posté(e) le 11 octobre 2013 Share Posté(e) le 11 octobre 2013 Ah lerreur de débutant que jai fais haha :D Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kriax Posté(e) le 11 octobre 2013 Share Posté(e) le 11 octobre 2013 :pancarte-pas-de-bol Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 11 octobre 2013 Auteur Share Posté(e) le 11 octobre 2013 Et moi ? :( Je t'aime depuis toujours :iloveyou: Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
darky3697 Posté(e) le 11 octobre 2013 Auteur Share Posté(e) le 11 octobre 2013 Bon bas sujet résolu merci à tous pour votre aide :p! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kriax Posté(e) le 11 octobre 2013 Share Posté(e) le 11 octobre 2013 Je t'aime depuis toujours :iloveyou: Pas moi haha :p :troll: Pas de soucis :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.