21:21
(Esta mensagem foi modificada pela última vez a: 21:23 por PedroDiasSs.)
erros
C:\Users\DiasSs\Desktop\Gamemode Silva Scripter\filterscripts\casas.pwn(175) : warning 202: number of arguments does not match definition
C:\Users\DiasSs\Desktop\Gamemode Silva Scripter\filterscripts\casas.pwn(175) : warning 202: number of arguments does not match definition
C:\Users\DiasSs\Desktop\Gamemode Silva Scripter\filterscripts\casas.pwn(191) : warning 202: number of arguments does not match definition
C:\Users\DiasSs\Desktop\Gamemode Silva Scripter\filterscripts\casas.pwn(191) : warning 202: number of arguments does not match definition
C:\Users\DiasSs\Desktop\Gamemode Silva Scripter\filterscripts\casas.pwn(191) : error 035: argument type mismatch (argument 2)
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
1 Error.
codigo casas.pwn abaixo.
OBS : la embaixo tem um rostinhos assim (
) mais e pq esta escrito CMD: set
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dini>
#define MAX_CASAS 200
#define PATH_CASAS "Casas/%d.ini"
// =================== ENUM ===================
enum eCasa {
Float:cx,
Float:cy,
Float:cz,
preco,
interior,
dono[24],
Text3D:label,
pickup
}
new CasaInfo[MAX_CASAS][eCasa];
// =================== DINHEIRO DOS JOGADORES ===================
new PlayerMoney[MAX_PLAYERS];
// =================== FUNÇÕES ===================
stock CasaFile(id) {
new path[64];
format(path, sizeof(path), PATH_CASAS, id);
return path;
}
stock AtualizarCasa(id) {
if(CasaInfo[id][label] != Text3D:INVALID_3DTEXT_ID) {
Delete3DTextLabel(CasaInfo[id][label]);
}
if(CasaInfo[id][pickup] != 0) {
DestroyPickup(CasaInfo[id][pickup]);
}
new str[128];
if(!strcmp(CasaInfo[id][dono], "Nenhum", true)) {
format(str, sizeof(str), "{FFFFFF}Propriedade a Venda\n{33CCFF}ID: {FFFFFF}%d\n{33CCFF}Valor: {33FF33}$%d\n{FFFF00}Use /comprarcasa %d", id, CasaInfo[id][preco], id);
CasaInfo[id][label] = Create3DTextLabel(str, 0xFFFFFFFF, CasaInfo[id][cx], CasaInfo[id][cy], CasaInfo[id][cz], 20.0, 0);
CasaInfo[id][pickup] = CreatePickup(1273, 1, CasaInfo[id][cx], CasaInfo[id][cy], CasaInfo[id][cz], 0);
} else {
format(str, sizeof(str), "{33CCFF}Propriedade de:\n{FFFFFF}%s\n{FFFF00}Use /entrar %d", CasaInfo[id][dono], id);
CasaInfo[id][label] = Create3DTextLabel(str, 0xFFFFFFFF, CasaInfo[id][cx], CasaInfo[id][cy], CasaInfo[id][cz], 20.0, 0);
CasaInfo[id][pickup] = CreatePickup(19522, 1, CasaInfo[id][cx], CasaInfo[id][cy], CasaInfo[id][cz], 0);
}
}
stock SalvarCasa(id) {
new file[64];
format(file, sizeof(file), PATH_CASAS, id);
dini_Create(file);
dini_FloatSet(file, "X", CasaInfo[id][cx]);
dini_FloatSet(file, "Y", CasaInfo[id][cy]);
dini_FloatSet(file, "Z", CasaInfo[id][cz]);
dini_IntSet(file, "Preco", CasaInfo[id][preco]);
dini_IntSet(file, "Interior", CasaInfo[id][interior]);
dini_Set(file, "Dono", CasaInfo[id][dono]);
}
stock CarregarCasas() {
for(new i=0;i<MAX_CASAS;i++) {
new file[64];
format(file, sizeof(file), PATH_CASAS, i);
if(fexist(file)) {
CasaInfo[i][cx] = dini_Float(file, "X");
CasaInfo[i][cy] = dini_Float(file, "Y");
CasaInfo[i][cz] = dini_Float(file, "Z");
CasaInfo[i][preco] = dini_Int(file, "Preco");
CasaInfo[i][interior] = dini_Int(file, "Interior");
format(CasaInfo[i][dono], 24, "%s", dini_Get(file, "Dono"));
AtualizarCasa(i);
} else {
format(CasaInfo[i][dono], 24, "Nenhum");
CasaInfo[i][label] = Text3D:INVALID_3DTEXT_ID;
CasaInfo[i][pickup] = 0;
}
}
}
// =================== CALLBACKS ===================
public OnFilterScriptInit() {
CarregarCasas();
print("========== Sistema de Casas carregado ==========");
return 1;
}
public OnFilterScriptExit() {
for(new i=0;i<MAX_CASAS;i++) {
if(CasaInfo[i][label] != Text3D:INVALID_3DTEXT_ID) Delete3DTextLabel(CasaInfo[i][label]);
if(CasaInfo[i][pickup] != 0) DestroyPickup(CasaInfo[i][pickup]);
}
return 1;
}
public OnPlayerSpawn(playerid) {
if(PlayerMoney[playerid] == 0) {
PlayerMoney[playerid] = 10000;
GivePlayerMoney(playerid, PlayerMoney[playerid]);
}
return 1;
}
// =================== COMANDOS ===================
CMD:criarcasa(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Apenas admins podem criar casas.");
new cid, cpreco, cinterior;
if(sscanf(params, "iii", cid, cpreco, cinterior)) {
return SendClientMessage(playerid, -1, "Use: /criarcasa [ID] [Preço] [Interior]");
}
if(cid < 0 || cid >= MAX_CASAS)
return SendClientMessage(playerid, -1, "ID da casa inválido.");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
CasaInfo[cid][cx] = x;
CasaInfo[cid][cy] = y;
CasaInfo[cid][cz] = z;
CasaInfo[cid][preco] = cpreco;
CasaInfo[cid][interior] = cinterior;
format(CasaInfo[cid][dono], 24, "Nenhum");
CasaInfo[cid][label] = Text3D:INVALID_3DTEXT_ID;
CasaInfo[cid][pickup] = 0;
SalvarCasa(cid);
AtualizarCasa(cid);
SendClientMessage(playerid, -1, "Casa criada com sucesso!");
return 1;
}
CMD:removercasa(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Apenas admins podem remover casas.");
new id;
if(sscanf(params, "i", id)) return SendClientMessage(playerid, -1, "Use: /removercasa [id]");
if(id < 0 || id >= MAX_CASAS) return SendClientMessage(playerid, -1, "ID inválido.");
new file[64];
format(file, sizeof(file), PATH_CASAS, id);
if(fexist(file)) fremove(file);
if(CasaInfo[id][label] != Text3D:INVALID_3DTEXT_ID) Delete3DTextLabel(CasaInfo[id][label]);
if(CasaInfo[id][pickup] != 0) DestroyPickup(CasaInfo[id][pickup]);
CasaInfo[id][label] = Text3D:INVALID_3DTEXT_ID;
CasaInfo[id][pickup] = 0;
format(CasaInfo[id][dono], 24, "Nenhum");
SendClientMessage(playerid, -1, "Casa removida.");
return 1;
}
CMD:comprarcasa(playerid, params[]) {
new cid;
if(sscanf(params, "i", cid)) return SendClientMessage(playerid, -1, "Use: /comprarcasa [ID]");
if(cid < 0 || cid >= MAX_CASAS) return SendClientMessage(playerid, -1, "ID inválido.");
if(!strcmp(CasaInfo[cid][dono], "Nenhum", true)) {
if(PlayerMoney[playerid] < CasaInfo[cid][preco]) {
return SendClientMessage(playerid, -1, "Você não tem dinheiro suficiente para comprar esta casa.");
}
PlayerMoney[playerid] -= CasaInfo[cid][preco];
GivePlayerMoney(playerid, CasaInfo[cid][preco]*-1);
format(CasaInfo[cid][dono], 24, "%s", GetPlayerName(playerid));
SalvarCasa(cid);
AtualizarCasa(cid);
SendClientMessage(playerid, -1, "Parabéns! Você comprou a casa.");
} else {
SendClientMessage(playerid, -1, "Esta casa já tem dono.");
}
return 1;
}
CMD:entrar(playerid, params[]) {
new cid;
if(sscanf(params, "i", cid)) return SendClientMessage(playerid, -1, "Use: /entrar [ID]");
if(cid < 0 || cid >= MAX_CASAS) return SendClientMessage(playerid, -1, "ID inválido.");
if(strcmp(CasaInfo[cid][dono], GetPlayerName(playerid), true) != 0) {
return SendClientMessage(playerid, -1, "Você não é o dono desta casa.");
}
SetPlayerInterior(playerid, CasaInfo[cid][interior]);
SetPlayerPos(playerid, CasaInfo[cid][cx], CasaInfo[cid][cy], CasaInfo[cid][cz]+1.0);
SendClientMessage(playerid, -1, "Você entrou na sua casa.");
return 1;
}
CMD
aircasa(playerid, params[]) {
SetPlayerInterior(playerid, 0);
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x, y, z + 1.0);
SendClientMessage(playerid, -1, "Você saiu da sua casa.");
return 1;
}
CMD:ircasa(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Apenas administradores podem usar este comando.");
new id;
if(sscanf(params, "i", id)) return SendClientMessage(playerid, -1, "Use: /ircasa [id]");
if(id < 0 || id >= MAX_CASAS) return SendClientMessage(playerid, -1, "ID inválido.");
SetPlayerPos(playerid, CasaInfo[id][cx], CasaInfo[id][cy], CasaInfo[id][cz]+1.0);
SendClientMessage(playerid, -1, "Você foi até a casa.");
return 1;
}
CMD
etpreco(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Apenas admins podem alterar preços.");
new cid, cpreco;
if(sscanf(params, "ii", cid, cpreco)) return SendClientMessage(playerid, -1, "Use: /setpreco [id] [preco]");
if(cid < 0 || cid >= MAX_CASAS) return SendClientMessage(playerid, -1, "ID inválido.");
CasaInfo[cid][preco] = cpreco;
SalvarCasa(cid);
AtualizarCasa(cid);
SendClientMessage(playerid, -1, "Preço atualizado.");
return 1;
}
CMD
etinterior(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Apenas admins podem alterar interiores.");
new cid, cinterior;
if(sscanf(params, "ii", cid, cinterior)) return SendClientMessage(playerid, -1, "Use: /setinterior [id] [interior]");
if(cid < 0 || cid >= MAX_CASAS) return SendClientMessage(playerid, -1, "ID inválido.");
CasaInfo[cid][interior] = cinterior;
SalvarCasa(cid);
SendClientMessage(playerid, -1, "Interior atualizado.");
return 1;
}
C:\Users\DiasSs\Desktop\Gamemode Silva Scripter\filterscripts\casas.pwn(175) : warning 202: number of arguments does not match definition
C:\Users\DiasSs\Desktop\Gamemode Silva Scripter\filterscripts\casas.pwn(175) : warning 202: number of arguments does not match definition
C:\Users\DiasSs\Desktop\Gamemode Silva Scripter\filterscripts\casas.pwn(191) : warning 202: number of arguments does not match definition
C:\Users\DiasSs\Desktop\Gamemode Silva Scripter\filterscripts\casas.pwn(191) : warning 202: number of arguments does not match definition
C:\Users\DiasSs\Desktop\Gamemode Silva Scripter\filterscripts\casas.pwn(191) : error 035: argument type mismatch (argument 2)
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
1 Error.
codigo casas.pwn abaixo.
OBS : la embaixo tem um rostinhos assim (

#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dini>
#define MAX_CASAS 200
#define PATH_CASAS "Casas/%d.ini"
// =================== ENUM ===================
enum eCasa {
Float:cx,
Float:cy,
Float:cz,
preco,
interior,
dono[24],
Text3D:label,
pickup
}
new CasaInfo[MAX_CASAS][eCasa];
// =================== DINHEIRO DOS JOGADORES ===================
new PlayerMoney[MAX_PLAYERS];
// =================== FUNÇÕES ===================
stock CasaFile(id) {
new path[64];
format(path, sizeof(path), PATH_CASAS, id);
return path;
}
stock AtualizarCasa(id) {
if(CasaInfo[id][label] != Text3D:INVALID_3DTEXT_ID) {
Delete3DTextLabel(CasaInfo[id][label]);
}
if(CasaInfo[id][pickup] != 0) {
DestroyPickup(CasaInfo[id][pickup]);
}
new str[128];
if(!strcmp(CasaInfo[id][dono], "Nenhum", true)) {
format(str, sizeof(str), "{FFFFFF}Propriedade a Venda\n{33CCFF}ID: {FFFFFF}%d\n{33CCFF}Valor: {33FF33}$%d\n{FFFF00}Use /comprarcasa %d", id, CasaInfo[id][preco], id);
CasaInfo[id][label] = Create3DTextLabel(str, 0xFFFFFFFF, CasaInfo[id][cx], CasaInfo[id][cy], CasaInfo[id][cz], 20.0, 0);
CasaInfo[id][pickup] = CreatePickup(1273, 1, CasaInfo[id][cx], CasaInfo[id][cy], CasaInfo[id][cz], 0);
} else {
format(str, sizeof(str), "{33CCFF}Propriedade de:\n{FFFFFF}%s\n{FFFF00}Use /entrar %d", CasaInfo[id][dono], id);
CasaInfo[id][label] = Create3DTextLabel(str, 0xFFFFFFFF, CasaInfo[id][cx], CasaInfo[id][cy], CasaInfo[id][cz], 20.0, 0);
CasaInfo[id][pickup] = CreatePickup(19522, 1, CasaInfo[id][cx], CasaInfo[id][cy], CasaInfo[id][cz], 0);
}
}
stock SalvarCasa(id) {
new file[64];
format(file, sizeof(file), PATH_CASAS, id);
dini_Create(file);
dini_FloatSet(file, "X", CasaInfo[id][cx]);
dini_FloatSet(file, "Y", CasaInfo[id][cy]);
dini_FloatSet(file, "Z", CasaInfo[id][cz]);
dini_IntSet(file, "Preco", CasaInfo[id][preco]);
dini_IntSet(file, "Interior", CasaInfo[id][interior]);
dini_Set(file, "Dono", CasaInfo[id][dono]);
}
stock CarregarCasas() {
for(new i=0;i<MAX_CASAS;i++) {
new file[64];
format(file, sizeof(file), PATH_CASAS, i);
if(fexist(file)) {
CasaInfo[i][cx] = dini_Float(file, "X");
CasaInfo[i][cy] = dini_Float(file, "Y");
CasaInfo[i][cz] = dini_Float(file, "Z");
CasaInfo[i][preco] = dini_Int(file, "Preco");
CasaInfo[i][interior] = dini_Int(file, "Interior");
format(CasaInfo[i][dono], 24, "%s", dini_Get(file, "Dono"));
AtualizarCasa(i);
} else {
format(CasaInfo[i][dono], 24, "Nenhum");
CasaInfo[i][label] = Text3D:INVALID_3DTEXT_ID;
CasaInfo[i][pickup] = 0;
}
}
}
// =================== CALLBACKS ===================
public OnFilterScriptInit() {
CarregarCasas();
print("========== Sistema de Casas carregado ==========");
return 1;
}
public OnFilterScriptExit() {
for(new i=0;i<MAX_CASAS;i++) {
if(CasaInfo[i][label] != Text3D:INVALID_3DTEXT_ID) Delete3DTextLabel(CasaInfo[i][label]);
if(CasaInfo[i][pickup] != 0) DestroyPickup(CasaInfo[i][pickup]);
}
return 1;
}
public OnPlayerSpawn(playerid) {
if(PlayerMoney[playerid] == 0) {
PlayerMoney[playerid] = 10000;
GivePlayerMoney(playerid, PlayerMoney[playerid]);
}
return 1;
}
// =================== COMANDOS ===================
CMD:criarcasa(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Apenas admins podem criar casas.");
new cid, cpreco, cinterior;
if(sscanf(params, "iii", cid, cpreco, cinterior)) {
return SendClientMessage(playerid, -1, "Use: /criarcasa [ID] [Preço] [Interior]");
}
if(cid < 0 || cid >= MAX_CASAS)
return SendClientMessage(playerid, -1, "ID da casa inválido.");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
CasaInfo[cid][cx] = x;
CasaInfo[cid][cy] = y;
CasaInfo[cid][cz] = z;
CasaInfo[cid][preco] = cpreco;
CasaInfo[cid][interior] = cinterior;
format(CasaInfo[cid][dono], 24, "Nenhum");
CasaInfo[cid][label] = Text3D:INVALID_3DTEXT_ID;
CasaInfo[cid][pickup] = 0;
SalvarCasa(cid);
AtualizarCasa(cid);
SendClientMessage(playerid, -1, "Casa criada com sucesso!");
return 1;
}
CMD:removercasa(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Apenas admins podem remover casas.");
new id;
if(sscanf(params, "i", id)) return SendClientMessage(playerid, -1, "Use: /removercasa [id]");
if(id < 0 || id >= MAX_CASAS) return SendClientMessage(playerid, -1, "ID inválido.");
new file[64];
format(file, sizeof(file), PATH_CASAS, id);
if(fexist(file)) fremove(file);
if(CasaInfo[id][label] != Text3D:INVALID_3DTEXT_ID) Delete3DTextLabel(CasaInfo[id][label]);
if(CasaInfo[id][pickup] != 0) DestroyPickup(CasaInfo[id][pickup]);
CasaInfo[id][label] = Text3D:INVALID_3DTEXT_ID;
CasaInfo[id][pickup] = 0;
format(CasaInfo[id][dono], 24, "Nenhum");
SendClientMessage(playerid, -1, "Casa removida.");
return 1;
}
CMD:comprarcasa(playerid, params[]) {
new cid;
if(sscanf(params, "i", cid)) return SendClientMessage(playerid, -1, "Use: /comprarcasa [ID]");
if(cid < 0 || cid >= MAX_CASAS) return SendClientMessage(playerid, -1, "ID inválido.");
if(!strcmp(CasaInfo[cid][dono], "Nenhum", true)) {
if(PlayerMoney[playerid] < CasaInfo[cid][preco]) {
return SendClientMessage(playerid, -1, "Você não tem dinheiro suficiente para comprar esta casa.");
}
PlayerMoney[playerid] -= CasaInfo[cid][preco];
GivePlayerMoney(playerid, CasaInfo[cid][preco]*-1);
format(CasaInfo[cid][dono], 24, "%s", GetPlayerName(playerid));
SalvarCasa(cid);
AtualizarCasa(cid);
SendClientMessage(playerid, -1, "Parabéns! Você comprou a casa.");
} else {
SendClientMessage(playerid, -1, "Esta casa já tem dono.");
}
return 1;
}
CMD:entrar(playerid, params[]) {
new cid;
if(sscanf(params, "i", cid)) return SendClientMessage(playerid, -1, "Use: /entrar [ID]");
if(cid < 0 || cid >= MAX_CASAS) return SendClientMessage(playerid, -1, "ID inválido.");
if(strcmp(CasaInfo[cid][dono], GetPlayerName(playerid), true) != 0) {
return SendClientMessage(playerid, -1, "Você não é o dono desta casa.");
}
SetPlayerInterior(playerid, CasaInfo[cid][interior]);
SetPlayerPos(playerid, CasaInfo[cid][cx], CasaInfo[cid][cy], CasaInfo[cid][cz]+1.0);
SendClientMessage(playerid, -1, "Você entrou na sua casa.");
return 1;
}
CMD

SetPlayerInterior(playerid, 0);
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x, y, z + 1.0);
SendClientMessage(playerid, -1, "Você saiu da sua casa.");
return 1;
}
CMD:ircasa(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Apenas administradores podem usar este comando.");
new id;
if(sscanf(params, "i", id)) return SendClientMessage(playerid, -1, "Use: /ircasa [id]");
if(id < 0 || id >= MAX_CASAS) return SendClientMessage(playerid, -1, "ID inválido.");
SetPlayerPos(playerid, CasaInfo[id][cx], CasaInfo[id][cy], CasaInfo[id][cz]+1.0);
SendClientMessage(playerid, -1, "Você foi até a casa.");
return 1;
}
CMD

if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Apenas admins podem alterar preços.");
new cid, cpreco;
if(sscanf(params, "ii", cid, cpreco)) return SendClientMessage(playerid, -1, "Use: /setpreco [id] [preco]");
if(cid < 0 || cid >= MAX_CASAS) return SendClientMessage(playerid, -1, "ID inválido.");
CasaInfo[cid][preco] = cpreco;
SalvarCasa(cid);
AtualizarCasa(cid);
SendClientMessage(playerid, -1, "Preço atualizado.");
return 1;
}
CMD

if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Apenas admins podem alterar interiores.");
new cid, cinterior;
if(sscanf(params, "ii", cid, cinterior)) return SendClientMessage(playerid, -1, "Use: /setinterior [id] [interior]");
if(cid < 0 || cid >= MAX_CASAS) return SendClientMessage(playerid, -1, "ID inválido.");
CasaInfo[cid][interior] = cinterior;
SalvarCasa(cid);
SendClientMessage(playerid, -1, "Interior atualizado.");
return 1;
}