Sorry, noch eine Frage^^
Wie viele Team hast du?
Müsste ich dafür wissen
Beiträge von KeksOfDeath
-
-
Der public heißt "OnPlayerPickUpPickup"
-
public IsATruck(carid)
{
for(new i; i<8; i++) {
if((truckscars[i]==carid)
{
return 1;
}}
return 0;
}
Die anderen einfach angleichen, natürlich die Zahlen so verändern, adss es so viele sind, wie du hast -
Um das richtig zu verstehen, treten mehrere Team gegeneinander an und wenn alle Teams weg sind (keiner ausm Team mehr am leben), dann soll das letzte, übrig gebliebene Team gewinnen?
Sonst bau ich dir jetzt gleich das falsche^^ -
Hätte eh nur bei einer Waffe funktioniert... hatte mal wieder was vergessen^^
So ist es ejtzt richtig udn es funktioniert (getestet von LiL)
//OnPlayerDeath:
new wid, muni, i, wids[]= { 331,333,334,335,336,337,338,339,341,321,322,323,324,325,326,342,343,344,0,0,0,346,347,348,349,350,351,352,353,355,356,372,357,358,359,360,361,362,363,364,365,366,367,368,369,371 }, Float:x, Float:y, Float:z, g;
GetPlayerPos(playerid,x,y,z);
for(; i<14; i++) {
GetPlayerWeaponData(playerid,i,wid,muni);
if(wid!=0) {
for(g=0; g<100; g++) {
if(wpickv[g]==0) {
wpickv[g]++;
wpick[g]=CreatePickup(wids[wid-1],2,x,y,z);
wpickmuni[g]=muni;
wpickwid[g]=wid;
g=100;
x++; }}}}
//OnPlayerPickupPickup:
for(new i=0; i<100; i++) {
if(pickupid==wpick[i] && wpickv[i]==1) {
DestroyPickup(wpick[i]);
GivePlayerWeapon(playerid,wpickwid[i],wpickmuni[i]);
wpickv[i]--;
i=100; }}
//ganz nach oben:
new wpick[100], wpickv[100], wpickwid[100], wpickmuni[100]; -
Oder anders:
if(GetPlayerMoney(playerid)>=500) {
So kann man nicht so oft vergessen, 1 abzuziehen^^ -
Du machst eine case Abfrage, mit einem "switch(...) {" eingeleitet
Und innerhalb dieses switches darf außerhalb der casese nix anderes stehen, außer case
Also Beispiel:
//falsch:
new i=2;
switch(i) {
case 2: { i++; }
else if(i==3) { i--; }
}
//richtig:
new i=2;
switch(i) {
case 2: { i++; }
case 3: { i--; }
}
//EDIT: So:
Spoiler anzeigen
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:current; //Pistolen/Sonstiges menu
current = GetPlayerMenu(playerid);
if(current == pistolmenu)
{
switch(row)
{
case 0:
{
GivePlayerWeapon(playerid, 22, 50); //USP
GivePlayerMoney(playerid, -500);
HideMenuForPlayer(pistolmenu, playerid);
TogglePlayerControllable(playerid, 1);
}
case 1:
{
GivePlayerWeapon(playerid, 24, 50); //Desert Eagle
GivePlayerMoney(playerid, -650);
HideMenuForPlayer(pistolmenu, playerid);
TogglePlayerControllable(playerid, 1);
}
case 2:
{
GivePlayerWeapon(playerid, 17, 2); //Rauchgranate
GivePlayerMoney(playerid, -200);
HideMenuForPlayer(pistolmenu, playerid);
TogglePlayerControllable(playerid, 1);
}
case 3:
{
GivePlayerWeapon(playerid, 16, 1); //HE-Granate
GivePlayerMoney(playerid, -700);
HideMenuForPlayer(pistolmenu, playerid);
TogglePlayerControllable(playerid, 1);
}
case 4:
{
GivePlayerWeapon(playerid, 44, 1); //Nachtsichtgerät
GivePlayerMoney(playerid, -1250);
HideMenuForPlayer(pistolmenu, playerid);
TogglePlayerControllable(playerid, 1);
}
case 5:
{
HideMenuForPlayer(pistolmenu, playerid); //Pistolen/Sonstiges Menu schließen
TogglePlayerControllable(playerid, 1);
}}}
else if(current == mpmenu)
{
switch(row)
{
case 0:
{
GivePlayerWeapon(playerid, 22, 50); //USP
GivePlayerMoney(playerid, -500);
HideMenuForPlayer(mpmenu, playerid);
TogglePlayerControllable(playerid, 1);
}
case 1:
{
GivePlayerWeapon(playerid, 24, 50); //Desert Eagle
GivePlayerMoney(playerid, -650);
HideMenuForPlayer(pistolmenu, playerid);
TogglePlayerControllable(playerid, 1);
}
case 2:
{
GivePlayerWeapon(playerid, 17, 2); //Rauchgranate
GivePlayerMoney(playerid, -200);
HideMenuForPlayer(mpmenu, playerid);
TogglePlayerControllable(playerid, 1);
}
case 3:
{
GivePlayerWeapon(playerid, 16, 1); //HE-Granate
GivePlayerMoney(playerid, -700);
HideMenuForPlayer(mpmenu, playerid);
TogglePlayerControllable(playerid, 1);
}
case 4:
{
GivePlayerWeapon(playerid, 44, 1); //Nachtsichtgerät
GivePlayerMoney(playerid, -1250);
HideMenuForPlayer(mpmenu, playerid);
TogglePlayerControllable(playerid, 1);
}
case 5:
{
HideMenuForPlayer(pistolmenu, playerid); //Pistolen/Sonstiges Menu schließen
TogglePlayerControllable(playerid, 1);
}
}
}
return 1;
}
-
...
Wieder was vergessen...
//OnPlayerDeath:
new wid, muni, i, wids[]= { 331,333,334,335,336,337,338,339,341,321,322,323,324,325,326,342,343,344,0,0,0,346,347,348,349,350,351,352,353,355,356,372,357,358,359,360,361,362,363,364,365,366,367,368,369,371 }, Float:x, Float:y, Float:z, g;
GetPlayerPos(playerid,x,y,z);
for(; i<14; i++) {
GetPlayerWeaponData(playerid,i,wid,muni);
if(wid!=0) {
for(; g<100; g++) {
if(wpickv[g]==0) {
wpickv[g]++;
wpick[g]=CreatePickup(wids[wid-1],2,x,y,z);
wpickmuni[g]=muni;
wpickwid[g]=wid;
g=100;
x++; }}}}
//OnPlayerPickupPickup:
for(new i=0; i<100; i++) {
if(pickupid==wpick[i] && wpickv[i]==1) {
DestoryPickup(wpick[i]);
GivePlayerWeapon(playerid,wpickwid[i],wpickmuni[i]);
wpickv[i]--;
i=100; }}
//ganz nach oben:
new wpick[100], wpickv[100], wpickwid[100], wpickmuni[100]; -
Ach... kein Wunder^^
Hab auch was vergessen... die Pickups erscheinen bei 0,0,0
//OnPlayerDeath:
new wid, muni, i, wids[]= { 331,333,334,335,336,337,338,339,341,321,322,323,324,325,326,342,343,344,0,0,0,346,347,348,349,350,351,352,353,355,356,372,357,358,359,360,361,362,363,364,365,366,367,368,369,371 }, Float:x, Float:y, Float:z, g;
GetPlayerPos(playerid,x,y,z);
for(; i<14; i++) {
GetPlayerWeaponData(playerid,i,wid,muni);
if(wid!=0) {
for(; g<100; g++) {
if(wpickv[g]==0) {
wpick[g]=CreatePickup(wids[wid-1],2,x,y,z);
wpickmuni[g]=muni;
wpickwid[g]=wid;
g=100;
x++; }}}}
//OnPlayerPickupPickup:
for(new i=0; i<100; i++) {
if(pickupid==wpick[i] && wpickv[i]==1) {
DestoryPickup(wpick[i]);
GivePlayerWeapon(playerid,wpickwid[i],wpickmuni[i]);
wpickv[i]=0;
i=100; }}
//ganz nach oben:
new wpick[100], wpickv[100], wpickwid[100], wpickmuni[100]; -
In Zeile 17 oder?
Hab das playerid vergessen...
GivePlayerWeapon(playerid,wpickwid[i],wpickmuni[i]); -
//ganz nach oben:
new oldskin[MAX_PLAYERS];
//dein ding halt^^:
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == lspddress)
{
if(gTeam[playerid] == TEAM_COPS)
{
if(pdienst[playerid]==0) {
oldskin[playerid] = GetPlayerSkin(playerid);
SetPlayerColor(playerid, COPCOLOR);
SetPlayerSkin(playerid,266);
GivePlayerWeapon(playerid, 24, 999);
pdienst[playerid] = 1;
}
else if(pdienst[playerid] == 1)
{
SetPlayerSkin(playerid,oldskin[playerid]);
ResetPlayerWeapons(playerid);
pdienst[playerid] = 0;
}}
}
if(pickupid == adacdress)
{
if(gTeam[playerid] == TEAM_ADAC)
{
if(adienst[playerid]==0) {
oldskin[playerid] = GetPlayerSkin(playerid);
SetPlayerColor(playerid, YELLOW);
SetPlayerSkin(playerid,50);
adienst[playerid] = 1;
}
else if(adienst[playerid] == 1)
{
SetPlayerSkin(playerid,oldskin[playerid]);
adienst[playerid] = 0;
}}
}
if(pickupid == medicdress)
{
if(gTeam[playerid] == TEAM_MEDIC)
{
if(mdienst[playerid]==0) {
oldskin[playerid] = GetPlayerSkin(playerid);
SetPlayerColor(playerid, GREEN);
SetPlayerSkin(playerid,274);
mdienst[playerid] = 1;
}
else if(mdienst[playerid] == 1)
{
SetPlayerSkin(playerid,oldskin[playerid]);
mdienst[playerid] = 0;
}}
}
return 1;
} -
So einen Thread gabs auch schon vor ein wenig längerer Zeit...
>Frage< [Ich bin zu blöd meinem Thema einen aussagekräftigen Titel zu geben] -
Ich nehm Variante 4.
if(strcmp(cmdtext,"/teleports",true)==0) {
if(pi[playerid][admin]>=1) {
SendClientMessage(playerid,gelb,"|________Teleports________|");
SendClientMessage(playerid,blau,"bar, aldi, 4dragons, lvf, area51, sfpd, spawn, sff, adminbase, lsf");
SendClientMessage(playerid,blau,"lspd, startower, RSAbase, SCbase, taxibase, gangpehbase, BKAbase"); }
else { SendClientMessage(playerid,rot,"Dein Admin-Level ist nicht hoch genug"); }
return 1;
}
PS: @ 8D.: Dir ist es also egal, ob du sitrbst, Hauptsache jemand arbeitet am Script weiter? -
strget ist eine Funktion zum Auslesen einzelner Parameter
strget([text],[nummer des leerzeichens])
Also (Mal in unsere Sprache übersetzt): ->
wenn([eingegebener text von dem 0. bis zum 1. leerzeichen] = ["/makeleader"]) = 0 -> Dann passiert... -
Ok, danke, habs begriffen
-
Und was ist dann mit der 7?
Also was wird dann mit dem Restwert gemacht?
Oder an nem Beispiel: 25-5 % 7
Was wäre das dann? Kann mir darutner jetzt nix vorstellen... (unter der Rechenoperation) -
DMA, ich hab mal ne Frage... was macht diese "% 7"?
new MyTag = ((floatround(ParamJahr * 365.25) - 620628) % 7), MyResult[12];
-
8D: Mal an "strcmp" gedacht?
if(strcmp(WochenTag...PS: Und hab meins jetzt doch noch zum laufen bekommen... (habs bis zum Jahr 2024 getestet)
Hatte nen Denkfehler... Neue Funktion:
stock Wochentag(t,m,j) {//Hier Tag, Monat, Jahr eingeben
new wt=((j-2009)*365)+t, x;
for(new i=2008; i<=j; i+=4) {
if(i>=2012) {
if(i>=2016) { wt++; }
if(m>2) { wt+=2; }}
if(i==j) { x++; }
else { x+=2; }}
switch(m) {
case 2: { wt+=31; }
case 3: { wt+=61-x; }
case 4: { wt+=92-x; }
case 5: { wt+=122-x; }
case 6: { wt+=153-x; }
case 7: { wt+=183-x; }
case 8: { wt+=214-x; }
case 9: { wt+=244-x; }
case 10: { wt+=275-x; }
case 11: { wt+=305-x; }
case 12: { wt+=336-x; }
}
new s[20];
while(wt>7) { wt-=7; }
wt--;
switch(wt) {
case 0: s="Donnerstag";
case 1: s="Freitag";
case 2: s="Samstag";
case 3: s="Sonntag";
case 4: s="Montag";
case 5: s="Dienstag";
case 6: s="Mittwoch";
}
return s;
}
Man trägt halt nen Datum ein (z.B. 1,1,2009) und er gibt den Wochentag aus (es darf aber nicht unter den 1,1,2009 fallen), aber ich habe da den 1,1,2010 eingeegeben und dort haben wir einen Freitag, aufn Kalender geschaut -> Stimmt -
Ok, Zeile 8 war doch ien Fehler^^
Und ich habs jetzt auch mal getestet... aus irgendeinem Grund gibt der nur Scheiße raus (auch Tage, die dort nciht stehen)
Ich werde nochmal nach dem Fehler suchen
Bei mir gibt er "rgaga" aus -
1) In Zeile 8 ist kein Fehler^^
2) Du hast das Datum falsch eingefügt
if (strcmp("/Zeit", cmdtext, true) == 0)
{
getdate(Jahr, Monat, Tag);
format(String, sizeof(String), " Heute ist %s", Wochentag(Tag, Monat, Jahr));
SendClientMessage(playerid, Rot, String);
return 1;
}