#include <a_samp>
#include <zcmd>
#define FILTERSCRIPT
new jumping[MAX_PLAYERS];
new activate[MAX_PLAYERS];
public OnFilterScriptInit()
{
print("Werewolf System");
}
public OnFilterScriptExit()
{
print("Werewolf System");
}
CMD:shift(playerid, params[])
{
SetPlayerSkin(playerid, 0);
SetPlayerArmour(playerid, 1000);
SetPlayerHealth(playerid, 1000);
SetPlayerName(playerid, "Werewolf");
SetPlayerColor(playerid, 0x0000FFAA);
GivePlayerWeapon(playerid, 1, 1);
SendClientMessage(playerid, 0x0000FFAA, "You have transform to a Werewolf");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
return 1;
}
public OnPlayerSpawn(playerid)
{
jumping[playerid] = 0;
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(activate[playerid] == 1)
{
if(newkeys == KEY_JUMP && jumping[playerid] == 0)
{
jumping[playerid] == 1;
{
new Float:werewolf_jump[3];
GetPlayerVelocity(playerid, werewolf_jump[0], werewolf_jump[1], werewolf_jump[2]);
SetPlayerVelocity(playerid, werewolf_jump[0]+100, werewolf_jump[1]+100, werewolf_jump[2]+100);
}
}
}
return 1;
}
CMD:shift(playerid, params[]) { SetPlayerSkin(playerid, 0); SetPlayerArmour(playerid, 1000); SetPlayerHealth(playerid, 1000); SetPlayerName(playerid, "Werewolf"); SetPlayerColor(playerid, 0x0000FFAA); GivePlayerWeapon(playerid, 1, 1); activate[playerid] = 1; // Set "activate" to 1. SendClientMessage(playerid, 0x0000FFAA, "You have transform to a Werewolf"); return 1; }
activate[playerid] = 1;
Alright, the super jump works but it only works 1 time. When I type /shift I become a werewolf but the super jump isn't use everytime it only works once. Help me out here.
|
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(activate[playerid] == 1)
{
if(newkeys == KEY_JUMP && jumping[playerid] == 0)
{
new Float:werewolf_jump[3];
GetPlayerVelocity(playerid, werewolf_jump[0], werewolf_jump[1], werewolf_jump[2]);
SetPlayerVelocity(playerid, werewolf_jump[0]+100, werewolf_jump[1]+100, werewolf_jump[2]+100);
}
}
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(activate[playerid] == 1)
{
if(newkeys == KEY_JUMP)
{
new Float:werewolf_jump[3];
GetPlayerVelocity(playerid, werewolf_jump[0], werewolf_jump[1], werewolf_jump[2]);
SetPlayerVelocity(playerid, werewolf_jump[0]+100, werewolf_jump[1]+100, werewolf_jump[2]+100);
}
}
return 1;
}
CMD:shift(playerid, params[])
{
if (isnull(params)) return SendClientMessage(playerid, 0xFFEEFFAA, "USAGE: /form [1-3]");
switch (params[0])
{
case '1':
{
SetPlayerTeam(playerid, Homid);
GameTextForPlayer(playerid, "~W~Form: ~G~Homid", 5000, 6);
}
case '2':
{
SetPlayerTeam(playerid, Crinos);
GameTextForPlayer(playerid, "~W~Form: ~G~Crinos", 5000, 6);
}
case '3':
{
SetPlayerTeam(playerid, Lupus);
GameTextForPlayer(playerid, "~W~Form: ~G~Lupus", 5000, 6);
}
}
// If you have more than 9 options, use strval:
/*
new choice = strval(params[0]);
if (choice == 1)
else if (choice == 2)
// etc
*/
if (GetPlayerTeam(playerid) == Homid)
{
SendClientMessage(playerid, -1, "You've shifted into the form homid(human)");
SetPlayerHealth(playerid, 150);
SetPlayerArmour(playerid, 50);
//werewolf_speed required
}
return 1;
}
CMD:shift(playerid, params[])
{
if(sscanf(params,"i", params)) return SendClientMessage(playerid, 0xFFEEFFAA, "USAGE: /form [1-3]");
switch (params[0])
{
case '1':
{
SetPlayerTeam(playerid, Homid);
GameTextForPlayer(playerid, "~W~Form: ~G~Homid", 5000, 6);
}
case '2':
{
SetPlayerTeam(playerid, Crinos);
GameTextForPlayer(playerid, "~W~Form: ~G~Crinos", 5000, 6);
}
case '3':
{
SetPlayerTeam(playerid, Lupus);
GameTextForPlayer(playerid, "~W~Form: ~G~Lupus", 5000, 6);
}
}
// If you have more than 9 options, use strval:
/*
new choice = strval(params[0]);
if (choice == 1)
else if (choice == 2)
// etc
*/
if (GetPlayerTeam(playerid) == Homid)
{
SendClientMessage(playerid, -1, "You've shifted into the form homid(human)");
SetPlayerHealth(playerid, 150);
SetPlayerArmour(playerid, 50);
//werewolf_speed required
}
return 1;
}
#if !defined isnull
#define isnull(%1) ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
#endif