definitiv nicht wahr
Is a gut auf alle string worauf der user einfluss hat
definitiv nicht wahr
Is a gut auf alle string worauf der user einfluss hat
STRG + F eingeben: mysql_query;
und dann nach irgendwelchen ungewöhnlichen Dingen...
geht auch direkt mit mysql_format mit dem parameter %e man escaped auch nur bei SELECT querys
//edit
Beim Streamerplugin verändert man das Limit der eingestreamten Objekte mit
Streamer_VisibleItems(STREAMER_TYPE_OBJECT,jeweilige Zahl);
maximal sind jedoch nur 1000 Möglich da ist ja auch logisch per CreatePlayerObject sind auch nur 1000 Möglich für den spieler
Sieht sehr gut aus nur im video werden spät die Objekte eingestreamt daher sieht das etwas komisch aus , jedoch ist dies sehr merkwürdig
beim streamer plugin da du standart mäßig 500 objekte streamen kannst. Setzt es halt höher das limit ^^.
so oder
stock mysql_CheckMoney()
{
new Query[128];
format(Query, sizeof(Query), "SELECT SUM(Bankgeld) as Konto FROM `accounts`");
mysql_query(Query);
mysql_store_result();
new money = mysql_fetch_int();
mysql_free_result();
return money;
}
stock mysql_CheckMoney()
{
new Query[128],money[20];
format(Query, sizeof(Query), "SELECT SUM(Bankgeld) as Konto FROM `accounts`");
mysql_query(Query);
mysql_store_result();
mysql_get_field("Konto",money);
mysql_free_result();
return strval(money);
}
ich geh auf jedenfall eher davon aus das die zweite version gehen sollte kannst jedoch die obere auch mal testen.
normal arbeitet man mit hier Konto weiter dies ist nur ein name wovon man dies auslsen kann daher nicht als spalte verwenden.
Die crashinfo bringt den meisten so gut wie nix daher compile dein skript im debug modus
erstelle eine pawn.cfg mit dem inhalt -d3 -r in deinem pawno ordner
danach kompile sein skript neu weil nun werden die fehler in der server.log angezeigt mit entsprechender zeile.
zu dem bei mir habe ich vergessen die eine Klammer raus zu nehmen
if(strcmp(cmd, "/f", true) == 0 || strcmp(cmd, "/family", true) == 0){
if(PlayerInfo[playerid][pGangJailed] == 1)return SendClientMessage(playerid, Hellrosa, "Du kannst nichts in den Familiemchat schreiben, da du entführt wurdest!");
if(PlayerTied[playerid] == 1)return SendClientMessage(playerid, Hellrosa, "Du kannst nichts in den Familiemchat schreiben, da du entführt wurdest!");
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
for(; idx < length; idx++)if(cmdtext[idx] <= ' ')break;
new offset = idx, result[64],string[128];
for(; (idx < length) && ((idx - offset) < (sizeof(result) - 1)); idx++)result[idx - offset] = cmdtext[idx];
result[idx - offset] = EOS;
if(!strlen(result))return SendClientMessage(playerid, COLOR_GRAD2, "Benutze: (/f)[Family]");
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1){
if(PlayerInfo[playerid][pRank] == 0) format(string,sizeof(string),"**PolizeiAzubi** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 1)format(string,sizeof(string),"**Polizeimeisteranwärter** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 2)format(string,sizeof(string),"**Polizeimeister** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 3)format(string,sizeof(string),"**Polizeihauptmeister** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 4)format(string,sizeof(string),"**Polizeioberhauptmeister** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 5)format(string,sizeof(string),"**Polizeichef** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 6)format(string,sizeof(string),"**Polizeidirektor** %s: %s",sendername,result);
else format(string, sizeof(string), "** Kadett %s: %s, over. **", sendername, result);
for(new i=0; i< MAX_PLAYERS; ++i)if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)SendClientMessage(i, Farbe_Turkis, string);
printf("%s", string);
return 1;
}else if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3){
if(PlayerInfo[playerid][pRank] == 6) format(string, sizeof(string), "**Hauptmann** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 5) format(string, sizeof(string), "**ObersterFeldwebel %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 4) format(string, sizeof(string), "**Feldwebel** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 3) format(string, sizeof(string), "**Soldat** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 2) format(string, sizeof(string), "**Auszubildener** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 1) format(string, sizeof(string), "**Rekrut** %s: %s",sendername,result);
else format(string, sizeof(string), "** Intern %s: %s, over. **", sendername, result);
for(new i=0; i< MAX_PLAYERS; ++i)if(PlayerInfo[i][pMember] == 3 || PlayerInfo[i][pLeader] == 3)SendClientMessage(i, Farbe_Turkis, string);
}else return SendClientMessage(playerid, COLOR_GRAD2, " Du bist in keinem befugten Team!");
return 1;
}
so wäre dies richtig
jedoch verwendest du
SendFamilyMessage(family, color, string[])
falsch
new Frak;
SendFamilyMessage(Frak, Farbe_Turkis, string);
Frak hat den wert 0 du musst dort die Variabel einfügen wo die Fraktion gespeichert ist vom Spieler
new Frak =(PlayerInof[playerid][pMember] == 0) ? (PlayerInof[playerid][pLeader]):(PlayerInof[playerid][pMember]);
Biz = bussiness
sBiz = special bussiness
es gibt daher zwei bussinesse Arten die einen kann man sogar betreten also die wo in der bizz.cfg stehen und die anderen sind Bussinesse kann man nicht betreten .
Ob die annahme stimmt darüber kann man sich streiten jedoch bedeutet biz aufjedenfall bussiness beziehungsweise es ist ein kürzel dafür
Nun sollte man nur noch wissen was der grund ist.
Ein Glaskugel habe ich leider auch nicht , die mir dein Problem mit teilt
Alles anzeigenHallo ich versuche die ganze Zeit zu fixxen
also es ist so: wenn ich z.b Frakid 1 bin und ich z.b /f hallo eingebe spammt das rumm und als zivi wird das auch angezeigt
also auch die anderen Fraktionen sehen das
Code:
if(strcmp(cmd, "/f", true) == 0 || strcmp(cmd, "/family", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pGangJailed] == 1)
{
SendClientMessage(playerid, Hellrosa, "Du kannst nichts in den Familiemchat schreiben, da du entführt wurdest!");
return 1;
}
if(PlayerTied[playerid] == 1)
{
SendClientMessage(playerid, Hellrosa, "Du kannst nichts in den Familiemchat schreiben, da du entführt wurdest!");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: (/f)[Family]");
return 1;
}
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
if(PlayerInfo[playerid][pRank] == 0) { format(string,sizeof(string),"**PolizeiAzubi** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 1) { format(string,sizeof(string),"**Polizeimeisteranwärter** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 2) { format(string,sizeof(string),"**Polizeimeister** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 3) { format(string,sizeof(string),"**Polizeihauptmeister** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 4) { format(string,sizeof(string),"**Polizeioberhauptmeister** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 5) { format(string,sizeof(string),"**Polizeichef** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 6) { format(string,sizeof(string),"**Polizeidirektor** %s: %s",sendername,result); }
else
{
format(string, sizeof(string), "** Kadett %s: %s, over. **", sendername, result);
}
for(new i=0; i<getmaxplayers(); i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
new Frak;
SendFamilyMessage(Frak, Farbe_Turkis, string);
}
}
}
printf("%s", string);
return 1;
}
else if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
{
if(PlayerInfo[playerid][pRank] == 6) { format(string, sizeof(string), "**Hauptmann** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 5) { format(string, sizeof(string), "**ObersterFeldwebel %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 4) { format(string, sizeof(string), "**Feldwebel** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 3) { format(string, sizeof(string), "**Soldat** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 2) { format(string, sizeof(string), "**Auszubildener** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 1) { format(string, sizeof(string), "**Rekrut** %s: %s",sendername,result); }
else
{
format(string, sizeof(string), "** Intern %s: %s, over. **", sendername, result);
}
for(new i=0; i<getmaxplayers(); i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 3 || PlayerInfo[i][pLeader] == 3)
{
new Frak;
SendFamilyMessage(Frak, Farbe_Turkis, string);
}
}
}
printf("%s", string);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, " Du bist in keinem befugten Team!");
return 1;
}
}
return 1;
}
Kann mir jemand helfen das wäre gut von euch
Mit freundlichen grüßen
Tyler
Alles anzeigenHallo ich versuche die ganze Zeit zu fixxen
also es ist so: wenn ich z.b Frakid 1 bin und ich z.b /f hallo eingebe spammt das rumm und als zivi wird das auch angezeigt
also auch die anderen Fraktionen sehen das
Code:
if(strcmp(cmd, "/f", true) == 0 || strcmp(cmd, "/family", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pGangJailed] == 1)
{
SendClientMessage(playerid, Hellrosa, "Du kannst nichts in den Familiemchat schreiben, da du entführt wurdest!");
return 1;
}
if(PlayerTied[playerid] == 1)
{
SendClientMessage(playerid, Hellrosa, "Du kannst nichts in den Familiemchat schreiben, da du entführt wurdest!");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: (/f)[Family]");
return 1;
}
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
if(PlayerInfo[playerid][pRank] == 0) { format(string,sizeof(string),"**PolizeiAzubi** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 1) { format(string,sizeof(string),"**Polizeimeisteranwärter** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 2) { format(string,sizeof(string),"**Polizeimeister** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 3) { format(string,sizeof(string),"**Polizeihauptmeister** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 4) { format(string,sizeof(string),"**Polizeioberhauptmeister** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 5) { format(string,sizeof(string),"**Polizeichef** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 6) { format(string,sizeof(string),"**Polizeidirektor** %s: %s",sendername,result); }
else
{
format(string, sizeof(string), "** Kadett %s: %s, over. **", sendername, result);
}
for(new i=0; i<getmaxplayers(); i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
new Frak;
SendFamilyMessage(Frak, Farbe_Turkis, string);
}
}
}
printf("%s", string);
return 1;
}
else if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
{
if(PlayerInfo[playerid][pRank] == 6) { format(string, sizeof(string), "**Hauptmann** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 5) { format(string, sizeof(string), "**ObersterFeldwebel %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 4) { format(string, sizeof(string), "**Feldwebel** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 3) { format(string, sizeof(string), "**Soldat** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 2) { format(string, sizeof(string), "**Auszubildener** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 1) { format(string, sizeof(string), "**Rekrut** %s: %s",sendername,result); }
else
{
format(string, sizeof(string), "** Intern %s: %s, over. **", sendername, result);
}
for(new i=0; i<getmaxplayers(); i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 3 || PlayerInfo[i][pLeader] == 3)
{
new Frak;
SendFamilyMessage(Frak, Farbe_Turkis, string);
}
}
}
printf("%s", string);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, " Du bist in keinem befugten Team!");
return 1;
}
}
return 1;
}
Kann mir jemand helfen das wäre gut von euch
Mit freundlichen grüßen
Tyler
Alles anzeigenHallo ich versuche die ganze Zeit zu fixxen
also es ist so: wenn ich z.b Frakid 1 bin und ich z.b /f hallo eingebe spammt das rumm und als zivi wird das auch angezeigt
also auch die anderen Fraktionen sehen das
Code:
if(strcmp(cmd, "/f", true) == 0 || strcmp(cmd, "/family", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pGangJailed] == 1)
{
SendClientMessage(playerid, Hellrosa, "Du kannst nichts in den Familiemchat schreiben, da du entführt wurdest!");
return 1;
}
if(PlayerTied[playerid] == 1)
{
SendClientMessage(playerid, Hellrosa, "Du kannst nichts in den Familiemchat schreiben, da du entführt wurdest!");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: (/f)[Family]");
return 1;
}
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
if(PlayerInfo[playerid][pRank] == 0) { format(string,sizeof(string),"**PolizeiAzubi** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 1) { format(string,sizeof(string),"**Polizeimeisteranwärter** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 2) { format(string,sizeof(string),"**Polizeimeister** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 3) { format(string,sizeof(string),"**Polizeihauptmeister** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 4) { format(string,sizeof(string),"**Polizeioberhauptmeister** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 5) { format(string,sizeof(string),"**Polizeichef** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 6) { format(string,sizeof(string),"**Polizeidirektor** %s: %s",sendername,result); }
else
{
format(string, sizeof(string), "** Kadett %s: %s, over. **", sendername, result);
}
for(new i=0; i<getmaxplayers(); i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
new Frak;
SendFamilyMessage(Frak, Farbe_Turkis, string);
}
}
}
printf("%s", string);
return 1;
}
else if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
{
if(PlayerInfo[playerid][pRank] == 6) { format(string, sizeof(string), "**Hauptmann** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 5) { format(string, sizeof(string), "**ObersterFeldwebel %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 4) { format(string, sizeof(string), "**Feldwebel** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 3) { format(string, sizeof(string), "**Soldat** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 2) { format(string, sizeof(string), "**Auszubildener** %s: %s",sendername,result); }
else if(PlayerInfo[playerid][pRank] == 1) { format(string, sizeof(string), "**Rekrut** %s: %s",sendername,result); }
else
{
format(string, sizeof(string), "** Intern %s: %s, over. **", sendername, result);
}
for(new i=0; i<getmaxplayers(); i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 3 || PlayerInfo[i][pLeader] == 3)
{
new Frak;
SendFamilyMessage(Frak, Farbe_Turkis, string);
}
}
}
printf("%s", string);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, " Du bist in keinem befugten Team!");
return 1;
}
}
return 1;
}
Kann mir jemand helfen das wäre gut von euch
Mit freundlichen grüßen
Tyler
hier bitte
if(strcmp(cmd, "/f", true) == 0 || strcmp(cmd, "/family", true) == 0){
if(PlayerInfo[playerid][pGangJailed] == 1)return SendClientMessage(playerid, Hellrosa, "Du kannst nichts in den Familiemchat schreiben, da du entführt wurdest!");
if(PlayerTied[playerid] == 1)return SendClientMessage(playerid, Hellrosa, "Du kannst nichts in den Familiemchat schreiben, da du entführt wurdest!");
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
for(; idx < length; idx++)if(cmdtext[idx] <= ' ')break;
new offset = idx, result[64],string[128];
for(; (idx < length) && ((idx - offset) < (sizeof(result) - 1)); idx++)result[idx - offset] = cmdtext[idx];
result[idx - offset] = EOS;
if(!strlen(result))return SendClientMessage(playerid, COLOR_GRAD2, "Benutze: (/f)[Family]");
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1){
if(PlayerInfo[playerid][pRank] == 0) format(string,sizeof(string),"**PolizeiAzubi** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 1)format(string,sizeof(string),"**Polizeimeisteranwärter** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 2)format(string,sizeof(string),"**Polizeimeister** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 3)format(string,sizeof(string),"**Polizeihauptmeister** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 4)format(string,sizeof(string),"**Polizeioberhauptmeister** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 5)format(string,sizeof(string),"**Polizeichef** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 6)format(string,sizeof(string),"**Polizeidirektor** %s: %s",sendername,result);
else format(string, sizeof(string), "** Kadett %s: %s, over. **", sendername, result);
for(new i=0; i< MAX_PLAYERS; ++i)if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)SendClientMessage(i, Farbe_Turkis, string);
printf("%s", string);
return 1;
}else if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3){
if(PlayerInfo[playerid][pRank] == 6) format(string, sizeof(string), "**Hauptmann** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 5) format(string, sizeof(string), "**ObersterFeldwebel %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 4) format(string, sizeof(string), "**Feldwebel** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 3) format(string, sizeof(string), "**Soldat** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 2) format(string, sizeof(string), "**Auszubildener** %s: %s",sendername,result);
else if(PlayerInfo[playerid][pRank] == 1) format(string, sizeof(string), "**Rekrut** %s: %s",sendername,result);
else format(string, sizeof(string), "** Intern %s: %s, over. **", sendername, result);
for(new i=0; i< MAX_PLAYERS; ++i)if(PlayerInfo[i][pMember] == 3 || PlayerInfo[i][pLeader] == 3)SendClientMessage(i, Farbe_Turkis, string);
}else return SendClientMessage(playerid, COLOR_GRAD2, " Du bist in keinem befugten Team!");
}
return 1;
}
hab das ganze mal ein wenig umgeschrieben dennoch zeig auch noch die deklarierung der Funktion SendFamilyMessage
doch du willst den grund eingeben und die spielerid also den string der an params[] weiter gegeben wird.
Daher ist dies sehr wohl deine antwort auf deine Frage.
dazu verwendet man sscanf oder strtok
wobei man sagen muss das sscanf besser ist mehr möglichkeiten bietet in der string splittung und schneller ist
hier der link zum plugin da das plugin mehr möglichkeit bietet als der normale sscanf code wo mal releast wurde von Y_Less
Alles anzeigenStimmt! Tatsache. Naja ich bin noch ziehmlich am Anfang und freue mich über jede Hilfe und vorallem über die Erklärung des Problems. Aber ich habe z. B. wieder so einen Fall wo ich ums verrecken den Fehler nicht finde.
if(strcmp("/stats",cmdtext,true, 10) == 0)
{
new string[128];
format(string,sizeof(string),"Name:%s\nLevel:%d\nMoney:%d\nPing:%d\nAdminlevel:%d",PlayerName,GetPlayerScore(playerid),GetPlayerMoney(playerid),GetPlayerPing(playerid),GetPVarInt(playerid,"Adminlevel"));
ShowPlayerDialog(playerid,STATS,DIALOG_STYLE_MSGBOX,"Deine Statistik",string,"OK","");
return 1;
}
Fehlercode:
C:\Users\Jonas\Documents\SAMP-Server\gamemodes\MeinServer.pwn(879) : error 076: syntax error in the expression, or invalid function call
Schau halt mal in den oberen code rein was du dort gemacht hast was beim unteren fehlt
Tipp: Es fehlt aufjedenfall was
format(string,sizeof(string),"Name:%s\nLevel:%d\nMoney:%d\nPing:%d\nAdminlevel:%d",...........
ich bezieh mich hier jetzt eher auf die .... das du das darauf folgende anschaust was die platzhalter in deinem string einnehmen an werte
Ah dankeschön. Und vorallem danke für die Erklärung.
Dennoch ist hier ein kleiner operator falsch gesetzt ich habs oben nochmal verbessert es muss gleich sein also gleich null ==
nicht alles außer 0 != das continue wird dazu benutzt sofort den momentanen wert zu überspringen also von 2 direkt dann gleich von vorne mit 3
hier bitte
if(!strcmp(cmdtext,"/admins", true)){
SendClientMessage(playerid,GELB,"------------------------Admins------------------------");
new i, string[64], adminname[30];
for(; i < MAX_PLAYERS; ++i){
if(GetPVarInt(i,"Adminlevel") == 0)continue;
switch(GetPVarInt(i,"Adminlevel")){
case 1:adminname="{00FF5A}Supporter";
case 2:adminname="{572B54}Moderator";
case 3:adminname="{858BBB}Super Moderator";
case 4:adminname="{0000FF}Admin";
case 5:adminname="{FF0000}Fulladmin";
}
format(string, 64, "%s {FFFFFF}%s",adminname,PlayerName(i));
SendClientMessage(playerid,0x00FF00FF,string);
}
return 1;
}
zu bedeutet ! = alles außer und es wird generel von dem wert 1 ausgegangen
daher bedeutet dies
if(!isPlayerAnAdmin(i,1)) alles außer eins dabei ist die eins auf den rückgabe wert bezogen
//edit
zu dem abzufragen bei der eingabe ob der spieler online ist macht keinen sinn . Wenn der spieler nicht online ist kann er keine commands eingegeben
dies macht doch sinn.
Im großen und ganzen gillt dies auch für die for-schleife das eine abfrage schon reicht
Also mit deinem vorher nacher vergleich wirst du keine Anhänger finden es zwar keine vorher nacher bilder vorhanden , jedoch geh ich mal aus das diee in dem Fall bestimmt besser aussehen . Am besten lässt du dir was neues dazu einfallen beispiel die Wüste verschönen oder ihrgend einen anderen grauen Landstrich
aufpeppen
Schau einfach mal hier rein
http://forum.sa-mp.com/showthread.php?t=27598
die include hat dies was du suchst am besten nimmst du die positionen und erstellst mit dem streamer plugin gebiete dann kannst du mit OnPlayerEnterDynamicArea arbeiten
Hab das ganze auch mal geschrieben
for(new i= 19; i != 0; --i){
if(i==19){
LastEinsatz[i][Einsatzid]= 0;
LastEinsatz[i][Inuse]= 0;
strdel(LastEinsatz[i][Beschreibung],0,256);
strdel(LastEinsatz[i][Stichwort],0,1024);
}else{
memcpy(LastEinsatz[(i+1)][Beschreibung], LastEinsatz[i][Beschreibung], strlen(LastEinsatz[(i+1)][Beschreibung]) * 4, 256 * 4, 1024);
memcpy(LastEinsatz[(i+1)][Stichwort], LastEinsatz[i][Stichwort], strlen(LastEinsatz[(i+1)][Stichwort]) * 4, 256 * 4, 1024);
LastEinsatz[(i+1)][Inuse]=1;
LastEinsatz[(i+1)][Einsatzid]= i;
LastEinsatz[i][Einsatzid]= 0;
LastEinsatz[i][Inuse]=0;
strdel(LastEinsatz[i][Beschreibung],0,1024);
strdel(LastEinsatz[i][Stichwort],0,256);
}
}
sollte vom code her schneller sein die version von RG
das ganze schiebt alles ein stück nach oben und memcpy ist bei großen strings schneller als strcat
Dank dir hab es geschafft hab aber noch das andere plugin von skrikkenkid oder so .. ist das schlimm?
Nein ist sogar besser als das R5 - R6 von BlueG