Ne bleibt immer noch der Fehler
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Poste bitte die Fehler die du bekommst, und wie du FORUMNAME definiert hast.
-
#define FORUMNAME "Für euch noch nicht :D"
Zeile (15679) : Variable wurde falsch definiert (Float,Integer[...])
Zeile (15679) : Variable wurde falsch definiert (Float,Integer[...])0 Errors, 2 Warnungen
Kompilierung erfolgreichPWNMod Compiler Version 1.2
(c) Trooper[Y]
In Kooperation mit GTA-Servers.de -
Ist pBanGrund und pBanAdmin aus einem enum? Wenn ja, wie sieht das enum und das Array dazu aus?
-
Ich habe das in die SpielerInfo mit rein gepackt das schaut so aus
enum SpielerAcc
{
pAdminlevel,
pAdminduty,
pFraktion,
pFrakSperre,
ploggedin,
pVKID,
pCPCar,
pKopfgeld,
pBiggestFish,
pHitmanFind,
pHunger,
pMullTimer,
pAufbrechen,
pPanzerGlas,
pWeste,
pSkillZeit,
pJob,
pHausTier,
pHochsicherheit,
pKnast,
pHaftzeit,
pRespektpunkte,
pRespektpunkteBenotigt,
pGeld,
pWanted,
pGeradeEingeloggt,
pRang,
pProlog,
pBaned,
pZSPD,
pLeaderListe,
pGehalt,
pJobLohn,
BankPin,
StatsAnschau,
pAutowarn,
pWarns,
pAutoschein,
pBankPin,
pMotorradschein,
pLkwschein,
pBoot,
pBike,
pHelischein,
pFly,
pLKwarn,
pBikewarn,
pBank,
pTode,
pKills,
pSpielzeit,
pLeader,
pMember,
pPerso,
pDutySkin,
pNeu,
pRadio,
pTelefonBuch,
pDonator,
pNavi,
pGesellschaft,
pRucksack,
pVersicherung,
Float:pTotX,
Float:pTotY,
Float:pTotZ,
pTotW,
pTotI,
Float:AuslogPosX,
Float:AuslogPosY,
Float:AuslogPosZ,
Float:AuslogHeal,
pAuslogInt,
pAuslogWorld,
pSkin,
pWSchein,
pKampfstil,
pVerbrechen,
pAuslogDuty,
pPBDeath,
pPBKills,
pBiz,
pSucht,
pLottonummer,
pNummer,
pImHaus,
pJobSkill1,
pTeilbiz,
pSafe_Mats,
pSafe_Heroin,
pSafe_Marihuana,
pKnastzeitGesamt,
Haltestelle2,
Haltestelle,
pBanGrund, -< Hier
pBanAdmin, -< und Hier
pAuto1,
pAuto2,
pAuto3,
pAuto4,
pAuto5,
pIP[16]
} -
pBanGrund,
pBanAdmin,
zu:
pBanGrund[32],
pBanAdmin[MAX_PLAYER_NAME],Und dann:
new Banstring[512];
format(Banstring, sizeof(Banstring), "Ihr Spieler-Account wurde gesperrt!\n\nAufgrund eines Regelverstoßes wurde ihr Spieleraccount gesperrt!\nSollte dies ein Fehlban sein,");
format(Banstring, sizeof(Banstring), "%s schreiben Sie ein Entbannantrag im Forum "FORUMNAME"\nDie Daten des Bannes\nDauer: Immer\nGrund: %s\nVon: %s",Banstring,SpielerInfo[playerid][pBanGrund],SpielerInfo[playerid][pBanAdmin]);
ShowPlayerDialog(playerid,DIALOG_BANG,DIALOG_STYLE_MSGBOX,"Sie wurden Gesperrt",Banstring,"EXIT",""); -
Okay mache ich gleich und das kommt in das Dialog raus
//Edit ne die Fehler kommen immer noch
//Edit 2 Sorry habe das letzte übersehen es geht danke
//Edit 3 Es kommt das Dialog aber der Grund und von wem kommt nicht -
Wie speicherst du die Daten, beim Ban und beim Login, in die Variablen?
-
ocmd:ban(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,2))return SCM(playerid,TESTFARBE,"Du hast nicht die benötigten Rechte!");
{
new pID, reason[128],string[128], query[144];
if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,ROT,"{FFD200}Benutze:{FEFEFE}/Ban [ID] [Grund]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_RED,"Diese Spieler ist nicht online");
if(IsPlayerNPC(pID))return SendClientMessage(playerid,COLOR_RED,"Du kannst keinen Bot Bannen !");
format(string,sizeof(string),"[BANNED]: %s wurde von %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
SendClientMessageToAll(0x9B0000FF,string);
mysql_SetString("accounts", "pBanGrund", reason, "Name", SpielerName(playerid));
mysql_SetString("accounts", "pBanAdmin", SpielerName(pID), "Name", SpielerName(playerid));
format(string,sizeof(string),"~r~Du wurdest gebannt !~n~Grund: %s",reason);
GameTextForPlayer(pID, string, 30000, 4);
TogglePlayerControllable(pID,0);
GetPlayerName(pID, string, MAX_PLAYER_NAME); //Hinzugefügt
format(query,sizeof(query),"UPDATE accounts SET Baned=1 WHERE Name='%s'",pID);
mysql_query(query);
pInfo[pID][pBaned] = 1;
s_Kick(pID);
}
return 1;
} -
ocmd:ban(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,2))return SCM(playerid,TESTFARBE,"Du hast nicht die benötigten Rechte!");
{
new pID, reason[128],string[128], query[144];
if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,ROT,"{FFD200}Benutze:{FEFEFE}/Ban [ID] [Grund]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_RED,"Diese Spieler ist nicht online");
if(IsPlayerNPC(pID))return SendClientMessage(playerid,COLOR_RED,"Du kannst keinen Bot Bannen !");
format(string,sizeof(string),"[BANNED]: %s wurde von %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
SendClientMessageToAll(0x9B0000FF,string);
mysql_SetString("accounts", "pBanGrund", reason, "Name", SpielerName(pID));
mysql_SetString("accounts", "pBanAdmin", SpielerName(playerid), "Name", SpielerName(pID));
format(string,sizeof(string),"~r~Du wurdest gebannt !~n~Grund: %s",reason);
GameTextForPlayer(pID, string, 30000, 4);
TogglePlayerControllable(pID,0);
GetPlayerName(pID, string, MAX_PLAYER_NAME); //Hinzugefügt
format(query,sizeof(query),"UPDATE accounts SET Baned=1 WHERE Name='%s'",string);
mysql_query(query);
pInfo[pID][pBaned] = 1;
format(SpielerInfo[pID][pBanGrund], 32, reason);
format(SpielerInfo[pID][pBanAdmin], MAX_PLAYER_NAME, SpielerName(playerid));
s_Kick(pID);
}
return 1;
}Außerdem musst du das so auch beim Login des Users so in die Variablen eintragen lassen, bzw. dort wo geprüft wird, ob der Spieler gebannt wird, irgendwo vor der Nachricht, falls die nicht durch das s_Kick erzeugt wird.
-
Kann man machen das sich ein Object auf Tastendruck dreht? Also 360° mit z.b ein Heli auf dem Objekt und er sich mit dreht. Und zwar solange bis man die Taste wieder drückt?
-
Schau dir mal diesen Code hier an:
MoveObject 360° ?!Wenn du das mit OnPlayerKeyStateChange verbindest, dann kannst du das so machen.
-
Schau dir mal diesen Code hier an:
MoveObject 360° ?!Wenn du das mit OnPlayerKeyStateChange verbindest, dann kannst du das so machen.
Ok danke
-
Woran liegt es das wenn mehrere Leute auf dem Server sind, und Spieler A den Befehl ausführt Spieler B in die Luft geslappt wird und nicht Spieler A?
CMD:giftcreate(playerid, params[])
{
if(!CheckAdminName(playerid)) return SendClientMessage(playerid, RED, "{FF1717}ERROR:{FFFFFF} You have no acces to use this command.");
for(new i=1; i<MaxGifts; i++)
{
if(GiftBox[i][e_x] == 0.0 && GiftBox[i][e_y] == 0.0 && GiftBox[i][e_z] == 0.0)
{
//Daten werden übergeben
new Float:x, Float:y, Float:z, Float:a;
new pID;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
GiftBox[i][e_x] = x;
GiftBox[i][e_y] = y;
GiftBox[i][e_z] = z - 0.4;
GiftBox[i][e_a] = a;
GiftBox[i][e_oID] = CreateDynamicObject(19054,x, y, z+0.05 - 0.4, 0.0, 0.0,a);
GiftBox[i][e_label] = CreateDynamic3DTextLabel("/takegift",0x10F441AA,GiftBox[i][e_x], GiftBox[i][e_y], GiftBox[i][e_z]+0.25,8.0);
GetPlayerPos(pID, x,y,z);
SetPlayerPos(pID, x, y, z+2);
//Zuletzt wird die Datei angelegt und das Giftbox gespeichert.
new path[64];
format(path, sizeof(path), "/GiftBoxes/%d.ini", i);
dini_Create(path);
SaveGiftBoxCheck(i);
new string[100];
format(string, sizeof(string), "{00FFFF}Giftbox {FFFF00}(%i) {00FF00}created.",i);
return SendClientMessage(playerid,WHITE, string);
}
}
return SendClientMessage(playerid, WHITE, "{FF1717}ERROR:{FFFFFF} You reached the Limit of the GiftBoxes");
} -
Der Wert von pID ist 0.
Du liest die Koordinaten aus und stellst den Z-Wert 2 höher.Hastw wohl pID mit playerid verwechselt.
-
-
format(SpielerInfo[playerid][pBanGrund], 32, mysql_GetString("accounts", "pBanGrund", "Name", SpielerName(playerid)));
format(SpielerInfo[playerid][pBanAdmin], MAX_PLAYER_NAME, mysql_GetString("accounts", "pBanAdmin", "Name", SpielerName(playerid)));
Das müsste so aussehen. -
Hi Jeffry, habe mal eine kleine Frage. Habe ein Befehl womit man das Teleportieren mit der Waffe aktiviert und deaktiviert. Nur das Problem ist das dass Ganze anbleibt auch wenn der Spieler offline geht.
Dafür habe ich dann einfach einen Bool erstellt, doch es scheint nicht zu helfen.
Bool: new Teleportgun[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
Teleportgun[playerid] = 0;
}public OnPlayerDisconnect(playerid)
{
Teleportgun[playerid] = 0;
return 1;
}[hide]
CMD:teleportgun(playerid,params[])
{
new str[64];
{
if(Teleportgun[playerid] == 1)
{
format(str, sizeof(str), "Teleportgun {FF0000}disbaled{FFFFFF}.");
Teleportgun[playerid] = 0;
SendClientMessage(playerid, 0xFFFFFFFF, str);
}
else
{
format(str, sizeof(str), "Teleportgun {00FF00}enabled{FFFFFF}.");
Teleportgun[playerid] = 1;
SendClientMessage(playerid, 0xFFFFFFFF, str);
}
}
return 1;
}
[/hide] -
Setze mal einen Print in die beiden Callbacks und schaue, ob der Print im Server Log steht, wenn du den Server verlässt bzw betrittst.
-