-
Sziasztok!
az a baj hogy /changename-vel a nevet át tudom váltani csak sehoova nem menti el és ugy kellene hogy pont pénz minden megmaradjon csak a név legyen más
CMD:changename(playerid,params[])
{
new ujnev[24];
if(sscanf(params,\"s[24]\",ujnev)) return SendClientMessage(playerid,0xff0000ff,\"Használat: /changename (újnév)\");
new str[128],name[24];
GetPlayerName(playerid,name,24);
format(str,128,\"{04BB00}%s {036f00}megváltoztatta a nevét erre: {04BB00}%s\",name,ujnev);
SendClientMessageToAll(0x036f00ff,str);
format(str,128,\"Új neved: {04BB00}%s!\",ujnev);
SendClientMessage(playerid,0x036f00ff,str);
SetPlayerName(playerid,ujnev);
return 1;
}
scriptfiles\\ladmin\\users be mentse el az uj nevet!
-
És a régit törölje?
-
a-a
-
#include <a_samp>
#include <dini>
#include <zcmd>
#include <sscanf2>
new ujneve[60];
CMD:changename(playerid,params[])
{
new ujnev[24];
if(sscanf(params,\"s[24]\",ujnev)) return SendClientMessage(playerid,0xff0000ff,\"Használat: /changename (újnév)\");
new str[128],name[24];
GetPlayerName(playerid,name,24);
format(str,128,\"{04BB00}%s {036f00}megváltoztatta a nevét erre: {04BB00}%s\",name,ujnev);
SendClientMessageToAll(0x036f00ff,str);
format(str,128,\"Új neved: {04BB00}%s!\",ujnev);
SendClientMessage(playerid,0x036f00ff,str);
SetPlayerName(playerid,ujnev);
format(ujneve, sizeof(ujneve), \"/ladmin/%s.ini\", ujnev); // Megformázzuk a szöveget
if(!dini_Exists(ujneve)) //Ha nem letézik a fájl, akkor létrehozza
{
dini_Create(ujneve);// Fájl létrehozása
dini_Set(ujneve, \"Új neve:\", ujnev);// Beleírunk egy \'Integer\' tipusú értéket
}
return 1;
}
Beteg vagyok szóval bocsi ha rossz ne haragudj.
-
Bocsi hogy beleszólok, de csak jót akarok vele elérni. :)
dini_Set(ujneve, \"Új neve:\", ujnev);// Beleírunk egy \'Integer\' tipusú értéket
Itt nem \'Integer\' hanem \'String\' típus, azaz szöveg típus értékként mentünk.
Az Integer számot jelöl, abból is az egész számokat (1,3,4,563,765) .
Ezt csak azért írtam le, hogy a késõbbiek során ha komolyabban veszed a programozást, akkor ilyen apró hibák miatt ne keverd össze a dolgokat. ;)
-
Bocsi hogy beleszólok, de csak jót akarok vele elérni. :)
dini_Set(ujneve, \"Új neve:\", ujnev);// Beleírunk egy \'Integer\' tipusú értéket
Itt nem \'Integer\' hanem \'String\' típus, azaz szöveg típus értékként mentünk.
Az Integer számot jelöl, abból is az egész számokat (1,3,4,563,765) .
Ezt csak azért írtam le, hogy a késõbbiek során ha komolyabban veszed a programozást, akkor ilyen apró hibák miatt ne keverd össze a dolgokat. ;)
[/quote]
Köszi a tanácsot. Gondoltam, hogy azzal gond van. Mivel a dinibe még csak integert mentettem innen néztem Link
-
nem jo :(
mert igy csinalja
Új neve:=Fast_Furious
ennyi a sor
és ennyi kell legyen
password_hash=76546559
ip=89.165.166.211
registered=1
RegisteredDate=16/4/2012
loggedin=0
banned=0
level=0
LastOn=16.4.2012
money=100
kills=0
deaths=0
hours=0
minutes=0
seconds=25
x1=-1917
y1=288
z1=41
interior1=0
weap1=24
weap1ammo=10000
weap2=0
weap2ammo=0
weap3=32
weap3ammo=10000
weap4=30
weap4ammo=10000
weap5=0
weap5ammo=0
weap6=0
weap6ammo=0
health=100
armour=0
TimesOnServer=1
ez a ladmin ba a parancsa csak ugy akarom hogy playerek is magának tudják átválatani
dcmd_setname(playerid,params[]) {
if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, \"Használat: /setname [playerid] [új név]\");
new player1 = strval(tmp), length = strlen(tmp2), string[128];
if(length < 3 || length > MAX_PLAYER_NAME) return SendClientMessage(playerid,red,\"Hiba: rosz név nagyság\");
if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,\"HIBA: Ezt a parancsot te nem használhatod magasabb szintû admin ellen\");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
format(string, sizeof(string), \"Te átállítotatd \\\"%s\'s\\\" -nak/nek a nevét \\\"%s\\\"-re\", pName(player1), tmp2); SendClientMessage(playerid,blue,string);
if(player1 != playerid) { format(string,sizeof(string),\"Adminisztrátor \\\"%s\\\" átállította a neved \\\"%s\\\"-re \", pName(playerid), tmp2); SendClientMessage(player1,blue,string); }
SetPlayerName(player1, tmp2);
return OnPlayerConnect(player1);
} else return SendClientMessage(playerid,red,\"HIBA: Ilyen játékos nem létezik\");
} else return SendClientMessage(playerid,red,\"HIBA: Ehez a parancshoz legalább 3-as szintû adminnak kéne lenned!\");
}
-
A mentést is bele kell írni.. ladminba nem tudom hogy van, de talán van egy SavePlayer függvény, ami menti a játékos adatait.
Ezt kell hozzá adni a parancshoz, + azt hogy a régi fájlt törölje.
-
Nem értem
-
dcmd_nevvaltas(playerid, params[])
{
new name[MAX_PLAYER_NAME], newname[16];
GetPlayerName(playerid, name, sizeof(name));
if(sscanf(params,\"s\", newname)) return SendClientMessage(playerid, 0xF60000AA, \"HASZNALAT: /nevvalatas [új név]\");
if(dini_Exists(newname)) return SendClientMessage(playerid, COLOUR_RED, \"Ez A Név Már Foglalt!\");
if(strlen(params) >= 3)
{
format(file, sizeof(file), \"users/%s.txt\", name);
dini_Set(file, \"%s.txt\", newname);
SendClientMessage(playerid, COLOUR_GREEN, \"Név Átírás Sikeres!\");
}
else
{
SendClientMessage(playerid, COLOUR_YELLOW, \"A választott név túl rövid,válassz másikat!\");
}
return 1;
}
Nem tudom,hogy segítek-e ezzel,de nálam így van próbáld meg vagy hátha ezt könnyebben tudod alakítani a Te kedved szerûen....
-
C:\\Documents and Settings\\Tihamér\\Asztal\\SERVER\\pawno\\include\\Dini.inc(477) : warning 219: local variable \"string\" shadows a variable at a preceding level
C:\\Documents and Settings\\Tihamér\\Asztal\\SERVER\\gamemodes\\Fa$t.pwn(1027) : error 017: undefined symbol \"file\"
C:\\Documents and Settings\\Tihamér\\Asztal\\SERVER\\gamemodes\\Fa$t.pwn(1027) : error 017: undefined symbol \"file\"
C:\\Documents and Settings\\Tihamér\\Asztal\\SERVER\\gamemodes\\Fa$t.pwn(1027) : error 029: invalid expression, assumed zero
C:\\Documents and Settings\\Tihamér\\Asztal\\SERVER\\gamemodes\\Fa$t.pwn(1027) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
4 Errors.
-
Mondjuk, hogyha tudnánk, hogy melyik sor a hibás...
Ezt írd bele:
new file[64];
-
És ez meg a nevet nem váltsa át...
-
new string[128];
new file[128];
-
Valaki lécci adjon egy jo /changename parancsot!
-
Sziasztok!
az a baj hogy /changename-vel a nevet át tudom váltani csak sehoova nem menti el és ugy kellene hogy pont pénz minden megmaradjon csak a név legyen más
CMD:changename(playerid,params[])
{
new ujnev[24];
if(sscanf(params,\"s[24]\",ujnev)) return SendClientMessage(playerid,0xff0000ff,\"Használat: /changename (újnév)\");
new str[128],name[24];
GetPlayerName(playerid,name,24);
format(str,128,\"{04BB00}%s {036f00}megváltoztatta a nevét erre: {04BB00}%s\",name,ujnev);
SendClientMessageToAll(0x036f00ff,str);
format(str,128,\"Új neved: {04BB00}%s!\",ujnev);
SendClientMessage(playerid,0x036f00ff,str);
SetPlayerName(playerid,ujnev);
return 1;
}
scriptfiles\\ladmin\\users be mentse el az uj nevet!
-
És a régit törölje?
-
a-a
-
#include <a_samp>
#include <dini>
#include <zcmd>
#include <sscanf2>
new ujneve[60];
CMD:changename(playerid,params[])
{
new ujnev[24];
if(sscanf(params,\"s[24]\",ujnev)) return SendClientMessage(playerid,0xff0000ff,\"Használat: /changename (újnév)\");
new str[128],name[24];
GetPlayerName(playerid,name,24);
format(str,128,\"{04BB00}%s {036f00}megváltoztatta a nevét erre: {04BB00}%s\",name,ujnev);
SendClientMessageToAll(0x036f00ff,str);
format(str,128,\"Új neved: {04BB00}%s!\",ujnev);
SendClientMessage(playerid,0x036f00ff,str);
SetPlayerName(playerid,ujnev);
format(ujneve, sizeof(ujneve), \"/ladmin/%s.ini\", ujnev); // Megformázzuk a szöveget
if(!dini_Exists(ujneve)) //Ha nem letézik a fájl, akkor létrehozza
{
dini_Create(ujneve);// Fájl létrehozása
dini_Set(ujneve, \"Új neve:\", ujnev);// Beleírunk egy \'Integer\' tipusú értéket
}
return 1;
}
Beteg vagyok szóval bocsi ha rossz ne haragudj.
-
Bocsi hogy beleszólok, de csak jót akarok vele elérni. :)
dini_Set(ujneve, \"Új neve:\", ujnev);// Beleírunk egy \'Integer\' tipusú értéket
Itt nem \'Integer\' hanem \'String\' típus, azaz szöveg típus értékként mentünk.
Az Integer számot jelöl, abból is az egész számokat (1,3,4,563,765) .
Ezt csak azért írtam le, hogy a késõbbiek során ha komolyabban veszed a programozást, akkor ilyen apró hibák miatt ne keverd össze a dolgokat. ;)
-
Bocsi hogy beleszólok, de csak jót akarok vele elérni. :)
dini_Set(ujneve, \"Új neve:\", ujnev);// Beleírunk egy \'Integer\' tipusú értéket
Itt nem \'Integer\' hanem \'String\' típus, azaz szöveg típus értékként mentünk.
Az Integer számot jelöl, abból is az egész számokat (1,3,4,563,765) .
Ezt csak azért írtam le, hogy a késõbbiek során ha komolyabban veszed a programozást, akkor ilyen apró hibák miatt ne keverd össze a dolgokat. ;)
[/quote]
Köszi a tanácsot. Gondoltam, hogy azzal gond van. Mivel a dinibe még csak integert mentettem innen néztem Link
-
nem jo :(
mert igy csinalja
Új neve:=Fast_Furious
ennyi a sor
és ennyi kell legyen
password_hash=76546559
ip=89.165.166.211
registered=1
RegisteredDate=16/4/2012
loggedin=0
banned=0
level=0
LastOn=16.4.2012
money=100
kills=0
deaths=0
hours=0
minutes=0
seconds=25
x1=-1917
y1=288
z1=41
interior1=0
weap1=24
weap1ammo=10000
weap2=0
weap2ammo=0
weap3=32
weap3ammo=10000
weap4=30
weap4ammo=10000
weap5=0
weap5ammo=0
weap6=0
weap6ammo=0
health=100
armour=0
TimesOnServer=1
ez a ladmin ba a parancsa csak ugy akarom hogy playerek is magának tudják átválatani
dcmd_setname(playerid,params[]) {
if(PlayerInfo[playerid][Level] >= 3 || IsPlayerAdmin(playerid)) {
new tmp[256], tmp2[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
if(!strlen(tmp) || !strlen(tmp2)) return SendClientMessage(playerid, red, \"Használat: /setname [playerid] [új név]\");
new player1 = strval(tmp), length = strlen(tmp2), string[128];
if(length < 3 || length > MAX_PLAYER_NAME) return SendClientMessage(playerid,red,\"Hiba: rosz név nagyság\");
if(PlayerInfo[player1][Level] == ServerInfo[MaxAdminLevel] && PlayerInfo[playerid][Level] != ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid,red,\"HIBA: Ezt a parancsot te nem használhatod magasabb szintû admin ellen\");
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID) {
format(string, sizeof(string), \"Te átállítotatd \\\"%s\'s\\\" -nak/nek a nevét \\\"%s\\\"-re\", pName(player1), tmp2); SendClientMessage(playerid,blue,string);
if(player1 != playerid) { format(string,sizeof(string),\"Adminisztrátor \\\"%s\\\" átállította a neved \\\"%s\\\"-re \", pName(playerid), tmp2); SendClientMessage(player1,blue,string); }
SetPlayerName(player1, tmp2);
return OnPlayerConnect(player1);
} else return SendClientMessage(playerid,red,\"HIBA: Ilyen játékos nem létezik\");
} else return SendClientMessage(playerid,red,\"HIBA: Ehez a parancshoz legalább 3-as szintû adminnak kéne lenned!\");
}
-
A mentést is bele kell írni.. ladminba nem tudom hogy van, de talán van egy SavePlayer függvény, ami menti a játékos adatait.
Ezt kell hozzá adni a parancshoz, + azt hogy a régi fájlt törölje.
-
Nem értem
-
dcmd_nevvaltas(playerid, params[])
{
new name[MAX_PLAYER_NAME], newname[16];
GetPlayerName(playerid, name, sizeof(name));
if(sscanf(params,\"s\", newname)) return SendClientMessage(playerid, 0xF60000AA, \"HASZNALAT: /nevvalatas [új név]\");
if(dini_Exists(newname)) return SendClientMessage(playerid, COLOUR_RED, \"Ez A Név Már Foglalt!\");
if(strlen(params) >= 3)
{
format(file, sizeof(file), \"users/%s.txt\", name);
dini_Set(file, \"%s.txt\", newname);
SendClientMessage(playerid, COLOUR_GREEN, \"Név Átírás Sikeres!\");
}
else
{
SendClientMessage(playerid, COLOUR_YELLOW, \"A választott név túl rövid,válassz másikat!\");
}
return 1;
}
Nem tudom,hogy segítek-e ezzel,de nálam így van próbáld meg vagy hátha ezt könnyebben tudod alakítani a Te kedved szerûen....
-
C:\\Documents and Settings\\Tihamér\\Asztal\\SERVER\\pawno\\include\\Dini.inc(477) : warning 219: local variable \"string\" shadows a variable at a preceding level
C:\\Documents and Settings\\Tihamér\\Asztal\\SERVER\\gamemodes\\Fa$t.pwn(1027) : error 017: undefined symbol \"file\"
C:\\Documents and Settings\\Tihamér\\Asztal\\SERVER\\gamemodes\\Fa$t.pwn(1027) : error 017: undefined symbol \"file\"
C:\\Documents and Settings\\Tihamér\\Asztal\\SERVER\\gamemodes\\Fa$t.pwn(1027) : error 029: invalid expression, assumed zero
C:\\Documents and Settings\\Tihamér\\Asztal\\SERVER\\gamemodes\\Fa$t.pwn(1027) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
4 Errors.
-
Mondjuk, hogyha tudnánk, hogy melyik sor a hibás...
Ezt írd bele:
new file[64];
-
És ez meg a nevet nem váltsa át...
-
new string[128];
new file[128];
-
Valaki lécci adjon egy jo /changename parancsot!