Nabend,
hätte ggf. interesse kannst mich ja mal bei ICQ(575-561-273) oder skype -> skypemaggo adden.
Genügend Referenzen vorhanden.
Gruß
Nabend,
hätte ggf. interesse kannst mich ja mal bei ICQ(575-561-273) oder skype -> skypemaggo adden.
Genügend Referenzen vorhanden.
Gruß
Nice hat geklappt
Zeig mal deinen OnPlayerDeath Code, normal reichts da am Ende den Accounts zuspeichern.
Vergleich meins nochmal mit deinem hab das return 1; anders gesetzt.
du musst bei SendClientMessage das farbe natürlich auch mit deiner gewünschten Farbe austauschen.
Mfg
if (strcmp("/duty", cmdtext, true, 10) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 0, 255.2830, 77.1850, 1003.6406))
{
SetPlayerSkin(playerid, 280);
GivePlayerWeapon(playerid, 3, 1);
GivePlayerWeapon(playerid, 24, 10000);
GivePlayerWeapon(playerid, 41, 10000);
GivePlayerWeapon(playerid, 27, 10000);
}else SendClientMessage(playerid, farbe, "Du bist nicht in der Naehe des Pickups");
return 1;
}
Versuchs mal so.
Und ein Beispiel findest du hier ( 5 Sekunden SUFU benutzt )
[ FILTERSCRIPT ] Harndrang System 1.0 by Marco
Mach doch einfach mal eben nen command
und setz dich via setplayerpos(playerid, x,y,z); an den Punkt dann weißt dus doch
Aber dann muss ich doch trotzdem dauerhaft Abfragen ob updated 1 oder 0 ist, ist doch das gleiche in Grün oder nicht?
Vorgeschichte:
Wir wollen beispielsweise Online Überweisungen auf der Homepage ermöglichen. Bsp. X zahlt an Y 1000 aber wird ja erst beim nächsten Login *geupdated*. Dann hatte ich die Idee einfach LoadPlayer alle 10 Sekunden ausführen zulassen für eine aktuallisierung. Das ganze sieht ungefähr so aus:
Timer wird alle 10 Sekunden ausgeführt:
public ReloadTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
LoadPlayer(i);
}
}
}
LoadPlayer
stock LoadPlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]);
SetPlayerScore(playerid, SpielerInfo[playerid][pLevel]);
SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName]);
SetPlayerMoney(playerid, SpielerInfo[playerid][pGeld]);
SpielerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pTode] = mysql_GetInt("accounts", "Tode", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pAdminLevel] = mysql_GetInt("accounts", "AdminLevel", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pFraktion] = mysql_GetInt("accounts", "Fraktion", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pJob] = mysql_GetInt("accounts", "Job", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pBank] = mysql_GetInt("accounts", "Bank", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pBann] = mysql_GetInt("accounts", "Bann", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pWanteds] = mysql_GetInt("accounts", "Wanteds", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pSkin] = mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][pName]);
SetPlayerSkin(playerid, SpielerInfo[playerid][pSkin]);
SpielerInfo[playerid][pLeader] = mysql_GetInt("accounts", "Leader", "Name", SpielerInfo[playerid][pName]);
}
return 1;
}
Problem 1: Er updated trotzdem nicht sondern zeigt(getestet mit Geld) erst den neuen Wert nach einem Relog an.
Problem 2: Alle 10 Sekunden gibts nen kurzen lagg und Spieler bleibt stehen weil er ja aktuallisiert(was ja nicht wirklich geht..)
Gibts da irrgendne bessere Methode? Am besten ohne Laggs.
Mfg
Hey leute,
habe da mal ne Frage..
mein Invite Befehl sieht so aus:
ocmd:invite(playerid,params[])
{
new query[256];
new pID;
new Fraktion[12];
new Frakname[126];
if(SpielerInfo[playerid][pLeader] >= 0)
{
if(sscanf(params,"u", pID)) return SendClientMessage(playerid, Rot, "/invite [SpielerID]");
if(SpielerInfo[playerid][pLeader]==1) Frakname="Polizei";
if(SpielerInfo[playerid][pLeader]==2) Frakname="News Reporter";
if(SpielerInfo[playerid][pLeader]==3) Frakname="Groove Street";
if(SpielerInfo[playerid][pLeader]==4) Frakname="Ballas";
if(SpielerInfo[playerid][pLeader]==5) Frakname="La Cosa Nostra";
if(SpielerInfo[playerid][pLeader]==6) Frakname="Yakuza";
format(query, sizeof(query), "Der Spieler %s hat dich in die Fraktion %s eingeladen",SpielerName[playerid], Frakname);
SendClientMessage(playerid, Blau, query);
SendClientMessage(playerid, Blau, "Tippe /acceptinvite um die Einladung anzunehmen.");
Invited[pID] = 1;
format(query, sizeof(query), "Du hast %s in deine Fraktion eingeladen.", SpielerName[pID]);
SendClientMessage(playerid, Blau, query);
[pLeader],SpielerName[pID]);
}else SendClientMessage(playerid, Rot, "Du bist kein FraktionsLeiter!");
return 1;
}
mein /acceptinvite Befehl:
ocmd:acceptinvite(playerid,params[])
{
new query[256];
new pID;
new Fraktion[12];
if(Invited[playerid] == 1)
{
mysql_real_escape_string(Fraktion, Fraktion);
format(query, 128,"UPDATE accounts SET Fraktion = '%d' WHERE Name = '%s'",SpielerInfo[playerid][pLeader],XX);
mysql_query(query);
}else SendClientMessage(playerid, Blau, "Du wurdest in keine Fraktion eingeladen!");
return 1;
}
So meine frage ist jetzt, wie kann ich rausfinden welche Fraktion ihm zugewiesen wird? SpielerInfo[pID] geht ja nicht da es ja nichtmehr der gleiche Command ist? (acceptinvite befehl)
mfg
Ich hab zwar ganz ehrlich keine ahnung da ich selber Scriptanfänger bin aber probier doch mal
if(sscanf(params, "us[512]dd", ziel, waffe, ammu, geld))
->
if(sscanf(params, "us[512]ii", ziel, waffe, ammu, geld))
und warum definierst du das waffe nicht oben schon?
warum nimmst du so große bytes? 512 ist doch total unnötig.
Ini oder MySQL?
Bin mir zwar nicht sicher obs geht, aber ich würde einfach bei OnPlayerDeath mit IsPlayerInRangeOfPoint abfragen..
Edit: Guck dir vllt. auch mal http://wiki.sa-mp.com/wiki/GangZoneCreate an.
Also wenn ich mich nicht Irre gibt es keinen Unterschied zwischen Win und Linux.
Wenn das falsch sein sollte korrigiert mich bitte
Und mal so nebenbei so besonders ist go2nova nicht.(Man kann nicht gerade von Zukunft reden)
Wenn dies nicht erlaubt sein sollte bitte ich ein Mod das zu snippen
MfG TimBo
Es gibt Scripttechnisch ein paar Unterschiede zwischen Windows und Linux. Ich habe selber auch mal die Erfahrung gemacht das z.B. ein Code-Teil auf Windows problemlos lief, aber auf Linux an einer bestimmten Stelle gecrashed ist.
Gute Vorstellung, wünsche euch Viel Glück!
Ohne Testserver oder Screens kann man das schlecht beurteilen..
Es crasht ja genau an der Stelle, aber die Debug läd komplett alles durch ohne probleme, trotzdem crasht es.
Ich versteh einfach nicht wieso der Code auf Windows funktioniert - auf Linux nicht und trotzdem kein Fehler in der serverlog angezeigt wird.
Ja, aber so gesehen kann ich mit der Debug Funktion doch nicht die Lösung finden, weil scripttechnisch ist ja alles in Ordnung sonst würde ich auf dem Homeserver ja auch crashes bekommen oder nicht?
Danke, ich probiers mal eben aus.
Edit: Er gibt alle 7 Zahlen aus, scheint wohl nicht am Code zuliegen trotzdem crasht er genau an der Stelle, ich werd rausgeportet, es spawnt nichtmal das Fahrschulauto und nach ca. 10 Sekunden crasht der Server :x Komisch