-
Sziasztok!Van egy rendõr szerverem,de elakadtam egy dolognál :S
Nem tudom hogy kéne csinálni egy bandaszéfet,vagy is lehetne bele pénzt rakni.
Csak ennyi,de nem tom le vook blokkolva.
Válaszokat elõre is köszönöm sziasztok!
-
Úgy szeretnéd, hogy amikor a szerver leáll elmentse az összeget, ami a bandaszéfben van?
-
Úgy szeretnéd, hogy amikor a szerver leáll elmentse az összeget, ami a bandaszéfben van?
aham :)
tudom nagyon egyszerû,ed néha ezek is kifognak rajtam :S
-
Nem vagyok benne biztos, hogy mûködik, sajnos pawno nélküli gépen vagyok.
#include a_samp
#include zcmd
#include sscanf
#include dini
new szefosszeg;
#define szefpozicio x, y, z
CMD:berak(playerid, params[])
{
if(sscanf(params, \"d\", osszeg)) return SendClientMessage(playerid, 0xff0000AA, \"Használat: /berak [összeg]\" );
if(!IsPlayerInRangeOfPoint(playerid, 7.0, szefpozicio)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
szefosszeg = szefosszeg+osszeg;
GivePlayerMoney(playerid, -osszeg);
return 1;
}
CMD:kivesz(playerid, params[])
{
if(sscanf(params, \"d\", osszeg)) return SendClientMessage(playerid, 0xff0000AA, \"Használat: /kivesz [összeg]\" );
if(!IsPlayerInRangeOfPoint(playerid, 7.0, szefpozicio)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
if(osszeg > szefosszeg) return SendClientMessage(playerid, 0xff0000AA, \"Nincs ennyi pénz a széfben.\" );
szefosszeg = szefosszeg-osszeg;
GivePlayerMoney(playerid, osszeg);
return 1;
}
CMD:szef(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid, 7.0, szefpozicio)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
new string[200];
format(string, sizeof(string),\"A széfben lévõ pénz összege: %d\", szefosszeg);
return 1;
}
public OnGameModeInit()
{
if(dini_Exists(\"szef.ini\")
{
szefosszeg = dini_Int(\"szef.ini\",\"Penz\");
}else { dini_Create(\"szef.ini\") }
return 1;
}
public OnGameModeExit()
{
dini_IntSet(\"szef.ini\",\"Penz\", szefosszeg);
return 1;
}
-
Nem vagyok benne biztos, hogy mûködik, sajnos pawno nélküli gépen vagyok.
#include a_samp
#include zcmd
#include sscanf
#include dini
new szefosszeg;
CMD:berak(playerid, params[])
{
if(sscanf(params, \"d\", osszeg) return SendClientMessage(playerid, 0xff0000AA, \"Használat: /berak [összeg]\" );
szefosszeg = szefosszeg+osszeg;
GivePlayerMoney(playerid, -osszeg);
return 1;
}
CMD:kivesz(playerid, params[])
{
if(sscanf(params, \"d\", osszeg) return SendClientMessage(playerid, 0xff0000AA, \"Használat: /kivesz [összeg]\" );
szefosszeg = szefosszeg-osszeg;
GivePlayerMoney(playerid, osszeg);
return 1;
}
CMD:szef(playerid, params[])
{
new string[200];
format(string, sizeof(string),\"A széfben lévõ pénz összege: %d\", szefosszeg);
return 1;
}
public OnGameModeInit()
{
szefosszeg = dini_Int(\"szef.ini\",\"Penz\");
return 1;
}
public OnGameModeExit()
{
dini_IntSet(\"szef.ini\",\"Penz\", szefosszeg);
return 1;
}
és nem kell pozíció sehova sem? O.o
-
Olyat nem írtál. Azt szûrtem csak le, hogy kell egy be-ki rakó parancs és egy egyenleglekérõ.
Ha írsz bõvebb infót, megcsinálom.
E: Bõvítettem. A file létrehozást kihagytam.
-
Olyat nem írtál. Azt szûrtem csak le, hogy kell egy be-ki rakó parancs és egy egyenleglekérõ.
Ha írsz bõvebb infót, megcsinálom.
E: Bõvítettem. A file létrehozást kihagytam.
Akkor leírom mit szeretnék..egy pozícióra kéne rakni egy széfet,ami szerver kikapcsolásnál menti.Berakni,kivenni,és egyenleget lekérni lehetne.Elõre is köszi :)
-
#define szefpozicio x, y, z
A pirossal jelölt koordinátákat írd át arra, hol szeretnéd, hogy használni tudjuk a széfet.
#include a_samp
#include zcmd
#include sscanf
#include dini
new szefosszeg;
#define szefpozicio x, y, z
CMD:berak(playerid, params[])
{
if(sscanf(params, \"d\", osszeg)) return SendClientMessage(playerid, 0xff0000AA, \"Használat: /berak [összeg]\" );
if(!IsPlayerInRangeOfPoint(playerid, 7.0, szefpozicio)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
szefosszeg += osszeg;
GivePlayerMoney(playerid, -osszeg);
return 1;
}
CMD:kivesz(playerid, params[])
{
if(sscanf(params, \"d\", osszeg)) return SendClientMessage(playerid, 0xff0000AA, \"Használat: /kivesz [összeg]\" );
if(!IsPlayerInRangeOfPoint(playerid, 7.0, szefpozicio)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
if(osszeg > szefosszeg) return SendClientMessage(playerid, 0xff0000AA, \"Nincs ennyi pénz a széfben.\" );
szefosszeg -= osszeg;
GivePlayerMoney(playerid, osszeg);
return 1;
}
CMD:szef(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid, 7.0, szefpozicio)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
new string[200];
format(string, sizeof(string),\"A széfben lévõ pénz összege: %d\", szefosszeg);
return 1;
}
public OnGameModeInit()
{
if(dini_Exists(\"szef.ini\")
{
szefosszeg = dini_Int(\"szef.ini\",\"Penz\");
}else { dini_Create(\"szef.ini\") }
return 1;
}
public OnGameModeExit()
{
dini_IntSet(\"szef.ini\",\"Penz\", szefosszeg);
return 1;
}
-
Kicsit pontosabban, meg sscanfnál lemaradtak a zárójelek, javítottam:
#include a_samp
#include zcmd
#include sscanf2
#include dini
new szefosszeg;
#define szefpozicio x, y, z
CMD:berak(playerid, params[])
{
if(sscanf(params, \"d\", osszeg)) return SendClientMessage(playerid, 0xff0000AA, \"Használat: /berak [összeg]\" );
if(!IsPlayerInRangeOfPoint(playerid, 7.0, szefpozicio)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
szefosszeg += osszeg;
GivePlayerMoney(playerid, -osszeg);
return 1;
}
CMD:kivesz(playerid, params[])
{
if(sscanf(params, \"d\", osszeg)) return SendClientMessage(playerid, 0xff0000AA, \"Használat: /kivesz [összeg]\" );
if(!IsPlayerInRangeOfPoint(playerid, 7.0, szefpozicio)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
if(osszeg > szefosszeg) return SendClientMessage(playerid, 0xff0000AA, \"Nincs ennyi pénz a széfben.\" );
szefosszeg -= osszeg;
GivePlayerMoney(playerid, osszeg);
return 1;
}
CMD:szef(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid, 7.0, szefpozicio)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
new string[64];
format(string, sizeof(string),\"A széfben lévõ pénz összege: %d\", szefosszeg);
return 1;
}
public OnGameModeInit()
{
if(dini_Exists(\"szef.ini\")
{
szefosszeg = dini_Int(\"szef.ini\",\"Penz\");
}else { dini_Create(\"szef.ini\") }
return 1;
}
public OnGameModeExit()
{
dini_IntSet(\"szef.ini\",\"Penz\", szefosszeg);
return 1;
}
sscanf nélkül is megoldható mivel csak egy paraméter van, elég lenne a params tömb:
#include a_samp
#include zcmd
#include dini
new szefosszeg;
#define szefpozicio x, y, z
CMD:berak(playerid, params[])
{
if(isnull(params)) return SendClientMessage(playerid, 0xff0000AA, \"Használat: /berak [összeg]\" );
if(!IsPlayerInRangeOfPoint(playerid, 7.0, szefpozicio)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
szefosszeg += strval(params);
GivePlayerMoney(playerid, strval(params));
return 1;
}
CMD:kivesz(playerid, params[])
{
if(isnull(params)) return SendClientMessage(playerid, 0xff0000AA, \"Használat: /kivesz [összeg]\" );
if(!IsPlayerInRangeOfPoint(playerid, 7.0, szefpozicio)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
if(osszeg > szefosszeg) return SendClientMessage(playerid, 0xff0000AA, \"Nincs ennyi pénz a széfben.\" );
szefosszeg -= strval(params);
GivePlayerMoney(playerid, strval(params));
return 1;
}
CMD:szef(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid, 7.0, szefpozicio)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
new string[64];
format(string, sizeof(string),\"A széfben lévõ pénz összege: %d\", szefosszeg);
return 1;
}
public OnGameModeInit()
{
if(dini_Exists(\"szef.ini\")
{
szefosszeg = dini_Int(\"szef.ini\",\"Penz\");
}else { dini_Create(\"szef.ini\") }
return 1;
}
public OnGameModeExit()
{
dini_IntSet(\"szef.ini\",\"Penz\", szefosszeg);
return 1;
}
-
C:\\server1\\filterscripts\\széf.pwn(10) : error 001: expected token: \";\", but found \"forward\"
C:\\server1\\filterscripts\\széf.pwn(14) : warning 202: number of arguments does not match definition
C:\\server1\\filterscripts\\széf.pwn(14) : error 029: invalid expression, assumed zero
C:\\server1\\filterscripts\\széf.pwn(25) : warning 202: number of arguments does not match definition
C:\\server1\\filterscripts\\széf.pwn(25) : error 029: invalid expression, assumed zero
C:\\server1\\filterscripts\\széf.pwn(26) : error 001: expected token: \")\", but found \"return\"
C:\\server1\\filterscripts\\széf.pwn(35) : warning 202: number of arguments does not match definition
C:\\server1\\filterscripts\\széf.pwn(35) : error 029: invalid expression, assumed zero
C:\\server1\\filterscripts\\széf.pwn(36) : error 001: expected token: \")\", but found \"return\"
C:\\server1\\filterscripts\\széf.pwn(45) : error 001: expected token: \")\", but found \"{\"
C:\\server1\\filterscripts\\széf.pwn(47) : error 001: expected token: \";\", but found \"}\"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
8 Errors.
:SSS
-
Ott valamit nem zártál le, szerintem.
Másold be a hibás sorokat.
-
Ott valamit nem zártál le, szerintem.
Másold be a hibás sorokat.
C:\\server1\\filterscripts\\széf.pwn(12) : warning 202: number of arguments does not match definition
C:\\server1\\filterscripts\\széf.pwn(21) : warning 202: number of arguments does not match definition
C:\\server1\\filterscripts\\széf.pwn(22) : error 017: undefined symbol \"osszeg\"
C:\\server1\\filterscripts\\széf.pwn(30) : warning 202: number of arguments does not match definition
C:\\server1\\filterscripts\\széf.pwn(39) : error 001: expected token: \")\", but found \"{\"
C:\\server1\\filterscripts\\széf.pwn(41) : error 001: expected token: \";\", but found \"}\"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
3 Errors.
És a sorok:
12.: if(!IsPlayerInRangeOfPoint(playerid, 7.0, -2139.2334,-241.2799,36.5156,326.8825)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
21.: if(!IsPlayerInRangeOfPoint(playerid, 7.0, -2139.2334,-241.2799,36.5156,326.8825)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
22.: if(osszeg > szefosszeg) return SendClientMessage(playerid, 0xff0000AA, \"Nincs ennyi pénz a széfben.\" );
30.: if(!IsPlayerInRangeOfPoint(playerid, 7.0, -2139.2334,-241.2799,36.5156,326.8825)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
És ebbõl a szakaszból,a 39.,és a 40.
if(dini_Exists(\"szef.ini\")
39.: {
szefosszeg = dini_Int(\"szef.ini\",\"Penz\");
41.: }else { dini_Create(\"szef.ini\") }
return 1;
}
public OnGameModeExit()
{
dini_IntSet(\"szef.ini\",\"Penz\", szefosszeg);
return 1;
}
-
12: if(!IsPlayerInRangeOfPoint(playerid, 7.0, -2139.2334,-241.2799,36.5156)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
21: if(!IsPlayerInRangeOfPoint(playerid, 7.0, -2139.2334,-241.2799,36.5156)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
Amúgy elég csak az elején definiálni.
22: Ha az én verziómat használod, akkor nem hibás.
30: if(!IsPlayerInRangeOfPoint(playerid, 7.0, -2139.2334,-241.2799,36.5156)) return SendClientMessage(playerid, 0xff0000AA, \"Nem vagy a széfnél.\" );
-
42.: }else { dini_Create(\"szef.ini\") }
40.: {
-
public OnGameModeInit()
{
if(dini_Exists(\"szef.ini\"))
{
szefosszeg = dini_Int(\"szef.ini\",\"Penz\");
}
else
{
dini_Create(\"szef.ini\");
}
return 1;
}
-
Köszi szépen megy!
Mentek a respectek!