22.09.2017, 01:35
Alguйm pode me ajudar com um sistema de pesca?
#include <a_samp>
#include <zcmd>
#include <rBits>
#define DialogPesca 102
new Bit1:Vara[MAX_PLAYERS];
new Bit1:Iscas[MAX_PLAYERS];
new Bit1:Anzol[MAX_PLAYERS];
new Bit1:Capturou[MAX_PLAYERS];
public OnFilterScriptInit()
{
Create3DTextLabel("Compre utensilios para sua pesca! /upesca\n tambйm venda seus peixes aqui /venderpeixe", -1, 359.3872,-2032.2191,7.8359, 50, 0, 50);
}
public OnPlayerConnect(playerid) return SetPlayerMapIcon(playerid, 5, 359.3872,-2032.2191,7.8359,17,0);
CMD:irpier(playerid)
{
if(!IsPlayerAdmin(playerid))
return 0;
SetPlayerPos(playerid,359.3872,-2032.2191,7.8359);
return true;
}
CMD:upesca(playerid)
{
if(!IsPlayerInRangeOfPoint(playerid,5,359.3872,-2032.2191,7.8359))
return SendClientMessage(playerid, 0xD900D366, "Vocк nгo estб perto da loja!");
ShowPlayerDialog(playerid, DialogPesca, DIALOG_STYLE_LIST, "O que deseja comprar?","Vara de pesca R$ 100\nIsca de pesca R$ 20\nAnzol de pesca R$ 80\n","Comprar","Sair");
return true;
}
CMD:pescar(playerid)
{
if(!IsApier(playerid))
return SendClientMessage(playerid, 0xD900D366, "Vocк nгo estб prуximo a бrea de pesca do pier");
if(!Vara[playerid])
return SendClientMessage(playerid, 0xD900D366, "Vocк nгo tem uma vara de pescar! digite /upesca para adquirir os itencilios");
if(!Iscas[playerid])
return SendClientMessage(playerid, 0xD900D366, "Vocк nгo tem uma isca! digite /upesca para adquirir os itencilios");
if(!Anzol[playerid])
return SendClientMessage(playerid, 0xD900D366, "Vocк nгo tem um anzol! digite /upesca para adquirir os itencilios");
SendClientMessage(playerid,0x00B9FF66,"Vocк lancou a vara de pescar! espere 1 minuto para a pesca terminar!");
SendClientMessage(playerid,0x00B9FF66,"Pescando.....");
TogglePlayerControllable(playerid, false);
SetTimerEx("Termino", 1 * 60000, false, "i",playerid);
return true;
}
CMD:venderpeixe(playerid)
{
if(!IsPlayerInRangeOfPoint(playerid,5,359.3872,-2032.2191,7.8359))
return SendClientMessage(playerid,0xD900D366,"Vocк nгo estб perto da loja!");
if(!Capturou[playerid])
return SendClientMessage(playerid,0xD900D366,"Vocк nгo capturou nen um peixe ainda!");
new s[33];
new valor = randomEx(150,300);
format(s,33,"Vocк vendeu seu peixe por R$ %d",valor);
SendClientMessage(playerid,0xC2A2DA,s);
return true;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DialogPesca)
{
if(response)
{
if(listitem == 0)
{
if(Vara[playerid])
return SendClientMessage(playerid, 0xD900D366 , "Vocк ja tem uma vara de pescar!");
if(GetPlayerMoney(playerid) < 100)
return SendClientMessage(playerid, 0xD900D366, "Vocк nгo tem dinheiro suficiente para adquirir esse item");
SendClientMessage(playerid, 0x00B9FF66,"Vocк comprou uma vara de pescar!");
GivePlayerMoney(playerid, - 100);
Bit1_Set(Vara, playerid, true);
}
if(listitem == 1)
{
if(Iscas[playerid])
return SendClientMessage(playerid, 0xD900D366 , "Vocк ja tem algumas iscas para pescar!");
if(GetPlayerMoney(playerid) < 20)
return SendClientMessage(playerid, 0xD900D366 , "Vocк nгo tem dinheiro suficiente para adquirir esse item");
SendClientMessage(playerid, 0x00B9FF66,"Vocк comprou algumas iscas para pescar!");
GivePlayerMoney(playerid, - 20);
Bit1_Set(Iscas, playerid, true);
}
if(listitem == 2)
{
if(Anzol[playerid])
return SendClientMessage(playerid, 0xD900D366 , "Vocк ja tem um anzol para pescar!");
if(GetPlayerMoney(playerid) < 50)
return SendClientMessage(playerid, 0xD900D366 , "Vocк nгo tem dinheiro suficiente para adquirir esse item");
SendClientMessage(playerid, 0x00B9FF66,"Vocк comprou um anzol para pescar!");
GivePlayerMoney(playerid, - 50);
Bit1_Set(Anzol, playerid, true);
}
}
}
return true;
}
stock IsApier(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,1.0,398.7553,-2088.7490,7.8359)||
IsPlayerInRangeOfPoint(playerid,1.0, 403.8266,-2088.7598,7.8359))
return true;
else if(IsPlayerInRangeOfPoint(playerid,1.0,396.2197,-2088.6692,7.8359)||
IsPlayerInRangeOfPoint(playerid,1.0,391.1094,-2088.7976,7.8359))
return true;
else if(IsPlayerInRangeOfPoint(playerid,1.0,383.4157,-2088.7849,7.8359)||
IsPlayerInRangeOfPoint(playerid,1.0,374.9598,-2088.7979,7.8359))
return true;
else if(IsPlayerInRangeOfPoint(playerid,1.0,369.8107,-2088.7927,7.8359)||
IsPlayerInRangeOfPoint(playerid,1.0,367.3637,-2088.7925,7.8359))
return true;
else if(IsPlayerInRangeOfPoint(playerid,1.0,362.2244,-2088.7981,7.8359)||
IsPlayerInRangeOfPoint(playerid,1.0,354.5382,-2088.7979,7.8359))
return true;
return false;
}
forward Termino(playerid);
public Termino(playerid)
{
new peixe = random(10);
new kg = randomEx(30,150);
new s[60];
new PeixeName[10];
if(peixe == 1) { PeixeName = "Dourado"; }
if(peixe == 2) { PeixeName = "Traira"; }
if(peixe == 3) { PeixeName = "Bagre"; }
if(peixe == 4) { PeixeName = "Barbado"; }
if(peixe == 5) { PeixeName = "Pacu"; }
if(peixe == 6) { PeixeName = "Pintado"; }
if(peixe == 7) { PeixeName = "Piranha"; }
if(peixe == 8) { PeixeName = "Sardinha";}
if(peixe == 9) { PeixeName = "Atum"; }
if(peixe == 10) { PeixeName = "Tainha"; }
format(s,60,"Vocк pescou um(uma) %s com peso de %d kg! parabйns.",PeixeName,kg);
SendClientMessage(playerid,0xC2A2DA,s);
SendClientMessage(playerid,-1,"Vocк terminou a pescaria!");
SendClientMessage(playerid,-1,"Suas iscas acabaram , se quiser pescar novamente compre mais");
TogglePlayerControllable(playerid, true);
Bit1_Set(Capturou, playerid, true);
Bit1_Set(Iscas, playerid, false);
return true;
}
stock randomEx(minnum = cellmin, maxnum = cellmax)
return random(maxnum - minnum + 1) + minnum;// by ******
CMD:venderpeixe(playerid)
{
if(!IsPlayerInRangeOfPoint(playerid,5,359.3872,-2032.2191,7.8359))
return SendClientMessage(playerid,0xD900D366,"Vocк nгo estб perto da loja!");
if(!Capturou[playerid])
return SendClientMessage(playerid,0xD900D366,"Vocк nгo capturou nen um peixe ainda!");
new s[33];
new valor = randomEx(150,300);
format(s,33,"Vocк vendeu seu peixe por R$ %d",valor);
SendClientMessage(playerid,0xC2A2DA,s);
Bit1_Set(Capturou, playerid, true);
return true;
}
PHP код:
|