13.05.2012, 21:13
Bom Galerra, vim aqui para pedir ajuda pra vocкs, estou fazendo um GM sobre zombies, jб indo bem, sem erros. Porйm gostaria de adicionar um funзгo chamada /perks, estб funзгo somente poderia ser ativada caso ele selecionasse um item.
Exemplo: ele selecionou o perk " high jump ", Entгo o cуdigo que estб no OnPlayerKeyStateChange seria ativado, e caso ele mudasse de perk, " selecionasse o " empty " que й vбzio, o perk " high jump" fosse desativado.
Apenas retirei as partes necessбrias para o funcionamento, obrigado por ajudar.
Exemplo: ele selecionou o perk " high jump ", Entгo o cуdigo que estб no OnPlayerKeyStateChange seria ativado, e caso ele mudasse de perk, " selecionasse o " empty " que й vбzio, o perk " high jump" fosse desativado.
Apenas retirei as partes necessбrias para o funcionamento, obrigado por ajudar.
Код:
new Menu:perksz; public OnGameModeInit() { AddMenuItem(perksz, 0, "High Jump"); AddMenuItem(perksz, 0, "Empty"); } public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp(cmdtext, "/perks", true) == 0) { if(gTeam[playerid] == ZOMBIE) { ShowMenuForPlayer(perksz, playerid); TogglePlayerControllable(playerid, false); SendClientMessage(playerid, 0xFFFFFFAA, "Select a perk !"); return 1; } } return 0; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(newkeys & KEY_JUMP) { if(gTeam[playerid] == ZOMBIE) { new Float:SuperJump[3]; GetPlayerVelocity(playerid, SuperJump[0], SuperJump[1], SuperJump[2]); SetPlayerVelocity(playerid, SuperJump[0], SuperJump[1], SuperJump[2]+5); } } return 1; } public OnPlayerSelectedMenuRow(playerid, row) { new Menu:CurrentMenu = GetPlayerMenu(playerid); if(CurrentMenu == perksz) // Por isso essas linhas < { switch(row) // Agora й cada opзгo por si { case 0: // PERK JUMP { if(gTeam[playerid] == ZOMBIE) { new Float:SuperJump[3]; GetPlayerVelocity(playerid, SuperJump[0], SuperJump[1], SuperJump[2]); SetPlayerVelocity(playerid, SuperJump[0], SuperJump[1], SuperJump[2]+5); TogglePlayerControllable(playerid, 1); } } case 1: { TogglePlayerControllable(playerid, 1); SendClientMessage(playerid, 0xFFFFFFAA, "> You didn't choose any item !"); } } } TogglePlayerControllable(playerid,1); VerifyInventoryMenuRowSelected(playerid, row); DestroyPlayerInventoryMenu(playerid); return 1; } public OnPlayerExitedMenu(playerid) { TogglePlayerControllable(playerid, true); return 1; }