MySQL Plugin auch downloaden und die includes natürlich ersetzen und Script mit neuen Includes nochmal compilieren...
mfg. ![]()
MySQL Plugin auch downloaden und die includes natürlich ersetzen und Script mit neuen Includes nochmal compilieren...
mfg. ![]()
//Edit:
Also downloade dir folgende Plugins:
Incognito Streamer
sscanf Plugin
Audio Plugin
Whirepool Plugin / native
mfg. ![]()
Es funktioniert aber immernoch nicht, es steht ingame immer noch "Server unknow command".
Wäre cool, wenn du nochmal gucken könntest
Das Adminlevel muss größer gleich 2 sein ![]()
mfg. ![]()
Nun, einen Adminbefehl kannst du z.B. so machen:
static const a_rang2[][] = {"Supporter","Moderator","Super-Moderator","stelv. Projektleitung","Projektleiter"};
dcmd_makeadmin(playerid, params[])
{
if(!SpielerD[playerid][Adminlevel]) return SendClientMessage(playerid,ROT,"Du bist kein Admin und bist deshalb nicht befugt!");
new pID,level,string[144];
if(sscanf(params,"ud",pID,level)) return SendClientMessage(playerid,ROT,"Verwendung: /makeadmin [spielerid] [Adminlevel]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,ROT,"Ein Spieler mit dieser ID ist nicht online!");
format(string,144,"Du hast %s den adminrang %s gegeben!",getPlayerName(pID),a_rang2[level-2]);
SendClientMessage(playerid,BLAU,string);
format(string,144,"Du hast von %s den Adminrang %s bekommen!",getPlayerName(playerid),a_rang[level-2]);
SendClientMessage(pID,BLAU,string);
SpielerD[pID][Adminlevel] = level;
return 1;
}
mfg. ![]()
relativ gängig ist ja die Methode, eine Code folgendermaßen zu schreiben.
In deinem Beispiel kannst du auch einfach es so schreiben:
SendClientMessage(playerid,-1,input);
Da musst du das nicht nochmal in einen anderen String schreiben.
new index = strlen(input),string[input];
Das ist leider nicht möglich, da index kein Konstanter Wert ist und in Pawn nur konstante Werte in ein Array geschrieben werden können.
Deshalb ist sowas möglich:
#define MAX_ARRAY 100
new test[MAX_ARRAY];
//Aber auch folgendes:
const MAX_ARRAY = 100;
new test[MAX_ARRAY];
Du musst halt immer versuchen die optimale Länge zu finden, aber es gibt auch bestimmte Plugins die dir Memory access erlauben, z.B.:
http://gta-sa-mp.de/forum/3-sa…393-memory-access-plugin/
mfg. ![]()
Du kannst das auch so machen:
static const a_rang[][] = {"Supporter","Moderator","Super-Moderator","stelv. Projektleitung","Projektleiter"}; //Oben ins Script
dcmd_print(playerid, params[])
{
if(!params[0]) return SendClientMessage(playerid, ROT,"Verwendung: /print [nachricht]");
if(SpielerD[playerid][Adminlevel] < 2) return SendClientMessage(playerid,ROT,"Dein Adminlevel ist zu niedrig für diesen Befehl!");
new text[144];
format(text,sizeof text,"~n~~n~~n~~n~~n~~n~~B~%s: ~W~%s",a_rang[SpielerD[playerid][Adminlevel]-2],params);
return GameTextForAll(text, 2000, 5);
}
mfg. ![]()
Wo krieg ich das neue her
Da: https://github.com/samp-incogn…lugin/releases/tag/v2.7.1
Ersetze das Plugin und das Include damit ![]()
mfg. ![]()
Include file version (0x26104) does not match plugin version
Das bedeutet, dein Streamer Include ist veraltet, downloade dir das neue Include und füge es unter dem Pfad Pawno/Include/ ein ![]()
Danach das Script natürlich neu compilieren ![]()
mfg. ![]()
Außerdem würd er mir dann sagen das ich nen Syntax fehler hätte der aber nicht vorhanden ist
Ich weiß das man sowas machen kann, allerdings ist mir neu, dass das auch das Plugin für SA:MP verarbeitet...
Naja wie dem auch sei, ich hätte mir mal die Fehlermeldung durchlesen sollen, da steht es doch:
Lost connection to MySQL server during query.
Liegt der MySQL Server auf einem anderen Host?
Versuch den mal anzupingen, bevor du dein Query sendest ![]()
mfg. ![]()
hilfe!
Downloade dir mal dieses Plugin: http://forum.sa-mp.com/showthread.php?t=249226
Und zeig dann mal was im Log steht ![]()
mfg. ![]()
Leute beruhigt euch doch, falls der Code von Pille funktioniert, ist es doch auch gut
Der Code von Pille funktioniert schon...nur es kann evtl sein, dass der Code ziemlich LANGE brauch, bis er diesen einen random Spieler gefunden hat.
Sagen wir ein Spieler mit der ID 13 ist online...bis dieser Spieler allgemein gefunden ist, liegt die Wahrscheinlichkeit bei 1/500 stel..nun das ist nicht sehr hoch ![]()
Und solange der Spieler nicht gefunden ist, läuft die CPU auf 100% somit leggt extrem der Server ![]()
Aus diesem Grund, sollte man meinen Code verwenden, da es zu 100% gegeben ist, dass der Spieler sofort gefunden wird und es kommt zu keinen Leggs o.ä.
Spawn Thread
Kenne ich nicht, ich denke mal du meinst Spam Thread ![]()
mfg. ![]()
Weisst du jetzt zufällig noch wie ich es in einen PVar setzen kann?
Dann mach es so:
new n[MAX_PLAYER_NAME],buffer[64];
GetPlayerName(playerid,n,MAX_PLAYER_NAME);
format(buffer,64,"/Bedürfnisse/%s.txt",n);
SetPVarString(playerid,"HungerStatus",dini_Get(buffer, "Hunger"));
mfg. ![]()
Hab was vergessen, schreibs so:
new n[MAX_PLAYER_NAME],hunger1[32],buffer[64];
GetPlayerName(playerid,n,MAX_PLAYER_NAME);
format(buffer,64,"/Bedürfnisse/%s.txt",n);
strcat(hunger1,dini_Get(buffer, "Hunger"));
mfg. ![]()
Google doch mal nach Spaghetti Code ![]()
mfg. ![]()
Beavis!
Doch nicht goto verwenden ![]()
Das ist schlecht!
Schreibt es doch so:
new list [MAX_PLAYERS], x;
for(new i; i<MAX_PLAYERS; i++) {
if (IsPlayerConnected (i)) list[x]=i,x++;
}
printf("Der random Spieler ist ID: %d",list[random (strlen(list))]);
und wenn x = 0 ist, ist niemand auf dem Server ![]()
mfg. ![]()
//Edit: Verschrieben, war mit m Handy on.
[19:31:44] [MySQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!
Eventuell läuft gar nicht MySQL auf deinem Server?! ![]()
Server verbindet nicht mit Datenbank
Was für ein Fehler wird denn ausgegeben?
mfg. ![]()
Was ist daran falsch?
Mach das 0x weg und hinten die letzen beiden FF!
Also nur: {FEFEFE} und {000FFF}
mfg. ![]()
dini_Set(SpielerD,"Herkunft",GetPVarString(playerid,"Herkunft"));
Also, schreib es so:
new tmp[32];
GetPVarString(playerid,"Herkunft",tmp);
dini_Set(SpielerD,"Herkunft",tmp);
mfg. ![]()