[Include] vending - Mбquinas de venda automбtica server-side
#1

Introduзгo

Esta include eu jб havia feito a um tempo onde postei na бrea inglкs do fуrum, estou postando aqui para caso alguйm nгo conhecia possa ter acesso tambйm.

Uma include com o objetivo de criar mбquinas de venda automбtica (sprunks, etc) no lado do servidor, onde vocк pode ter total controle delas.

A include automaticamente substitui todas as mбquinas do jogo single-player. (desde 1.6)

Exemplo

Код:
new gVending;

main()
{
    gVending = CreateVendingMachine(MACHINE_SPRUNK, 1755.348144, -2113.468750, 12.692808, 0.000000, 0.000000, 180.000000);
}

public OnPlayerUseVendingMachine(playerid, machineid)
{ // Chamada quando um jogador usa uma mбquina.
    if(GetPlayerMoney(playerid) < 1)
    {// Caso o jogador nгo tenha dinheiro.
        SendClientMessage(playerid, COLOR_ERROR, "* Vocк nгo tem dinheiro suficiente.");
        return 0;
    }

    // Restaura 10% da vida do jogador e cobra 1$.
    new Float:health;
    GetPlayerHealth(playerid, health);

    // Evitando que um jogador possua mais que 100.0 de HP.
    if((health + 10.0) > 100.0) health = 100.0;
    else health += 10.0;

    // Definindo valores
    SetPlayerHealth(playerid, health);
    GivePlayerMoney(playerid, -1);
    return 1;
}

public OnPlayerDrinkSprunk(playerid)
{// Chamado quando um jogador bebe da lata de sprunk.
    new Float:health;
    GetPlayerHealth(playerid, health);

    if((health + 10.0) > 100.0) health = 100.0;
    else health += 10.0;

    SetPlayerHealth(playerid, health);
    SendClientMessage(playerid, COLOR_INFO, "* Vocк bebeu da latinha. (+10HP)");
    return 1;
}
Funзхes
  • pawn Код:
    CreateVendingMachine(objectid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz);
    Cria uma mбquina. retorna o ID da mбquina criada.
  • pawn Код:
    GetVendingMachineRot(machineid, &Float:rx, &Float:ry, &Float:rz);
    Obtйm as rotaзхes da mбquina, passada por referкncia.
  • pawn Код:
    SetVendingMachineRot(machineid, Float:rx, Float:ry, Float:rz);
    Define a rotaзгo da mбquina.
  • pawn Код:
    GetVendingMachinePos(machineid, &Float:x, &Float:y, &Float:z);
    Obtйm a posiзгo da mбquina, passado por referкncia.
  • pawn Код:
    SetVendingMachinePos(machineid, Float:x, Float:y, Float:z);
    Define a posiзгo da mбquina.
  • pawn Код:
    DestroyVendingMachine(machineid);
    Destrуi a mбquina.
  • pawn Код:
    GetVendingMachineType(machineid);
    Obtйm o tipo da mбquina.
  • pawn Код:
    SetVendingMachineColor(machineid, color);
    Define a cor da mбquina. (ARGB)
  • pawn Код:
    GetVendingMachineColor(machineid);
    Obtйm a cor da mбquina. (ARGB)
  • pawn Код:
    IsValidVendingMachine(machineid);
    Verifica se a maquina existe.
  • pawn Код:
    GetVendingMachineObjectID(machineid);
    Obtйm o ID do objeto da mбquina.
Tipos de mбquinas

Atualmente, hб 3 tipos de mбquinas.
Streamer plugin

Se o streamer plugin for incluнdo antes da vending.inc ela usarб CreateDynamicObject ao invйs de CreateObject.

Criando uma mбquina

Vocк pode usar o filterscript vendingcreator para criar mбquinas in-game e exporta-las.



Special action

Por padrгo, quando um jogador utilizar uma mбquina sprunk ele irб receber uma lata da mбquina onde ele pode beber dela. Vocк pode desabilitar isso adicionando NO_SPRUNK_ACTION antes da include.

Код:
#define NO_SPRUNK_ACTION
#include <vending>
Download

Github.
Reply
#2

Bom trabalho.
Reply
#3

Jб tinha visto esta include na board Inglкs, gostei muito dela.
Parabйns, й uma уtima include.
Reply
#4

Uou! nice include.
Parabйns Larceny, bom trabalho
Reply
#5

Jб tinha visto no Github.

Bom trabalho!
Reply
#6

Eu havia visto quando vocк postou na outra board, um excelente trabalho, muito interessante...
Reply
#7

Legal, da para botar sprunk para todo lado agora de modo facil
1 sprunk a cada 10 metros

Parabens, Legal a include.
Reply
#8

Parabйns, й de grande utilidade.

Larceny (Lucas*)

Atй outra hora, abs.
Reply
#9

Muitk Bom, ultilizarei como prte do meu ant cheat
Reply
#10

Muito bom cara, vou usar no meu projeto.
Reply
#11

Gostei, bom trabalho bro'
Reply
#12

Parabйns, agora posso criar uma empresa de fornecimento de bebidas, e colocar o dinheiro da mбquina para seu caixa.
Reply
#13

Um уtimo trabalho, jб tinha visto na board inglesa.

Parabйns.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)