Geht jetzt, vielen Dank !
/closed
Geht jetzt, vielen Dank !
/closed
Guten Abend, ich habe einen Fehler in meinem Compiler:
C:\Users\User\Desktop\GTA SA Server\Deathmatch\gamemodes\NVDeathmatch.pwn(863) : error 047: array sizes do not match, or destination array is too small
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
Stock aus dem Script:
stock LoadAccount(playerid)
{
new spieler[100];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(spieler,sizeof(spieler),"/DMAccounts/%s.txt",name);
if(dini_Exists(spieler))
{
sSpieler[playerid][Level] = dini_Int(spieler,"Level");
sSpieler[playerid][ALevel] = dini_Int(spieler,"Adminlevel");
sSpieler[playerid][Geld] = dini_Int(spieler,"Geld");
sSpieler[playerid][Team] = dini_Get(spieler,"Team"); <- Zeile 863
GivePlayerMoney(playerid,-GetPlayerMoney(playerid));
GivePlayerMoney(playerid,sSpieler[playerid][Geld]);
SetPlayerScore(playerid,sSpieler[playerid][Level]);
SpawnPlayer(playerid);
return 1;
}
return 1;
}
Alles anzeigen
Bin nicht drauf gekommen was falsch sein könnte Danke schonmal im Voraus!
Passt jetzt alles, danke (y) Und danke für den Typ, wusste ich garnicht
Hab ich schon gemacht, funktioniert nicht.. Ich benutze ja nichtmal globale Variablen mit dem Namen, weil ich für jeden Command neue Variablen mache und sie immer "id" und "name" nenne.. Aber wenn ich den kompletten command rauslösch, funkt wieder alles.. Komisch
Hey zusammen,
wollte grad einen /setmoney Befehl erstellen, den nur Admins ab lvl 3 Ausführen können Klappt aber nicht ganz:
Hier der befehl (DCMD):
dcmd_setmoney(playerid, params[]);
{
if(IsPlayerAdminlevel(playerid,3)
{
new id, amount;
if(sscanf(params,"ud",id,amount)) return SendClientMessage(playerid,WEISS,"/setmoney [ID] [Betrag]");
new str[128], str2[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(id,name,sizeof(name));
format(str,sizeof(str),"A: Du hast das Geld des Spielers %s auf %d$ gesetzt!",name,amount);
format(str2,sizeof(str2),"A: Dein Geld wurde auf %d$ gesetzt!,amount);
SendClientMessage(playerid,HELLROT,str);
SendClientMessage(id,HELLROT,str2);
ResetPlayerMoney(id);
GivePlayerMoney(id,amount);
return 1;
}
else
{
SendClientMessage(playerid,HELLROT,"A: Du bist nicht befugt!");
return 1;
}
}
Alles anzeigen
Der IsPlayerAdminlevel stock:
stock IsPlayerAdminlevel(playerid, level)
{
if(sSpieler[playerid][Adminlevel] >= level) return 1;
return 0;
}
Das Enum + sSpieler-Variable:
enum Accountdaten
{
Level,
EXP,
Upgradepunkte,
Adminlevel,
Fraktion,
Rang,
Beruf,
Skill,
Skin,
Bargeld,
Bank,
};
new sSpieler[MAX_PLAYER][Accountdaten];
Alles anzeigen
Nun die Errors:
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(880) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1041) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1046) : warning 219: local variable "str" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1105) : error 004: function "dcmd_setmoney" is not implemented
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1120) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1121) : warning 219: local variable "str" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1147) : warning 219: local variable "id" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1147) : warning 219: local variable "str" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1188) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1193) : warning 219: local variable "id" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1193) : warning 219: local variable "str" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1219) : warning 219: local variable "id" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1220) : warning 219: local variable "str" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1221) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1244) : warning 219: local variable "id" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1246) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1251) : warning 219: local variable "str" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1251) : warning 219: local variable "str2" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1274) : warning 219: local variable "id" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1276) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1281) : warning 219: local variable "str" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1281) : warning 219: local variable "str2" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1297) : error 055: start of function body without function header
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1298) : error 010: invalid function or declaration
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1301) : error 010: invalid function or declaration
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1304) : error 021: symbol already defined: "GetPlayerName"
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1311) : error 010: invalid function or declaration
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1313) : error 010: invalid function or declaration
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1316) : error 010: invalid function or declaration
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1347) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1352) : warning 219: local variable "id" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1353) : warning 219: local variable "str" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1379) : warning 219: local variable "id" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1380) : warning 219: local variable "str" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1382) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1406) : warning 219: local variable "id" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1407) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1416) : warning 219: local variable "str" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1433) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1472) : warning 219: local variable "id" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1472) : warning 219: local variable "amount" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1473) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1474) : warning 219: local variable "str" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1474) : warning 219: local variable "str2" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1689) : warning 219: local variable "str" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1693) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1727) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1742) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1915) : warning 219: local variable "id" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1945) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(2031) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(2043) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(2062) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(2086) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(2145) : warning 203: symbol is never used: "amount"
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(2145) : warning 203: symbol is never used: "id"
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(2145) : warning 203: symbol is never used: "name"
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(2145) : warning 203: symbol is never used: "str"
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(2145) : warning 203: symbol is never used: "str2"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
8 Errors.
Alles anzeigen
Würde mich über schnelle Hilfe freuen, danke schonmal im Voraus!
Jetzt funktioniert es einwandfrei! Nochmal vielen Dank!
Ja, richtig verstanden Doch wenn ich jetzt kein Rcon-Admin bin, jedoch Level 4 admin, kann ich den Befehl trz nicht verwenden.
Und wenn ich kein Rcon-Admin bin, jedoch level 4 Admin, geht es auch nicht..
Ich schätze das liegt an daran, dass die Bedingung Rcon-Admin zu sein ( if(!IsPlayerAdmin(playerid)) ) mit der bedingung level 4 Admin zu sein ( dini_Int(Spieler,"Adminlevel") < 4) ) zusammenhängt..
Ich würde sagen, es passt aber auch so, bevor ich noch mehr eurer Zeit raube
Auf jeden Fall bedanke ich mich recht herzlich bei euch!
So war das nicht gemeint Ich meinte, dass ich den Command sowohl nur als Serverleiter (Level 4 Admin) , nur als Rcon-Admin als auch als Serverleiter und Rcon-Admin zusammen nutzen kann , also so, wie ich es am Anfang in den Thread gepostet habe Tut mir leid, dass es grad so kompliziert ist
Jetzt ist der Error draußen, aber Jetzt kann ich als Admin Level 0, 1, 2, 3 mein Level ändern, aber wenn ich Level 4 bin nicht mehr..
//Edit: Allein als Rcon admin funktioniert, sry
Ok, habe noch in Zeile 3 "SName" zu "Sname" geändert, doch jetzt kommen die Fehlercodes:
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1132) : error 001: expected token: "-string end-", but found "-identifier-" // if(dini_Int(Spieler2, "Adminlevel" > alevel))
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1141) : error 001: expected token: "-string end-", but found "-identifier-" //else if(dini_Int(Spieler2, "Adminlevel" < alevel))
C:\Users\Simon\Desktop\GTA SA Server\gamemodes\NVRoleplay.pwn(1150) : error 001: expected token: "-string end-", but found "-identifier-" //else if(dini_Int(Spieler2, "Adminlevel" == alevel))
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
3 Errors.
Guten Abend zusammen
Ich bin noch sehr am Anfang und wollte einen Befehl erstellen, mit dem man als Rcon-Admin oder Serverleiter (Adminlevel 4) das Aminlevel eines Spielers ändern kann. Compile-Errors hab ich keine.
Sowie ich /setadminlevel 0 (Meine ID) 4 auf meinem Localhost eingebe, passiert das im Chat:
Hier der Befehl im Script:
dcmd_setadminlevel(playerid, params[])
{
new spieler[100];
new spieler2[100];
new name[MAX_PLAYER_NAME];
new name2[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(spieler,sizeof(spieler),"/Accounts/%s.txt",name);
if(IsPlayerAdmin(playerid))
{
new id, alevel;
new str[128];
new str2[128];
new str3[128];
if(sscanf(params,"uu",id,alevel)) return SendClientMessage(playerid,WEISS,"/setadminlevel [ID] [0-4]");
GetPlayerName(id,name2,sizeof(name2));
format(str,sizeof(str),"A: %s ist nun ein level %d Admin!",name2,alevel);
format(str2,sizeof(str2),"A: Du wurdest zu einem level %d Admin befördert!",alevel);
format(str3,sizeof(str3),"A: Du wurdest zu einem level %d Admin degradiert!",alevel);
format(spieler2,sizeof(spieler2),"/Accounts/%s.txt",name2);
dini_IntSet(spieler2,"Adminlevel",alevel);
if(dini_Int(spieler2,"Adminlevel") > alevel)
SendClientMessage(playerid,HELLROT,str);
{
SendClientMessage(id,HELLROT,str3);
}
if(dini_Int(spieler2,"Adminlevel") < alevel)
{
SendClientMessage(id,HELLROT,str2);
}
if(dini_Int(spieler2,"Adminlevel") == alevel)
{
SendClientMessage(playerid,HELLROT,"A: Dieser Spieler hat bereits dieses Adminlevel!");
return 1;
}
return 1;
}
if(dini_Int(spieler,"Adminlevel") == 4)
{
new id, alevel;
new str[128];
new str2[128];
new str3[128];
if(sscanf(params,"uu",id,alevel)) return SendClientMessage(playerid,WEISS,"/setadminlevel [ID] [0-4]");
GetPlayerName(id,name2,sizeof(name2));
format(str,sizeof(str),"A: %s ist nun ein level %d Admin!",name2,alevel);
format(str2,sizeof(str2),"A: Du wurdest zu einem level %d Admin befördert!",alevel);
format(str3,sizeof(str3),"A: Du wurdest zu einem level %d Admin degradiert!",alevel);
format(spieler2,sizeof(spieler2),"/Accounts/%s.txt",name2);
dini_IntSet(spieler2,"Adminlevel",alevel);
if(dini_Int(spieler2,"Adminlevel") > alevel)
SendClientMessage(playerid,HELLROT,str);
{
SendClientMessage(id,HELLROT,str3);
}
if(dini_Int(spieler2,"Adminlevel") < alevel)
{
SendClientMessage(id,HELLROT,str2);
}
if(dini_Int(spieler2,"Adminlevel") == alevel)
{
SendClientMessage(playerid,HELLROT,"A: Dieser Spieler hat bereits dieses Adminlevel!");
return 1;
}
return 1;
}
else
{
SendClientMessage(playerid,HELLROT,"A: Du bist nicht befugt!");
return 1;
}
}
Danke schonmal im Voraus