26.05.2012, 00:33
>>>>>>>>>>>>Atm Creator 2.0<<<<<<<<<<<<
O que ha de novo nessa versгo?
Exemplo Usando o:
CriarAtm(atmid,Float,Float:y,Float:z,Float:RotX, Float:RotY,Float:RotZ);[/COLOR]
Agora usando o salvaratm(atmid)
Agora usando o carregaratm(atmid)
Usa o DestruirAtm(atmid);
[/FONT]
=========================DOWNLOAD================= ===
CODIGO :
=========================PASTEBIN================= =====
http://pastebin.com/0AMsX0HF
================================================== ======
=========================4SHARED================== ======
AtmCreator_2.inc
================================================== ======
Como todos deve saber eu sou iniciante ainda em pawn...Mais ja consigo criar algumas coisas que eu achava impossivel para min...Entгo qualquer sujestгo ou critica e bem vindo,quem gostar e poder me dar +REP fico agradecido
Obrigado...
Creditos : Weverton || Skype: scriptsamp
pawn Code:
Olб pessoal. Tudo Bom?, entгo eu resolvi criar uma nova versгo dessa include Atm Creator...
pawn Code:
Como na antiga versгo sгo essa natives:
/*
native CriarAtm(atmid,Float:x,Float:y,Float:z,Float:RotX,Float:RotY,Float:RotZ); // para criar um atm
aonde esta o atmid eo o id do atm...Que vai de 0 ate 499
native salvaratm(atmid); nгo e necessario colocar essa no OnGameModeExit...Quando vocк usa o CriartAtm,ele salva
automaticamente...
native carregaratm(atmid); // essa daqui vocк coloca no OnGameModeInit()
native IsPlayerInAtm(playerid); // serve para verificar se o player esta perto de algum atm...
native DestruirAtm(atmid); // serve para destruir o atm
Estou Usando para salvar o DOF2
*/
Vou dar alguns exemplos abaixo
CriarAtm(atmid,Float,Float:y,Float:z,Float:RotX, Float:RotY,Float:RotZ);[/COLOR]
pawn Code:
#include a_samp
#include AtmCreator
#include sscanf2
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) ||
(((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(addatm,6,cmdtext);
return 1;
}
dcmd_addatm(playerid, params[])
{
new id;
new Float:x , Float:y , Float:z ;
if(sscanf(params, "d", id)) return SendClientMessage(playerid,-1,"Use: /addatm [IDATM]");
else
GetPlayerPos(playerid, x, y , z );
CriarAtm(id,x,y,z-0.4,0.0,0.0,0.0);
return 1;
}
pawn Code:
#include a_samp
#include AtmCreator
public OnGameModeExit()
{
for(new i; i < MAX_ATM; i++)
{
salvaratm(i);
}
return 1;
}
pawn Code:
#include a_samp
#include AtmCreator
public OnGameModeInit()
{
for(new i; i < MAX_ATM; i++)
{
carregaratm(i);
}
return 1;
}
pawn Code:
#include a_samp
#include AtmCreator
#include sscanf2
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) ||
(((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(destruiratm,11,cmdtext);
return 1;
}
dcmd_destruiratm(playerid, params[])
{
new atmid;
if(sscanf(params, "d", atmid)) return SendClientMessage(playerid, -1,"Use: /destruiratm [ID]");
else
DestruirAtm(atmid);
return 1;
}
=========================DOWNLOAD================= ===
CODIGO :
pawn Code:
// CRIADOR DE ATM POR WEVERTON || WEVERTON_BELLIC || SKYPE scriptsamp || VERSAO 2.0
/*
NГO RETIRE OS CREDITOS OU A INCLUDE NAO IRA FUNCIONAR
ATENЗГO PLAGIO E CRIME
NГO POSTA EM NENHUM BLOG SEM MEUS CREDITOS
OBRIGADO POR USAR ESSA INCLUDE
VOCК PODE CRIAR 500 ATMS
VERSAO 2.5 EM BREVE
*/
#include a_samp
#include streamer
#include DOF2
#pragma tabsize 0
#define MAX_ATM 500
#define SCM SendClientMessage
/*
native CriarAtm(atmid,Float:x,Float:y,Float:z,Float:RotX,Float:RotY,Float:RotZ);
native salvaratm(atmid);
native carregaratm(atmid);
native IsPlayerInAtm(playerid);
native DestruirAtm(atmid);
*/
enum pAtm {
pCriado,
Float:pX,
Float:pY,
Float:pZ,
object,
Float:rotX,
Float:rotY,
Float:rotZ
} ;
forward SalvarAtm();
forward CarregarAtm();
new Atm[MAX_ATM][pAtm];
new Text3D:Text[MAX_ATM];
stock CriarAtm(atmid,Float:x,Float:y,Float:z,Float:RotX,Float:RotY,Float:RotZ)
{
if(Atm[atmid][pCriado] == 0)
{
Atm[atmid][object] = CreateObject(2942,x,y,z,RotX,RotY,RotZ,100.0);
Atm[atmid][pCriado] = 1;
Atm[atmid][pX] = x;
Atm[atmid][pY] = y;
Atm[atmid][pZ] = z;
Atm[atmid][rotX] = RotX;
Atm[atmid][rotY] = RotY;
Atm[atmid][rotZ] = RotZ;
new text[40];
format(text,sizeof(text),"Caixa Eletronico ID: %d",atmid);
Text[atmid] = Create3DTextLabel(text,0x00FF00AA,x,y,z,35,0,0);
salvaratm(atmid);
return 1;
}
return 1;
}
stock salvaratm(atmid)
{
new string[128];
format(string,sizeof(string),"Atm/%d.Text",atmid);
if(!DOF2_FileExists(string))
{
DOF2_CreateFile(string);
}
DOF2_SetFloat(string,"X",Atm[atmid][pX]);
DOF2_SetFloat(string,"Y",Atm[atmid][pY]);
DOF2_SetFloat(string,"Z",Atm[atmid][pZ]);
DOF2_SetFloat(string,"rotx",Atm[atmid][rotX]);
DOF2_SetFloat(string,"roty",Atm[atmid][rotY]);
DOF2_SetFloat(string,"rotz",Atm[atmid][rotZ]);
DOF2_SetInt(string,"ID",atmid);
DOF2_SetInt(string,"CRIADO",Atm[atmid][pCriado]);
DOF2_SetInt(string,"OBJECT",Atm[atmid][object]);
return 1;
}
stock carregaratm(atmid)
{
new string[128];
format(string,sizeof(string),"Atm/%d.Text",atmid);
Atm[atmid][pX] = DOF2_GetFloat(string,"X");
Atm[atmid][pY] = DOF2_GetFloat(string,"Y");
Atm[atmid][pZ] = DOF2_GetFloat(string,"Z");
Atm[atmid][rotX] = DOF2_GetFloat(string , "rotX");
Atm[atmid][rotY] = DOF2_GetFloat(string , "rotY");
Atm[atmid][rotZ] = DOF2_GetFloat(string , "rotZ");
atmid = DOF2_GetInt(string,"ID");
Atm[atmid][pCriado] = DOF2_GetInt(string,"CRIADO");
Atm[atmid][object] = DOF2_GetInt(string,"OBJECT");
Atm[atmid][object] = CreateObject(2942,Atm[atmid][pX],Atm[atmid][pY],Atm[atmid][pZ],0.0,0.0,100.0);
format(string,sizeof(string),"Caixa Eletronico ID: %d",atmid);
Text[atmid] = Create3DTextLabel(string,0x00FF00AA,Atm[atmid][pX],Atm[atmid][pY],Atm[atmid][pZ],35,0,0);
return 1;
}
/*stock MoverAtm(atmid,Float:x,Float:y,Float:z,Float:RotX,Float:RotY,Float:RotZ)
{
new playerid;
new string[128];
if(Atm[atmid][pCriado] == 0) return SCM(playerid,-1,"Esse id nгo foi criado ainda");
else
Atm[atmid][pX] = x;
Atm[atmid][pY] = y;
Atm[atmid][pZ] = z; //EM BREVE
DestroyObject(Atm[atmid][object]);
Delete3DTextLabel(Atm[atmid][TextLabel]);
format(string,sizeof(string),"Caixa Eletronico ID: %d",atmid);
Atm[atmid][object] = CreateObject(2942,Atm[atmid][pX],Atm[atmid][pY],Atm[atmid][pZ],RotX, RotY, RotZ);
Atm[atmid][TextLabel] = Create3DTextLabel(string,0x00FF00AA,x,y,z,35,0,0);
Atm[atmid][rotX] = RotX;
Atm[atmid][rotY] = RotY;
Atm[atmid][rotZ] = RotZ;
salvaratm(atmid);
return 1;
} */
stock IsPlayerInAtm(playerid)
{
for(new i=1; i<MAX_ATM; i++)
{
if(!IsPlayerInRangeOfPoint(playerid,5,Atm[i][pX],Atm[i][pY],Atm[i][pZ])) return SCM(playerid,0xFF0000AA,"Vocк nгo esta em nenhum atm");
}
return 1;
}
stock DestruirAtm(atmid)
{
new playerid;
if(Atm[atmid][pCriado] == 0) return SCM(playerid,0xFF0000AA,"Esse ID atm nгo foi criando ainda");
else
DestroyObject(Atm[atmid][object]);
Delete3DTextLabel(Text[atmid]);
Atm[atmid][pCriado] = 0;
Atm[atmid][pCriado] = 1;
Atm[atmid][pX] = 0.0;
Atm[atmid][pY] = 0.0;
Atm[atmid][pZ] = 0.0;
Atm[atmid][rotX] = 0.0;
Atm[atmid][rotY] = 0.0;
Atm[atmid][rotZ] = 0.0;
salvaratm(atmid);
return 1;
}
http://pastebin.com/0AMsX0HF
================================================== ======
=========================4SHARED================== ======
AtmCreator_2.inc
================================================== ======
Como todos deve saber eu sou iniciante ainda em pawn...Mais ja consigo criar algumas coisas que eu achava impossivel para min...Entгo qualquer sujestгo ou critica e bem vindo,quem gostar e poder me dar +REP fico agradecido
Obrigado...
Creditos : Weverton || Skype: scriptsamp