[Include] Atm Creator 2.0
#1

>>>>>>>>>>>>Atm Creator 2.0<<<<<<<<<<<<

pawn Code:
Olб pessoal. Tudo Bom?, entгo eu resolvi criar uma nova versгo dessa include Atm Creator...
O que ha de novo nessa versгo?
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
Exemplo Usando o:

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;
}
Agora usando o salvaratm(atmid)
pawn Code:
#include a_samp
#include AtmCreator
public OnGameModeExit()
{
      for(new i; i < MAX_ATM; i++)
      {
            salvaratm(i);
      }
      return 1;
}
Agora usando o carregaratm(atmid)
pawn Code:
#include a_samp
#include AtmCreator
public OnGameModeInit()
    {
      for(new i; i < MAX_ATM; i++)
      {
            carregaratm(i);
      }
      return 1;
    }
Usa o DestruirAtm(atmid);
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;
}
[/FONT]
=========================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;
}
=========================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
Reply
#2

ъtil, poderia postar o cуdigo identado e completo no pastebin.
Reply
#3

se nгo existir o atm descrito no atmid oq vai acontecer aqui:
pawn Code:
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;
}
?
Reply
#4

Very Fail
Reply
#5

Isso nгo vai funcionar!
pawn Code:
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;
}
Reply
#6

Vocк ao menos testou isso antes de postar?
Reply
#7

Quote:
Originally Posted by Lucas_Alemao
View Post
se nгo existir o atm descrito no atmid oq vai acontecer aqui:
pawn Code:
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;
}
?
Quote:
Originally Posted by paulor
View Post
Isso nгo vai funcionar!
pawn Code:
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;
}
do Jeito que vocк me passo tbm nao funciona
Quote:
Originally Posted by AFerreira
View Post
Vocк ao menos testou isso antes de postar?
Quote:
Originally Posted by [LF]PlaYer
View Post
Very Fail
Sim Primeiro Teste depois vem falar coisas...
Reply
#8

Quote:
Originally Posted by wevertonneves
View Post
Sim Primeiro Teste depois vem falar coisas...
Eu nгo preciso testar pra falar que ta errado! Se eu to dizendo eh pq ta...
Reply
#9

Quote:
Originally Posted by paulor
View Post
Eu nгo preciso testar pra falar que ta errado! Se eu to dizendo eh pq ta...
Amigo eu nгo me tava referindo a vocк e sim ao AFerreira
Reply
#10

Quote:
Originally Posted by wevertonneves
View Post
Amigo eu nгo me tava referindo a vocк e sim ao AFerreira
Vc deu QUOTE no meu post, Imaginei que fosse comigo!
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)