27.01.2011, 17:41
Am si eu o problema cu animatiile playeri vad dar tu nu poti vedea , playerul tau iti arata ca sta pe loc iar altii vad animatia asa se antampla la toti playeri am incercat mai multe fs dar de geaba nimik sta pe loc nustiu ce sa fac
ma poate ajuta cineva ??
uitati pun aici fs care al folosesc acum
ma poate ajuta cineva ??
uitati pun aici fs care al folosesc acum
pawn Code:
//-------------------------------------------------
//
// Animations
// heatON
//
//-------------------------------------------------
#pragma tabsize 0
#include <a_samp>
#include <core>
#include <float>
new gPlayerUsingLoopingAnim[MAX_PLAYERS];
new gPlayerAnimLibsPreloaded[MAX_PLAYERS];
new Text:txtAnimHelper;
//-------------------------------------------------
// ********** INTERNAL FUNCTIONS **********
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
//------------------------------------------------
IsKeyJustDown(key, newkeys, oldkeys)
{
if((newkeys & key) && !(oldkeys & key)) return 1;
return 0;
}
//-------------------------------------------------
OnePlayAnim(playerid,animlib[],animname[], Float:Speed, looping, lockx, locky, lockz, lp)
{
ApplyAnimation(playerid, animlib, animname, Speed, looping, lockx, locky, lockz, lp);
}
//-------------------------------------------------
LoopingAnim(playerid,animlib[],animname[], Float:Speed, looping, lockx, locky, lockz, lp)
{
gPlayerUsingLoopingAnim[playerid] = 1;
ApplyAnimation(playerid, animlib, animname, Speed, looping, lockx, locky, lockz, lp);
TextDrawShowForPlayer(playerid,txtAnimHelper);
}
//-------------------------------------------------
StopLoopingAnim(playerid)
{
gPlayerUsingLoopingAnim[playerid] = 0;
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 1, 1, 1, 0, 0);
}
//-------------------------------------------------
PreloadAnimLib(playerid, animlib[])
{
ApplyAnimation(playerid,animlib,"null",0.0,0,0,0,0,0);
}
//-------------------------------------------------
// ********** CALLBACKS **********
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(!gPlayerUsingLoopingAnim[playerid]) return;
if(IsKeyJustDown(KEY_SPRINT,newkeys,oldkeys)) {
StopLoopingAnim(playerid);
TextDrawHideForPlayer(playerid,txtAnimHelper);
}
}
//------------------------------------------------
public OnPlayerDeath(playerid, killerid, reason)
{
// if they die whilst performing a looping anim, we should reset the state
if(gPlayerUsingLoopingAnim[playerid]) {
gPlayerUsingLoopingAnim[playerid] = 0;
TextDrawHideForPlayer(playerid,txtAnimHelper);
}
return 1;
}
//-------------------------------------------------
public OnPlayerSpawn(playerid)
{
if(!gPlayerAnimLibsPreloaded[playerid]) {
PreloadAnimLib(playerid,"BOMBER");
PreloadAnimLib(playerid,"RAPPING");
PreloadAnimLib(playerid,"SHOP");
PreloadAnimLib(playerid,"BEACH");
PreloadAnimLib(playerid,"SMOKING");
PreloadAnimLib(playerid,"FOOD");
PreloadAnimLib(playerid,"ON_LOOKERS");
PreloadAnimLib(playerid,"DEALER");
PreloadAnimLib(playerid,"CRACK");
PreloadAnimLib(playerid,"CARRY");
PreloadAnimLib(playerid,"COP_AMBIENT");
PreloadAnimLib(playerid,"PARK");
PreloadAnimLib(playerid,"INT_HOUSE");
PreloadAnimLib(playerid,"FOOD");
gPlayerAnimLibsPreloaded[playerid] = 1;
}
return 1;
}
//-------------------------------------------------
public OnPlayerConnect(playerid)
{
gPlayerUsingLoopingAnim[playerid] = 0;
gPlayerAnimLibsPreloaded[playerid] = 0;
return 1;
}
//-------------------------------------------------
public OnFilterScriptInit()
{
// Init our text display
txtAnimHelper = TextDrawCreate(610.0, 400.0,
"~r~~k~~PED_SPRINT~ ~w~to stop the animation");
TextDrawUseBox(txtAnimHelper, 0);
TextDrawFont(txtAnimHelper, 2);
TextDrawSetShadow(txtAnimHelper,0); // no shadow
TextDrawSetOutline(txtAnimHelper,1); // thickness 1
TextDrawBackgroundColor(txtAnimHelper,0x000000FF);
TextDrawColor(txtAnimHelper,0xFFFFFFFF);
TextDrawAlignment(txtAnimHelper,3); // align right
}
//-------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new idx;
new dancestyle;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd,"/animlist",true)==0)
{
SendClientMessage(playerid,0x0000FFAA,"Animatii:");
SendClientMessage(playerid,0xAFAFAFAA,"/handsup /drunk /bomb /laugh /lookout /robman");
SendClientMessage(playerid,0xAFAFAFAA,"/crossarms /lay /hide /vomit /eat /wave /taichi");
SendClientMessage(playerid,0xAFAFAFAA,"/deal /crack /smoke /groundsit /chat /dance /fu");
SendClientMessage(playerid,0xAFAFAFAA,"/slapass /injured /slapped /kiss /piss /bitchslap");
SendClientMessage(playerid,0xAFAFAFAA,"/riot /riot2 /cpr /carjack /chairsit /push /lightcig");
SendClientMessage(playerid,0x0000FFAA,"FS by Serban_irinel:");
}
if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) {
// We don't handle anything here that can be used InVehicle
return 0;
}
if(strcmp(cmd, "/lightcig", true) == 0) {
ApplyAnimation(playerid,"SMOKING","M_smk_in",3.0,0,0,0,0,0);
return 1;
}
if(strcmp(cmdtext, "/push", true) == 0) {
ApplyAnimation(playerid,"GANGS","shake_cara",4.0,0,0,0,0,0);
return 1;
}
if(strcmp(cmdtext, "/chairsit", true) == 0) {
ApplyAnimation(playerid,"PED","SEAT_down",4.1,0,1,1,1,0);
return 1;
}
if(strcmp(cmdtext, "/carjack", true) == 0) {
ApplyAnimation(playerid,"PED","CAR_jackedLHS",4.0,0,1,1,1,0);
return 1;
}
if(strcmp(cmdtext, "/cpr", true) == 0) {
ApplyAnimation(playerid,"MEDIC","CPR",4.1,0,1,1,1,1);
return 1;
}
if(strcmp(cmdtext, "/riot", true) == 0) {
ApplyAnimation(playerid,"RIOT","RIOT_Angry",4.1,1,1,1,1,1);
return 1;
}
if(strcmp(cmdtext, "/riot2", true) == 0) {
ApplyAnimation(playerid,"RIOT","RIOT_Angry_B",4.1,1,1,1,1,1);
return 1;
}
if(strcmp(cmdtext, "/bitchslap", true) == 0) {
ApplyAnimation(playerid,"MISC","bitchslap",4.1,0,1,1,1,1);
return 1;
}
// Piss
if (strcmp("/piss", cmdtext, true, 8) == 0) {
ApplyAnimation(playerid, "PAULNMAC", "Piss_in", 3.0, 0, 0, 0, 0, 0); // Pissing
return 1;
}
// Kiss
if (strcmp("/kiss", cmdtext, true, 5) == 0) {
ApplyAnimation(playerid, "KISSING", "Playa_Kiss_02", 3.0, 1, 1, 1, 0, 0); // Kiss
return 1;
}
if (strcmp("/injured", cmdtext, true) == 0) {
ApplyAnimation(playerid, "SWEET", "Sweet_injuredloop", 4.0, 1, 1, 1, 0, 0); // Injured
return 1;
}
// Ass Slapped
if (strcmp("/slapped", cmdtext, true) == 0) {
ApplyAnimation(playerid, "SWEET", "ho_ass_slapped", 4.0, 1, 1, 1, 0, 0); // Ass Slapped
return 1;
}
// HANDSUP
if(strcmp(cmd, "/handsup", true) == 0) {
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP);
return 1;
}
// CELLPHONE IN
if(strcmp(cmd, "/cellin", true) == 0) {
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USECELLPHONE);
return 1;
}
// CELLPHONE OUT
if(strcmp(cmd, "/cellout", true) == 0) {
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
return 1;
}
// Drunk
if(strcmp(cmd, "/drunk", true) == 0) {
LoopingAnim(playerid,"PED","WALK_DRUNK",4.0,1,1,1,1,0);
return 1;
}
// Place a Bomb
if (strcmp("/bomb", cmdtext, true) == 0) {
ClearAnimations(playerid);
OnePlayAnim(playerid, "BOMBER", "BOM_Plant", 4.0, 1, 1, 1, 0, 0); // Place Bomb
return 1;
}
// Laugh
if (strcmp("/laugh", cmdtext, true) == 0) {
OnePlayAnim(playerid, "RAPPING", "Laugh_01", 4.0, 1, 1, 1, 0, 0); // Laugh
return 1;
}
// Rob Lookout
if (strcmp("/lookout", cmdtext, true) == 0) {
OnePlayAnim(playerid, "SHOP", "ROB_Shifty", 4.0, 1, 1, 1, 0, 0); // Rob Lookout
return 1;
}
// Rob Threat
if (strcmp("/robman", cmdtext, true) == 0) {
LoopingAnim(playerid, "SHOP", "ROB_Loop_Threat", 4.0, 1, 1, 1, 0, 0); // Rob
return 1;
}
// Arms crossed
if (strcmp("/crossarms", cmdtext, true) == 0) {
LoopingAnim(playerid, "COP_AMBIENT", "Coplook_loop", 4.0, 1, 1, 1, 1, -1); // Arms crossed
return 1;
}
// Lay Down
if (strcmp("/lay", cmdtext, true, 6) == 0) {
LoopingAnim(playerid,"BEACH", "bather", 4.0, 1, 1, 1, 0, -0); // Lay down
return 1;
}
// Vomit
if (strcmp("/vomit", cmdtext, true) == 0) {
OnePlayAnim(playerid, "FOOD", "EAT_Vomit_P", 3.0, 0, 0, 0, 0, 0); // Vomit BAH!
return 1;
}
// Eat Burger
if (strcmp("/eat", cmdtext, true) == 0) {
OnePlayAnim(playerid, "FOOD", "EAT_Burger", 3.0, 0, 0, 0, 0, 0); // Eat Burger
return 1;
}
// Wave
if (strcmp("/wave", cmdtext, true) == 0) {
LoopingAnim(playerid, "ON_LOOKERS", "wave_loop", 4.0, 1, 0, 0, 0, 0); // Wave
return 1;
}
// Slap Ass
if (strcmp("/slapass", cmdtext, true) == 0) {
OnePlayAnim(playerid, "SWEET", "sweet_ass_slap", 4.0, 0, 0, 0, 0, 0); // Ass Slapping
return 1;
}
// Dealer
if (strcmp("/deal", cmdtext, true) == 0) {
OnePlayAnim(playerid, "DEALER", "DEALER_DEAL", 4.0, 0, 0, 0, 0, 0); // Deal Drugs
return 1;
}
// Crack Dieing
if (strcmp("/crack", cmdtext, true, 6) == 0) {
LoopingAnim(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0); // Dieing of Crack
return 1;
}
// Smoking
if (strcmp("/smoke", cmdtext, true, 4) == 0) {
LoopingAnim(playerid,"SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0); // Smoke
return 1;
}
// Sit
if (strcmp("/groundsit", cmdtext, true, 4) == 0) {
LoopingAnim(playerid,"BEACH", "ParkSit_M_loop", 4.0, 1, 0, 0, 0, 0); // Sit
return 1;
}
// Idle Chat
if(strcmp(cmd, "/chat", true) == 0) {
OnePlayAnim(playerid,"PED","IDLE_CHAT",4.0,0,0,0,0,0);
return 1;
}
// Fucku
if(strcmp(cmd, "/fu", true) == 0) {
OnePlayAnim(playerid,"PED","fucku",4.0,0,0,0,0,0);
return 1;
}
// TaiChi
if(strcmp(cmd, "/taichi", true) == 0) {
LoopingAnim(playerid,"PARK","Tai_Chi_Loop",4.0,1,0,0,0,0);
return 1;
}
// START DANCING
if(strcmp(cmd, "/dance", true) == 0) {
new tmp[256];
// Get the dance style param
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid,0xFF0000FF,"USAGE: /dance [style 1-4]");
return 1;
}
dancestyle = strval(tmp);
if(dancestyle < 1 || dancestyle > 4) {
SendClientMessage(playerid,0xFF0000FF,"USAGE: /dance [style 1-4]");
return 1;
}
if(dancestyle == 1) {
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
} else if(dancestyle == 2) {
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE2);
} else if(dancestyle == 3) {
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE3);
} else if(dancestyle == 4) {
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE4);
}
return 1;
}
return 0;
}