also so?
new punkte = sSpieler[playerid][SkillPunkte1]++;
sSpieler[playerid][SkillPunkte1] = punkte;
Beiträge von Alexus
-
-
ganz kurz nur. ich möchte eine variable (SkillPunkte1[MAX_PLAYERS]) um 1 addieren, um ein skillsystem zu erstellen. ich habe das wie folgt gemacht:
new punkte = sSpieler[playerid][SkillPunkte1]+1;
sSpieler[playerid][SkillPunkte1] = punkte;
doch das geht nicht.
wie stelle ich das an? -
leute, das ist wichtig! kann sich nich mal einer kurz ransetzen?
-
wie schon gesagt befindest du dich im falschen interior. geht zu beheben mit SetPlayerInterior.
-
würde mich auch interessieren.
-
hast du den neusten samp server für windows?
-
ersetz mal
PlayerMoney[giveplayerid] = PlayerMoney[giveplayerid] += 50000;
mit
PlayerMoney[giveplayerid] = GetPlayerMoney[giveplayerid] + 50000; -
-
goto im sinne von warp, oder zu einem player porten?
-
einfach das = rausnehmen. das hat keinen sinn. müsste dann eig klappen
-
schön das ich helfen konnte ;D
-
pls die zeilen poste, wo du die leute aus dem car schmeißt
-
du erstellst ganz oben eine neue variable
new wanteds[MAX_PLAYERS];
dann vergibst du im wantedbefehl oder bei onplayerdeath die wanteds mit:
wanteds[playerid] = 5 //5 ist nur beispiel, bei playerid muss natürlich der hin, der die wtds bekommt
SendClientMessage(playerid,GELB,"Aktuelles Wandetlevel: 5");
und dann der timer bei onegamemodeinit:
SetTimer("wantedabzug",300000,true);
dann noch bestimmen, was beim timer passiert:
forward wantedabzug();
public wantedabzug()
{
for(new i=0; i<MAX_VEHICLES; i++)
{
if(wanteds[i] >= 1)
{
new level;
level = wanteds[i]
wanteds[i] = level-1
SendClientMessage(i,GELB,"Dein Wantedlevel ist um 1 Wanted gesunken.");
}
}
return 1;
}müsste so eig gehen. wenn etwas falsch ist, bitte posten.
und wie du die wanteds dann speichert weißt du sicher selbst ;D -
doch, nur gibt es dort ja nur die playerid, von dem, der den dialog LIEST. wenn man auf ja drückt muss man aber dem VERKÄUFER das geld geben. wie kann ich das zwischenspeichern, wer der verkäufer war?
-
erstell eine dini datei, in der die wanteds gespeichet werden. dann stelltst du bei ingamemodeinit nen timer, der sich ständig wiederholt mit der zeitspanne, in der ein spieler einen wanted verlieren soll. in dem timer lässt du die wantedzahl auslesen und dezimierst sie um 1. pass aber auf, wenn der spieler 0 wtds hat, das er nicth weiter dezimiert. so ein aufbau sollte das ganze in etwa haben, du musst ja nicht unbedingt die wtds nehmen, die das spiel bietet, sondern eigene. das hat den vorteil , dass du mehr als 6 wtds haben kannst.
ich hoffe ich konnte helfen -
ich hätte auch interesse an einem solchen system
gibt es tutorials? -
sry, hab eben nochmal code geändert wegen der namensänderung
bitte den neuen nehmen -
/edit neuer code
so:
if(strcmp(cmdtext,"/Aduty",true)==0)
{
new str1[64], str2[64], name[MAX_PLAYER_NAME];
SendClientMessage(playerid,ADUTY,"Du bist nun im Admin-Duty");
GetPlayerName(pid,name,sizeof(name));
format(str1,sizeof(str1),"======Admin %s ist nun im Admin Dienst.======",name);
format(str2,sizeof(str2),"Admin %s",name);
SendClientMessageToAll(ADUTY,str);// Admin %s muss da noch stehen
SetPlayerColor(playerid,ADUTY);
SetPlayerName(playerid,str2);//Der eigentliche Spieler Name noch dazu
ShowPlayerMarkers(ADUTY);return 1;
}hab aber ka was du mit palyer markers bezwecken willst...
-
hi leute, ich habe auf meinem sampserver verschiedene objekte eingefügt. hierbei habe ich einen befehl (/blaulicht), bei dem auf dem wagendach solch ein blaulicht erscheint. dazu wird ja ein objekt erstellt. auch wenn ein admin duty geht (/aduty) bekommt er eine solche lampe auf den kopf.
scheinbar habe ich heute das maximale limit an objekten erreicht. soweit alles ok. ich hab nen objektstreamer eingebaut. doch die lichter gehen nicht mehr. wisst ihr woran das liegt oder wie man das beheben kann? -
so, ich hatte vor kurzer zeit bereits einen chat mit einer for new schleife gearbeitet. nach dem mehrmaligen eingeben von nachrichten ist dann der server gecrasht. heute habe ich einen /givemoney befehl mit adminwarnung gescriptet, und siehe da, der server geht wieder down -,- was mache ich falsch?!
hier der befehl:
//givemoney
dcmd_givemoney(playerid, params[])
{
new pid, betrag, grund;
if(sscanf(params,"uds",pid,betrag,grund))
{
return SendClientMessage(playerid,WHITE,"Verwendung: /givemoney [ID] [Betrag] [Grund]");
}
if(sSpieler[playerid][Adminlevel] >= 4)
{
if(pid == INVALID_PLAYER_ID)
{
return SendClientMessage(playerid,ROT,"Spieler wurde nicht gefunden!");
}
else
{
new string1[128], string2[128], string3[128], admin1[128], admin2[128];
new name1[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME];
GetPlayerName(pid,name1,sizeof(name1));
GetPlayerName(playerid,name2,sizeof(name2));
if(playerid == pid)
{
GivePlayerMoney(pid,betrag);
format(string3,sizeof(string3),"Du hast dir %d€ gegeben. Grund: %s",betrag,grund);
SendClientMessage(playerid,GELB,string3);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(sSpieler[i][Adminlevel] >= 1)
{
format(admin1,sizeof(admin1),"%s hat sich %d€ gecheatet. Grund: %s",name2,betrag,grund);
SendClientMessage(i,ADMINWARNUNG,admin1);
}
}
}
else
{
GivePlayerMoney(pid,betrag);
format(string1,sizeof(string1),"Du hast %s %d€ gegeben. Grund: %s",name1,betrag,grund);
format(string2,sizeof(string2),"%s hat dir %d€ gegeben. Grund: %s",name2,betrag,grund);
SendClientMessage(playerid,GELB,string1);
SendClientMessage(pid,GELB,string2);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(sSpieler[i][Adminlevel] >= 1)
{
format(admin2,sizeof(admin2),"%s hat %s %d€ gecheatet. Grund: %s",name2,name1,betrag,grund);
SendClientMessage(i,ADMINWARNUNG,admin2);
}
}
}
}
}
return 1;
}hilfe ist erwünscht^^
ist ein fehler im script? oder warum geht der server sonst down?/edit sry, is bissl verrutscht im pwn text